tidb 有没有像oracle 一样的 redo undo啊

不习了tidb 基础课程,似乎没看到 tidb redo ,undo 相关的东西,很疑惑,tidb 有redo和undo 吗

重做和回滚?应该有吧,只是实现方式不一样吧。

数据迁移的时候是有redo log的。

2 个赞

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 天后被自动关闭。不再允许新回复。