↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

只追加负载在为用不上的 MVCC 付费 RSS

Matty Stratton 算了一笔账:MVCC 让读写互不阻塞,代价是每行都带 23 字节的事务可见性头部,算上对齐填充是 28 到 30 字节。IoT 管道、金融流水、可观测性这类只追加的负载并不修改已写入的行,却照样承担全部成本:高频写入下写放大到 3 至 5 倍,autovacuum 为设置提示位和冻结事务号持续运转,WAL 也随之膨胀。解法是让存储形态匹配负载,例如用列式存储把行批量打包,摊薄 MVCC 的固定开销。

发布于 2026-09-10T10:59:37.828113Z · Matty Stratton · TigerData 博客
MVCC 存储 时序

Matty Stratton 算了一笔账:MVCC 让读写互不阻塞,代价是每行都带 23 字节的事务可见性头部,算上对齐填充是 28 到 30 字节。IoT 管道、金融流水、可观测性这类只追加的负载并不修改已写入的行,却照样承担全部成本:高频写入下写放大到 3 至 5 倍,autovacuum 为设置提示位和冻结事务号持续运转,WAL 也随之膨胀。解法是让存储形态匹配负载,例如用列式存储把行批量打包,摊薄 MVCC 的固定开销。

Matty Stratton 算了一笔账:MVCC 让读写互不阻塞,代价是每行都带 23 字节的事务可见性头部,算上对齐填充是 28 到 30 字节。IoT 管道、金融流水、可观测性这类只追加的负载并不修改已写入的行,却照样承担全部成本:高频写入下写放大到 3 至 5 倍,autovacuum 为设置提示位和冻结事务号持续运转,WAL 也随之膨胀。解法是让存储形态匹配负载,例如用列式存储把行批量打包,摊薄 MVCC 的固定开销。

原始来源 ↗

来源记录
  • center.info_item · 5692877afc623bf0 · 2026-10-03T04:08:35.169032Z
  • pgweb.info_item · 5692877afc623bf0 · 2026-10-03T04:08:55.967155Z