OceanBase 中,redo 日志持久化保存到哪里?
A. SSTable 文件
B. 日志流 LS 的 Clog 日志
C. MemTable 内存
D. OCP 数据库
正确答案是 B. 日志流 LS 的 Clog 日志 。
OceanBase 的 Redo 日志(即重做日志)是用于宕机恢复和多副本数据一致性的关键组件,它遵循 WAL(Write-Ahead Logging)原则,在事务提交前必须被持久化。它的持久化位置是日志流(Log Stream, LS)的 Clog(Commit Log)文件 。
其他选项错误的原因如下:
- A. SSTable 文件 :这是 OceanBase 存储引擎中持久化在磁盘上的静态基线数据 ,是 MemTable 数据转储后形成的只读文件,用于存储最终的数据内容,而不是日志。
- C. MemTable 内存 :这是存储在内存中的动态增量数据 ,用于支持高效的读写操作。Redo 日志记录的正是对 MemTable 的修改操作,但日志本身是为了持久化这些修改而存在的,并不保存在内存里。
- D. OCP 数据库 :OCP(OceanBase Cloud Platform)是 OceanBase 的管理平台 ,用于集群的部署、监控和运维,它本身并不存储数据库的核心 Redo 日志。