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

tikv底层分2个rocksdb,其中一个存储raftlog,一个存储数据。这里的raftlog 是tikv写数据的时候,首先通过raftlog保持3个tikv之间的数据一致,是raft协议记录的log,但是这个raftlog最终落到rocksdb也就是在rocksdb的存储一组kv,就是普普通通的一组kv。

然后说下wal rocksdb写数据时,先写memtable,memtable的意思是内存中的表。如果只写内存就返回了,那数据相当于没有持久化,所以要写一个wal,直接追加日志的形式写文件,相当于顺序写文件,磁盘顺序写文件速度是比较快的。

1 个赞