有人说 OceanBase 事务日志是基于 commit log 模式的,可以介绍一下吗?

A:OceanBase 的 commit log 里面是 redo log,传统数据库往往是 redo undo。这是因为,传统数据库每个数据块要实时刷盘,OceanBase LSM-Tree 批量写磁盘只需要 redo,不需要额外写 undo。Undo log 的作用就是实时刷盘以后能够将数据块回退到上一个版本。

虽然OB 没有undo log,但是OB是有多版本的。