本文主要是介绍【0246】深入分析PG内核Write-Ahead Log的实现机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1. 前言
- 2. Write-Ahead Log
- 2.1 WAL数据结构
- 2.1.1 逻辑结构(Logical Structure)
- 2.1.2 物理结构(Physical Structure)
- 3. 参考文献
1. 前言
Write-Ahead Log简写为WAL,即预写式日志,PG数据库内核引入WAL的原因基于以下几点:
-
(1)如果发生停电、操作系统错误或数据库服务器崩溃等故障,RAM中的所有内容都将丢失;只有写入磁盘的数据才会被保留。要在故障后启动服务器,必须恢复数据一致性。如果磁盘本身已损坏,则必须通过备份恢复来解决相同的问题。
-
(2)理论上,您可以始终保持磁盘上的数据一致性。但在实践中,这意味着服务器必须不断地将随机页面写入磁盘(尽管顺序写入更便宜),而且这种写入的顺序必须保证在任何特定时刻都不会损害一致性(这很难实现&#
这篇关于【0246】深入分析PG内核Write-Ahead Log的实现机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!