RocksDB Write Prepared Policy

  1. 云栖社区>
  2. 博客>
  3. 正文

RocksDB Write Prepared Policy

zysql 2018-08-22 16:25:39 浏览1501
展开阅读全文

title: MySQL · RocksDB · Write Prepared Policy

author: 张远

背景

早期RocksDB TransactionDB将事务的更新操作都缓存在WriteBatch中,事务提交时才写WAL和memtable。RocksDB支持二阶段提交(2PC)后,在prepare阶段写WAL, WriteBatch写memtable依然在commit阶段。这种方式的优点是,事务隔离性比较好,当前事务看不见其它事务的未提交数据, 事务的可见性仅通过sequence大小即可判断,参考这里 , 另外事务回滚也比较简单,只需要释放WriteBatch即可。

但同时也存在以下缺点

  • 事务提交操作比较重,延迟较大
  • 事务都缓存在WriteBatch中,对大事务不友好
  • 无法支持read uncommitted隔离级别

Write

网友评论

登录后评论
0/500
评论
zysql
+ 关注