MVCC 的实现:活跃事务列表和时间戳
你是否有疑问,为什么有的系统用一个活跃事务列表(e.g., PG 的 Snapshot,MySQL 的 ReadView)来实现 MVCC,有的系统(e.g., Spanner,TiDB,CockroachDB)用时间戳(Timestamp)来实现 MVCC?这两种技术的优缺点是什么样的,各自适合什么样的场景?本...
你是否有疑问,为什么有的系统用一个活跃事务列表(e.g., PG 的 Snapshot,MySQL 的 ReadView)来实现 MVCC,有的系统(e.g., Spanner,TiDB,CockroachDB)用时间戳(Timestamp)来实现 MVCC?这两种技术的优缺点是什么样的,各自适合什么样的场景?本...
本文的主要内容: 介绍 LevelDB 的写入流程。 介绍 RocksDB 对 LevelDB 写入流程的部分优化(下一篇文章再补充其他优化)。
我宣布,Apache Kudu 项目,死了!
本文的主要内容: 介绍 LSM-tree 在 delete 上面临的一些性能问题。 介绍 RocksDB 和 Lethe 提供的一些优化方案。
改造 RocksDB 使其支持存算分离,这类工作之前就有团队做过,e.g., RockSet 的 RocksDB-cloud。眼看云时代的存储计算分离是大势所趋(从 share nothing 转向 share storage),RocksDB 官方再也按捺不住自己的大刀了,亲自下场,先搞了一个 RocksDB ...