ob写数据在落盘日志还是先写日志在落盘数据
先写日志再落盘数据
1 个赞
- 先写日志:当数据需要被写入时,系统会先将变更操作记录到预写日志(WAL)中。这一步是为了确保即使在数据写入过程中发生故障,也可以通过日志恢复数据。
- 日志顺序写:日志是顺序写入的,这意味着日志文件中的记录是按顺序添加的。顺序写入可以提高写入性能,并且减少磁盘碎片。
- 通过 Paxos 日志流同步到其它副本:在日志成功写入之后,这些日志记录会通过 Paxos 协议同步到其他副本。Paxos 协议是一种分布式一致性算法,能够确保在多个副本之间达成一致的状态。通过 Paxos 协议,日志会被复制到其他副本,从而保证数据的高可用性和可靠性。
- 再落盘数据:在日志成功同步到其他副本之后,数据才会被真正写入到存储介质中。这样可以确保即使在数据写入过程中出现故障,也可以通过日志恢复数据。
2 个赞
传统的数据库基本也都是先落事务日志,再数据落盘
1 个赞
先写日志,数据在转储前都在内存里面,要是服务器出问题了还能通过日志恢复数据
1 个赞