openGauss MOT检查点概念
MOT检查点概念
在openGauss中,检查点是事务序列中一个点的快照,在该点上,可以保证堆和索引数据文件已经同步了检查点之前写入的所有信息。
在执行检查点时,所有脏数据页都会刷新到磁盘,并将一个特殊的检查点记录写入日志文件。
数据直接存储在内存中。MOT没有像openGauss那样存储数据,因此不存在脏页的概念。
为此,我们研究并实现了CALC算法,该算法在耶鲁大学发布的Low-Overhead Asynchronous Checkpointing in Main-Memory Database Systems, SIGMOD 2016中得到了描述。
主内存数据库系统中的低开销异步检查点[对比:磁盘与MOT]。
CALC检查点算法:内存和计算开销低
检查点算法具有以下优点:
- 降低内存使用量-每条记录在任何时候最多存储两个副本。在记录处于活动且稳定版本相同或没有记录任何检查点时,仅存储记录的一个物理副本,可以最大限度地减少内存使用。
- 低开销:CALC的开销比其他异步检查点算法小。
- 使用虚拟一致性点:CALC不需要静默数据库以实现物理一致性点。
检查点激活
MOT检查点被集成到openGauss的封装的检查点机制中。检查点流程可以通过执行CHECKPOINT;命令手动触发,也可以根据封装的检查点触发设置(时间/大小)自动触发。
检查点配置在mot.conf文件中执行,请参见检查点(MOT)部分。
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
· 全程使用 AI 从 0 到 1 写了个小工具