oceanbase clog和slog的区别

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】oceanbase 安装后有2个目录,clog和slog,有什么区别?
【问题描述】
【复现路径】问题出现前后相关操作

OceanBase 数据库的 Clog 日志类似于传统数据库的 Redo 日志,因此在分布式场景下需要多副本同步。而 Slog 不一样,Slog 可以理解为服务器的本地日志,是一台服务器上一些全局信息变更操作(如新增租户、分区创建和新增 SSTable 等)的 redo log。

一个服务器只拥有一个 Slog 写入流,也就是说同一台服务器上具有不同资源池的不同租户并不具有单独的 Slog 文件,所有租户的 Slog 写入请求最后都会汇入服务器所拥有的 Slog 文件中。

clog(Commit Log)

全称:Commit Log(提交日志)

主要作用:

持久化事务日志:记录所有事务提交的 redo log,确保在宕机后能通过 redo 恢复到最新状态。

用于事务恢复:OceanBase 启动时,通过 clog 重放已提交事务,恢复到一致状态。

用于同步:集群节点间的日志同步、Leader/Follower 复制也依赖 clog。

slog(System Log)

全称:System Log(系统日志)

主要作用:

持久化系统元信息,比如:

租户信息

租户表空间、表、分区元数据

Leader 信息

Zone/Server 的状态信息

用于元数据恢复:如果系统出现崩溃,slog 可以快速恢复系统服务元信息,确保集群能正常启动。

1 个赞