请问tidb raft log和tidb的wal日志是一回事吗?再就是ticdc读取的是raft日志吗?

wal是保证事务持久性的一个重要手段,相当于oracle/mysql中的redo log。事务的写操作一定是先持久化到wal,再异步将脏数据刷到磁盘上的。如果数据库异常宕机,则可利用wal恢复数据。

raft log是raft一致性协议中进行数据复制的日志,也是保证CAP理论中一致性的手段。当事务在leader副本上发起commit时,事务的写操作会被封装成raft log entry,复制到多数派节点并进行append和apply后,commit操作才能成功返回。

ticdc是直接从tikv上读取的kv change log,不是raft log

2 个赞