文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(五)

本文接着介绍非易失性WAL buffer对StartupXLOG流程的改造。1)StartupXLO流程中,当WAL日志回放完退出回放循环后,对其进行改造2)ControlFile->discardedUpTo为新增加的变量,表示这个节点之前的WAL段文件可以回收了,这个位点以WAL段文件大小为单位。3)如果EndOfLog<=discardedUpTo,即最后的回放的位置在需要回收....

非易失性WAL buffer实现解析(五)
文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(三)

本文接上文介绍函数WaitForWALToBecomeAvailable打开WAL日志文件并切换日志源的实现。该函数不涉及关于NVM WAL BUFFER的修改。1)主机重启恢复时:日志源currentSource = XLOG_FROM_PG_WAL,之后由于第一次进来,调用函数XLogFileReadAnyTLI打开日志所在WAL文件。如果open成功则返回TRUE,否则lastSource....

非易失性WAL buffer实现解析(三)
文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(二)

本文接着介绍WAL写和读的改造。1、XLogInsert函数改造:将日志写入NVM,此时不确定CPU CACHE何时刷以及顺序当日志量距离上次checkpoint产生的WAL文件个数(wal_segment_size)超过CheckPointSegments时,需要发起checkpoint请求。需要保证WAL buffer空间够用。2、XLogPageRead读取指定WAL所在页到readBuf....

非易失性WAL buffer实现解析(二)
文章 2023-07-18 来自:开发者社区

非易失性WAL buffer实现解析(一)

前文简要介绍了非易失性WAL buffer的PostgreSQL email,本文开始主要介绍其实现机制。        non-volatile WAL buffer同样是结合interl开发的pmdk库进行适配NVM。在启动时在函数XLOGShememInit中通过调用MapNonVolatileXLogBuffer在NVM介质上创建WAL BUFFE....

非易失性WAL buffer实现解析(一)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

相关镜像