QianBase TP WAL文件管理机制概述


勤恳演变过客
勤恳演变过客 2023-10-26 11:20:15 51652
分类专栏: 资讯

预写日志(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文件而不会无限增长。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=27862
赞同 0
评论 0 条
勤恳演变过客L0
粉丝 0 发表 11 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2947
【软件正版化】软件正版化工作要点  2867
统信UOS试玩黑神话:悟空  2828
信刻光盘安全隔离与信息交换系统  2723
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1256
grub引导程序无法找到指定设备和分区  1221
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  164
点击报名 | 京东2025校招进校行程预告  163
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  162
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  157
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
我有15积分有什么用? 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!