今天看到PG邮件列表里有非易失性内存在PG应用的讨论,做下记录,接着学习其补丁,如何将WAL buffer改造成非易失性buffer,以及和之前有和区别。该补丁是也是日本NTT公司提供。
一、原文
https://www.postgresql.org/message-id/002f01d5d28d$23c01430$6b403c90$@hco.ntt.co.jp_1
二、Non-volatile WAL BUFFER
提出了一个概念证明的新特性:“非易失WAL buffer”。通过将非易失内存(PMEM)替代DRAM,不需要将WAL记录写入WAL段文件即可将其持久化。减少了WAL拷贝和write事务的时间,从而提升数据库性能。
完成此功能的补丁基于PG12(refs/tags/REL_12_0),附在后文。阅读README.nvwal(patch 0003)了解如何使用该特性。
PMEM[1]可插到DIMM槽,具有快速、非易失、字节寻址的特性。已生产有该特性的产品。NVDIMM-N是PMEM模块的一种,包含DRAM和NAND flash,可以像访问DRAM一样访问NVDIMM-N。断点时,将内容写到flash域。加电重启时将flash内容重新拷贝回去即DRAM。大多数操作