知识卡片

Intent轻量化提交

普通读书笔记卡 · 1724.b

内容

CockroachDB 写入先留下 intent,提交只需把 transaction record 改成 COMMITTED,后续异步清理 intent。发散:把提交成本从全量清理变成一个线性一致 key 写入,是延迟优化的典型手法。

参考来源

- 位置:《分布式系统与一致性》第9章《分布式数据库CockroachDB》事务提交流程一节(源文件:_epub-src/OEBPS/Text/chapter13.xhtml) - 结论依据:原文明确写入使用"写入意图(write intent)"(简称intent)暂存新值,提交时"CockroachDB将transaction record的状态改为COMMITTED,之后就可以给客户端返回事务完成",随后才"异步清除intent";并总结"CockroachDB事务的提交阶段只是一个轻量级的key的写入操作,提交后的intent清除是异步处理的"。 - 原始内容:如果是提交事务,则CockroachDB将transaction record的状态改为COMMITTED,之后就可以给客户端返回事务完成……异步清除intent……与传统的两阶段提交不同的是,CockroachDB事务的提交阶段只是一个轻量级的key的写入操作,提交后的intent清除是异步处理的。