不习了tidb 基础课程,似乎没看到 tidb redo ,undo 相关的东西,很疑惑,tidb 有redo和undo 吗
tidb是通过wal文件和mvcc机制来实现类似回滚和前滚
https://docs.pingcap.com/zh/tidb/stable/sql-statement-flashback-cluster#flashback-cluster
有flashback,如果gc时间没过,可以直接闪回到gc内的任意时间点。
TIDB底层引擎使用的RocksDB引擎,这个引擎的有WAL日志【与Oracle的类似】,没有UNDO
听你这意思,就是tidb 没有redo 与 undo ?
TiDB 是通过 TiKV 的 MVCC 和日志系统来实现事务的原子性、一致性、隔离性和持久性。
1 个赞
TiDB 中没有直接的 Redo Log,但其功能通过以下方式实现:
Raft 日志:
TiKV 使用 Raft 共识算法来保证数据的可靠性和一致性。
每个 TiKV 节点会将数据变更记录到 Raft Log 中,这些日志会复制到多个副本(通常为 3 个)。
如果某个 TiKV 节点崩溃,可以通过 Raft Log 在其他副本上恢复数据。
write-ahead Logging (WAL):
TiKV 在将数据写入存储引擎(RocksDB)之前,会先将变更记录到 WAL 中。
WAL 的作用类似于 Redo Log,确保数据变更的持久性。
2 个赞
听了你这描述,感觉我懂了,谢谢
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。