@论坛小助手 oceanbase 有 redo log 吗?
根据文档库中的信息:
-
Clog 的作用
OceanBase 数据库的 Clog(Commit Log)相当于 MySQL 的 Redo Log。Clog 记录了事务对数据库的修改操作,用于保证事务的原子性和持久性,并在宕机恢复时回放这些日志以重建数据的最新状态。具体参考以下内容:- 文档片段 2 和片段 5 明确指出,OceanBase 的 Redo 日志文件称为 Clog,Clog 全称 Commit Log,用于记录 Redo 日志的内容。
- 片段 8 进一步说明,Redo 日志是 OceanBase 数据库用于宕机恢复以及维护多副本数据一致性的关键组件。
-
OceanBase 是否有 Redo Log
是的,OceanBase 数据库确实存在 Redo Log。Clog 就是 OceanBase 的 Redo Log 实现形式。它记录了数据库的所有修改历史,遵循 Write-Ahead Logging(WAL)原则,在事务提交前将 Redo 日志持久化到磁盘。 -
与 MySQL 的对比
- 在 MySQL 中,Redo Log 是 InnoDB 存储引擎内部的日志,用于实现崩溃恢复;Binlog 是 MySQL 实例级别的逻辑日志,用于主从复制和增量备份。
- 在 OceanBase 中,Clog 相当于 MySQL 的 Redo Log,而 OceanBase Binlog 服务生成的 Binlog 则类似于 MySQL 的 Binlog,用于支持增量数据订阅和同步。
总结:
- Clog 是 OceanBase 的 Redo Log,负责事务的持久化和宕机恢复。
- OceanBase 数据库通过 Clog 实现了类似 MySQL Redo Log 的功能,同时通过 OceanBase Binlog 服务提供了类似 MySQL Binlog 的增量数据订阅能力。
依据的文档名称及段落标题:
- [Redo 日志 → 日志文件类型](文档片段 2)
- [Redo 日志 → 概述](文档片段 8)
- [OceanBase Binlog 服务](文档片段 1)
检索到的文档如下:
介于两者之间吧
redo log
clog相当于redo log,mysql的binlog比较特殊
MYSQL主备同步通过BINLOG实现
OB 主备租户同步可以通过CLOG实现 有点像ORACLE的DG
根据文档库中的信息:
-
Clog 的定义与作用
Clog(Commit Log)是 OceanBase 数据库的 Redo 日志,记录了数据库的所有修改操作。它用于保证事务的原子性和持久性,并在宕机恢复时通过回放日志重建数据的最新状态。这一点明确说明了 Clog 是已落盘持久化的 Redo Log,而不是 Binlog。- 文档片段 5 中提到:“Redo 日志是 OceanBase 数据库用于宕机恢复以及维护多副本数据一致性的关键组件。” 这表明 Clog 的主要功能是类似于 MySQL 的 Redo Log,而非 Binlog。
- 文档片段 2 提到:“日志服务是 OceanBase 数据库的基础组件,承担着支持事务的原子性、持久性、隔离性以及数据库高可用等核心功能。” 这进一步确认了 Clog 的角色是持久化事务数据,确保数据一致性。
-
Clog 与 Binlog 的区别
在 OceanBase 数据库中,Clog 是物理日志,记录的是具体的写操作结果;而 OceanBase Binlog 服务生成的 Binlog 是逻辑日志,类似于 MySQL 的 Binlog,主要用于增量数据订阅和同步。- 文档片段 6 和片段 8 明确指出,OceanBase Binlog 服务将事务日志转换为 MySQL Binlog 格式,用于实时数据订阅等场景。这表明 OceanBase 的 Binlog 才是真正对应于 MySQL Binlog 的部分,而 Clog 则是 Redo Log。
-
结论
Clog 是已落盘持久化的 Redo Log,而不是 Binlog。它的主要功能是保证事务的持久性和数据的一致性,而 OceanBase Binlog 服务生成的 Binlog 才是用于增量数据订阅和同步的部分。
依据的文档名称及段落标题:
- [Redo 日志 → 概述](文档片段 5)
- [OceanBase Binlog 服务](文档片段 6)
- [Redo 日志 → 日志文件类型](文档片段 2)
更多信息请查看:
clog吗
oceanbase的clog就相当于mysql redo log哈
binlog就是个arch
新人学习一下大佬问题
共勉!