今天看啥  ›  专栏  ›  架构师之路

1分钟了解,预写日志WAL的核心思路...

架构师之路  · 公众号  · 架构  · 2024-07-01 18:35
上一篇《刷盘,还是不刷盘,是一个问题》中我们遇到了哪些问题?1. 已提交事务+未提交事务的ACID特性怎么保证?画外音:上一篇中遇到的问题,主要是原子性与持久性。2. 数据库崩溃,怎么实施故障恢复?3. 每次都刷盘随机写,性能低,怎么提高数据库性能?画外音:正常情况下,不需要每个事务提交,都进行刷盘。要提升随机写性能,最容易想到的,就是利用高性能的顺序写日志,记录事务中的一些信息,来实现已提交事务的数据“要刷盘”,未提交事务的数据“不刷盘”,以及实现故障恢复。这个顺序写的日志,记录什么内容呢?事务中,对数据库的写操作。如何来标识写操作的时序呢?每条日志记录会有一个递增的日志序列号(log sequence number,LSN),唯一标识一条日志记录。还有一种特殊的日志记录,叫检查点(checkpoint)。检查点记录 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照