什么是预写日志(Write Ahead Log,WAL)?

已解决

什么是预写日志(Write Ahead Log,WAL)?

展开
收起
云上静思 2022-09-08 16:53:08 466 分享 版权
1 条回答
写回答
取消 提交回答
  • 推荐回答

    数据库早期都是为了传统磁盘而设计的,而传统磁盘的顺序访问性能远高于随机读写。用户的更新一般都是比较随机地更新一些页面,如果每更新一个页面提交就要把相应的页面刷到磁盘,则会引发大量的随机I/O,也无法保证页内并发事务的原子性,例如多个事务同时更新页面时,一个事务提交后不能立即刷下页面,因为可能包含其他未提交事务。因此在更新页面时,只会在内存缓存中原地更新页面内容,同时记录事务的操作日志,保证在事务提交时操作日志先于页面内容刷到磁盘,这种技术被称为预写日志(Write Ahead Log,WAL)

    以上内容摘自《云原生数据库原理与实践》,这本书可以在电子工业出版社天猫店购买。

    2022-09-08 18:00:48
    赞同 展开评论

数据库领域前沿技术分享与交流

收录在圈子:
+ 订阅
让用户数据永远在线,让数据无缝的自由流动
还有其他疑问?
咨询AI助理