【RocksDB 内核机制】事务与 OptimisticTransactionDB:WritePrepared 边界
对照 WriteBatch 原子性与 Snapshot MVCC,拆解 TransactionDB 悲观锁、OptimisticTransactionDB 提交时冲突检测、WritePrepared 的 prepare/commit 与 CommitCache 边界;TiKV 分布式事务仅作 B 级前瞻,不替代 Percolator 正文。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
共 4 篇文章 · 返回首页
对照 WriteBatch 原子性与 Snapshot MVCC,拆解 TransactionDB 悲观锁、OptimisticTransactionDB 提交时冲突检测、WritePrepared 的 prepare/commit 与 CommitCache 边界;TiKV 分布式事务仅作 B 级前瞻,不替代 Percolator 正文。
拆解 PostgreSQL 事务系统的三层结构:事务状态机 TransState 的状态转换路径、子事务(savepoint)的 TransactionState 栈与 ResourceOwner 嵌套管理、两阶段提交(2PC)的 WAL 记录与 pg_twophase 状态文件格式、事务 ID 分配的 xidStopLimit/xidWrapLimit 防线。附带 2PC 泄露的排查 SQL 和子事务栈过深的故障案例。
支付与账务系统里,"这笔操作能不能重放一遍"几乎是每一次故障复盘都会问到的问题。本文从网络重试的本质谈起,讲清楚幂等(idempotency)的三层设计、Idempotency-Key 的工程细节、订单状态机的落库方式,并横向对比 2PC、TCC、SAGA、可靠消息四种分布式事务方案,配合 Outbox Pattern、CDC、补偿策略与真实事故案例,给出一份可以直接落地的检查清单。
数据库事务的四大特性 ACID 中,隔离性(Isolation)是最复杂的一项。原子性靠 WAL 保证(参见 [WAL 与崩溃恢复](../27-wal-aries/wal-aries.html)),持久性靠 fsync 落盘,一致性是应用层语义——唯独隔离性,需要存储引擎在并发控制层面做出大量取舍。SQL 标准定义了…