- 分享人:时昕
- 关键词:事务、ACID、分布式事务、2PC、共识算法
- Keywords: Transaction, ACID, Distributed Transaction, 2PC, Consensus Algorithm
- 分享PPT: 2021-10-29-数据库事务
本次分享对比单机场景和分布式场景下事务的异同,对事务ACID基本的实现方法和优化方向进行分析。
-
原子性与持久性
-
使用WAL日志,在宕机恢复时重做已提交事务的修改并撤销未提交事务所做的修改
ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging. pdf
-
-
对并发控制协议的优化
-
检测写写冲突 Snapshot Isolation:
A Critique of ANSI SQL Isolation Levels. pdf
-
检测DSG中是否存在环 Serializable Snapshot Isolation:
Serializable Isolation for Snapshot Databases. pdf
-
检测读写冲突 Write Snapshot Isolation:
A critique of snapshot isolation. pdf
-
悲观并发控制:2PL提前释放锁
Releasing Locks As Early As You Can: Reducing Contention of Hotspots by Violating Two-Phase Locking. pdf
-
协议组合使用:不同类型负载使用不同的并发控制协议
Adaptive Optimistic Concurrency Control for Heterogeneous Workloads. pdf
-
从协议带来的副作用入手:优化MVCC垃圾回收机制
Scalable Garbage Collection for In-Memory MVCC Systems. pdf
-
-
采用新硬件
-
时戳问题
-
提交协议
基本思路:使用两阶段提交协议(2PC),但网络通信开销大,事务延迟高
-
优化数据分布
-
将经常访问的数据集中到一台server,减少分布式事务的数量
Clay: Fine-Grained Adaptive Partitioning for General Database Schemas. pdf
-
-
确定性事务
-
从共识算法入手
分布式场景下,各节点通过多副本保证可用性。而分布式数据库中,副本之前通常使用Paxos/Raft算法保证线性一致。
-
数据库的正确性由并发控制算法保证,因此Raft不需要保证Raft Log的线性Commit和Apply。
PolarFS: an ultra-low latency and failure resilient distributed file system for shared storage cloud database. pdf
-
-
基于新硬件
-
RDMA
Chiller: Contention-centric Transaction Execution and Data Partitioning for Modern Networks. pdf
-
无