小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
Every UPDATE Leaves a Ghost: MVCC, Bloat, and VACUUM in PostgreSQL

What happens to old row versions after nobody needs them? They become dead tuples, and over time they bloat your tables. Go deeper into PostgreSQL MVCC with runnable psql examples.

Every UPDATE Leaves a Ghost: MVCC, Bloat, and VACUUM in PostgreSQL

PlanetScale - Blog
PlanetScale - Blog · 2026-07-20T00:00:00Z

拆解 MongoDB WiredTiger 如何把旧版本挪到 History Store(WiredTigerHS.wt),在 reconciliation / eviction 后仍服务快照读;对照 PostgreSQL 堆版本与 InnoDB undo,并交代 Lookaside 到 Durable History 的工程分叉。

【WiredTiger】History Store 与 Durable History:文档库里的第三种 MVCC

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-19T00:00:00Z

TiKV 将 Percolator 的锁、数据和写入三列映射为 RocksDB 的 CF_LOCK、CF_DEFAULT 和 CF_WRITE。通过时间戳的位反转实现 Key 编码规则,确保查询时优先返回最新版本。TiKV 的 MVCC 时间戳由 PD 的 TSO 提供,确保跨 Region 的全局一致性,区别于 RocksDB 的单机快照机制。这三种 CF 共同维护同一逻辑数据,需联合管理。

【TiKV / HTAP 内核】Key 编码与 MVCC:三 CF 与时间戳

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-07-16T00:00:00Z

Rama 0.3 发布,标志着从长期打磨阶段转向稳定发布,承诺每2-8周更新一次。Rama 已在多种真实业务中应用,展现出生产级扩张潜力。nexir-mvcc-core 专注于 MVCC 核心,提供可复用的事务组件,适合 KV 和分布式数据库。Rust OSDev 生态持续推进,多个项目如 Asterinas 和 Zinnia 取得进展,提升了嵌入式和内核级开发体验。

【Rust日报】2026-07-08 rama 0.3 发布:四年打磨的 Rust 网络服务底座,开始转向 2-8 周发布列车

Rust.cc
Rust.cc · 2026-07-08T01:07:52Z

本文深入探讨了MySQL InnoDB的MVCC机制,分析了其对DML延迟、崩溃恢复和并发语义的影响,并强调理解源码结构的重要性。提供了源码路径、流程图和实验步骤,并与PostgreSQL进行了对比,讨论了MVCC与日志系统的耦合关系及本地验证实验的必要性。

【MySQL InnoDB 内核】MVCC 与 Read View

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-06-18T00:00:00Z

InnoDB使用固定大小的页面(默认16KB)来组织数据和索引。文章详细介绍了InnoDB页面的逻辑结构、页类型、行记录格式,以及聚簇索引和二级索引的管理方式,并与PostgreSQL在MVCC和大字段处理上的差异进行了比较。

【MySQL InnoDB 内核】页结构与行格式

土法炼钢兴趣小组的博客
土法炼钢兴趣小组的博客 · 2026-06-18T00:00:00Z
数据库管理系统中的并发控制:锁定、MVCC和乐观策略如何保持数据一致性

数据库的并发控制机制用于管理同时事务,防止数据损坏。主要方法包括锁定和MVCC(多版本并发控制)。锁定通过分配锁确保事务顺序,而MVCC维护数据项的多个版本,允许读者和写者并行操作。选择合适的并发控制策略取决于工作负载特征,现代数据库系统通常结合使用这两种方法,以提高性能和数据一致性。

数据库管理系统中的并发控制:锁定、MVCC和乐观策略如何保持数据一致性

Databricks
Databricks · 2026-04-21T10:27:00Z
拉迪姆·马雷克:逐字解析PostgreSQL的多版本并发控制(MVCC)

PostgreSQL的多版本并发控制(MVCC)允许读者和写者并行操作而不互相阻塞。每个元组包含两个事务ID(t_xmin和t_xmax),用于确定可见性。更新操作创建新版本并标记旧版本,VACUUM负责清理无效元组,但长时间运行的事务可能会阻止清理,导致空间浪费。不同的隔离级别影响快照的捕获时机,从而影响查询结果。

拉迪姆·马雷克:逐字解析PostgreSQL的多版本并发控制(MVCC)

Planet PostgreSQL
Planet PostgreSQL · 2026-04-17T13:15:59Z
拉蒂西亚·阿夫罗特:PAX:存储引擎的反击

PAX是一种旨在提升缓存性能的数据存储格式,通过将页面分割为小页面(minipages)来优化存储,支持固定和可变长度属性。尽管在Postgres中面临NULL值处理和MVCC兼容性等复杂性挑战,PAX的核心理念仍值得深入研究。

拉蒂西亚·阿夫罗特:PAX:存储引擎的反击

Planet PostgreSQL
Planet PostgreSQL · 2026-04-06T00:00:00Z
MVCC:你正在为之付费但却未加以利用的特性

本文讨论了Postgres的多版本并发控制(MVCC)机制及其在高频追加工作负载下的影响。尽管MVCC提升了并发性能,但在仅进行追加写入时,系统仍需处理额外开销,如头部信息和自动清理,导致写放大和I/O成本增加。为此,TimescaleDB通过批量处理列存储来优化性能,显著降低了开销和维护压力。

MVCC:你正在为之付费但却未加以利用的特性

Timescale Blog
Timescale Blog · 2026-03-20T13:07:26Z
安德烈·列皮霍夫:无需核心补丁的PostgreSQL数据库对象自定义属性

本文介绍了如何利用Postgres的安全标签机制为数据库对象附加自定义元数据,解决了复制冲突问题。通过创建“delta_apply”属性来管理UPDATE冲突,确保所有更新被正确记录,且无需修改核心代码,支持良好的生命周期管理和MVCC。

安德烈·列皮霍夫:无需核心补丁的PostgreSQL数据库对象自定义属性

Planet PostgreSQL
Planet PostgreSQL · 2026-01-07T06:20:45Z
PostgreSQL 实现原理深度剖析:高性能数据库引擎的核心机制

PostgreSQL 是一种先进的开源关系数据库,采用多进程架构,具备高隔离性和稳定性。其存储机制、MVCC 和优化器设计使其在复杂查询和数据一致性方面优于 MySQL,适合复杂数据模型和混合负载场景。

PostgreSQL 实现原理深度剖析:高性能数据库引擎的核心机制

夜法之书
夜法之书 · 2025-11-22T07:57:38Z

DuckDB的MVCC实现基于HyPer风格设计,采用乐观并发控制,避免锁机制。主要用于单节点OLAP分析,适合小事务,避免长事务和写热点问题。发生冲突时直接回滚,简化了多用户并发场景的复杂性。

DuckDB 的 MVCC 设计与 HyPer 模型

baotiao
baotiao · 2025-06-19T00:00:00Z
亚历山大·科罗特科夫:OrioleDB中的桥接索引:架构、内部实现与日常使用?

OrioleDB从beta10版本开始支持非B树索引,推出桥接索引以兼容PostgreSQL的索引访问方法。桥接索引通过iptr列映射主键,支持MVCC并优化索引性能,用户可灵活管理桥接层,享受PostgreSQL的丰富索引生态。

亚历山大·科罗特科夫:OrioleDB中的桥接索引:架构、内部实现与日常使用?

Planet PostgreSQL
Planet PostgreSQL · 2025-05-30T00:00:00Z

多版本并发控制(MVCC)是一种数据库设计方法,允许在同一逻辑对象下维护多个物理版本。每当事务更新对象时,会创建新版本而非覆盖原值。MVCC的优势在于读写操作互不阻塞,支持长时间查询。尽管MVCC并非新概念,但在现代数据库系统中得到广泛应用,设计时需考虑并发控制、版本存储、垃圾回收和索引管理等因素。

03 - 多版本并发控制 [设计决策] (卡内基梅隆大学数据库 / 2020年春季)

Josherich的博客
Josherich的博客 · 2025-05-25T00:00:01Z
Grant Fritchey:PostgreSQL中的多版本并发控制(MVCC):与Grant一起学习PostgreSQL

PostgreSQL通过多版本并发控制(MVCC)实现ACID属性,确保读取和写入操作不互相阻塞。MVCC利用事务ID创建数据快照,支持已提交读、可重复读和可串行化三种隔离级别。VACUUM过程负责清理逻辑删除的行,以维护数据库性能。

Grant Fritchey:PostgreSQL中的多版本并发控制(MVCC):与Grant一起学习PostgreSQL

Planet PostgreSQL
Planet PostgreSQL · 2025-04-02T20:52:05Z
亚历山大·科罗特科夫:为什么PostgreSQL需要更好的替代表引擎API?

PostgreSQL的索引访问方法API存在已久,但缺乏完整的事务存储引擎。现有设计限制了灵活性,需求包括替代MVCC实现和非堆存储。建议将索引AM分为逻辑层和实现层,以支持多样化存储模型,减少写放大,提高性能。

亚历山大·科罗特科夫:为什么PostgreSQL需要更好的替代表引擎API?

Planet PostgreSQL
Planet PostgreSQL · 2025-03-24T00:00:00Z
在 Amazon RDS for MySQL 和 Amazon Aurora MySQL 上实现高速 InnoDB 清除

MySQL通过MVCC实现并行读写,旧数据版本被标记为删除。清除操作负责垃圾回收,防止旧数据积压影响性能。InnoDB利用撤消日志支持MVCC,清除线程并行处理撤消日志以优化存储。监控清除延迟并调整数据库配置以提高清除效率。

在 Amazon RDS for MySQL 和 Amazon Aurora MySQL 上实现高速 InnoDB 清除

亚马逊AWS官方博客
亚马逊AWS官方博客 · 2025-03-07T02:19:15Z
毛绒熊家庭的事务冒险

在熊经营的玩具店中,熊们通过多版本并发控制(MVCC)和不同的隔离级别来管理库存,确保顾客看到一致的数据。他们使用锁定机制避免死锁和长时间挂起的交易,从而提高商店的运营效率。

毛绒熊家庭的事务冒险

DEV Community
DEV Community · 2025-01-19T19:55:18Z

数据库锁与物理锁不同,主要用于并发控制。PostgreSQL采用多版本并发控制(MVCC),通过创建数据副本实现读写不阻塞。不同的锁模式如ACCESS SHARE和ACCESS EXCLUSIVE对数据一致性至关重要。尽管MVCC减少了锁定问题,但仍需合理使用锁,以防止数据损坏和性能瓶颈。

Gülçin Yıldırım Jelínek: PostgreSQL中表级锁的剖析

Planet PostgreSQL
Planet PostgreSQL · 2025-01-13T00:00:00Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 模力方舟 Gitee AI 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码