暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

QianBase TP WAL文件管理机制概述

243

预写日志(Write Ahead Log,WAL)是QianBase TP数据库中重要部分,它活跃在QianBase TP数据库各个功能模块,绝大多数数据库行为都会被记录在WAL日志中。当数据库中数据发生变更时,变更后的内容会被写入到wal buffer中,commit发生时,wal buffer中的数据被刷新到磁盘上WAL文件中。QianBase TP数据库中默认WAL文件大小为16M,当数据库中数据不断发生变更时,WAL文件会不断切换生成新文件。针对不断新生成的wal日志,QianBase TP数据库也是不停生成新WAL文件进行存储么?针对该问题,本文将介绍QianBase TP数据库WAL文件管理机制。


QianBase TP数据库中对WAL文件管理有2种机制,第1种是创建新WAL文件机制;第2种是删除与重用WAL文件机制。


01

创建新WAL文件机制

QianBase TP数据库未到checkpoint时间节点,由于当前数据库中数据发生变更导致需要更多WAL文件存储wal日志,则会在WAL文件总大小小于设置的max_wal_size时创建新文件,其原理如下所示:

当WAL文件WAL_7被填满后,则数据库创建新WAL文件WAL_8来存储数据库中新生成的wal日志。


针对创建新WAL文件机制,举例如下:


数据库中创建表并插入一些数据后,WAL文件个数为6个,如下图:



继续不断运行业务,两个新的WAL文件会被创建,WAL文件增加到8个,如下图所示:



02

删除与重用WAL文件机制

QianBase TP数据库执行checkpoint操作时,数据库会根据前一个checkpoint操作时消耗WAL文件数量估计并准备下一个checkpoint操作时所需的WAL Segment文件数量,checkpoint操作启动时,在保证总WAL文件大小小于设定的max_wal_size情况下,数据库会删除与重用WAL文件。其原理如下图所示:

由上图可知数据库执行checkpoint操作时,数据库对WAL文件管理有以下几步:


1)数据库执行checkpoint时,根据上一次checkpoint操作估计还需要一个WAL文件来存储wal日志

2)数据库执行checkpoint后,redo point恢复点位置在WAL_3文件,说明WAL_3之前的WAL_1和WAL_2两个WAL文件可以被删除或者重用

3)数据库删除WAL_2文件,将WAL_1文件改名为WAL_7继续用于存储新的wal日志


针对删除与重用WAL文件机制,举例如下:


当前数据库中编号最小的WAL文件如下图所示:



当前数据库正在写入的WAL文件如下图所示:



不断在数据库上执行业务,使得WAL文件个数不断增长,并在数据库中手动执行checkpoint操作。



执行完checkpoint操作后,数据库中当前最新WAL文件为00000001000000010000008C



但是检查数据库中WAL文件名称,发现WAL文件目录中已经存在编号大于00000001000000010000008C的WAL文件,并且这些WAL文件的创建时间小于系统当前时间,例如:

00000001000000020000000D 、000000010000000200000001、00000001000000020000000C



这是因为在数据库中执行checkpoint操作时,数据库会估计并准备下一个checkpoint操作所需WAL文件数量,数据库会删除与重用WAL文件,重用的文件会被改名然后等待使用。


综上可知,在QianBase TP数据库中,WAL文件数量会根据数据库的活动自适应变化,随着wal日志不断写入,WAL文件的估计数量和总大小会不断增加。如果WAL文件总大小超过设置的max_wal_size大小,则数据库会启动一个checkpoint操作,创建新的重做点redo point,将WAL文件删除与重用,始终仅保留数据库恢复所需的WAL文件而不会无限增长。

党的二十大报告指出,教育、科技、人才是全面建设社会主义现代化国家的基础性、战略性支撑。必须坚持科技是第一生产力、人才是第一资源、创新是第一动力。加快建设网络强国和数字中国。贵州易鲸捷信息技术有限公司连日来深入学习党的二十大精神,将其贯彻至具体生产工作中,凝心聚力攻克科技技术难关,为我党实现第二个百年奋斗目标奋勇前进。


END



往期精彩回顾

易鲸捷分布式数据库一体机惊艳2023数博会

易鲸捷员工回归母校,讲述数据库人生

热烈祝贺易鲸捷乔迁之喜!

易鲸捷简介

易鲸捷公司成立于2015年,专注于新一代融合型分布式数据库核心技术研发。公司核心团队源自天腾公司,曾创造过NonStopSQL等全球领先的数据库产品,核心技术完全自主可控。经过多年技术沉淀,易鲸捷已形成自主可控、国产可信、安全高效的三条完整分布式数据库产品线:QianBase xTP/QianBase TP/QianBase MPP,可面向不同行业应用提供完整的一站式解决方案,在金融、运营商、智能制造、5G等重点行业获得广泛应用。

网址www.esgyn.cn


贵州易鲸捷信息技术有限公司

地址:贵阳市高新区长岭南路160号高科1号C座24楼

北京易鲸捷信息技术有限公司

地址:北京市朝阳区大屯街道北苑路万科时代中心奥林A座10层

上海易鲸捷信息技术有限公司

地址:上海市浦东新区金科路2889弄1号长泰广场A座6层03单元

北京010-84983409

上海021-50822117

邮箱info@esgyn.cn

网址www.esgyn.cn


文章转载自易鲸捷大数据库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论