0
点赞
收藏
分享

微信扫一扫

Gbase 8s检查点简介

        Gbase 8s为了改善事务处理性能,使用buffer pool 缓存事务所访问的数据,在事务逻辑上修改了记录,数据没有真正在事务commit时更新到磁盘上。为了保证数据库在异常情况下数据的完整性、准确性,数据库采用了逻辑日志和物理日志机制。在正常运行模式下,为了数据库能及时从异常中恢复,数据库需要定期将buffer pool的数据同步到磁盘上,保证数据的物理有效性。

        数据库周期性地将buffer pool 的脏数据(修改的数据)刷新到磁盘上,达到磁盘、内存数据一致性的时间点被称为检查点。当数据库从异常故障中恢复时就可以从最新的一次checkpoint点开始恢复。Checkpoint发生时,只需要将内存中修改的数据同步到磁盘,而不需要将所有的信息写回到磁盘。同时,写回磁盘的数据依然在内存中,从LRU的M队列移到LRU的F队列中。

        当系统触发非阻塞检查点操作时,首先阻塞事务的处理,记录系统恢复信息,清仓逻辑日志缓冲区中的内容,记录检查点信息;之后,系统中的事务操作不再被阻塞,恢复继续运行,系统将内存中所有被修改的数据清仓到磁盘上;最后,将检查点的信息记载到系统保留页中,这样就完成了一个非阻塞检查点操作。

举报

相关推荐

0 条评论