小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI
数据库管理系统中的并发控制:锁定、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

本文介绍了GaussDB的事务管理与并发控制机制,结合多版本并发控制(MVCC)和两阶段锁(2PL),确保数据一致性与完整性。通过快照隔离和基于提交时间戳的MVCC,GaussDB有效提升了事务并发处理效率,解决了高并发下的性能瓶颈。

详解GaussDB事务和并发控制机制,提升事务并发处理效率

华为云官方博客
华为云官方博客 · 2025-01-10T03:39:52Z

本文介绍了GaussDB中的BTree和UBTree索引,分析了BlinkTree存储结构相较于传统B+树在高并发读写和写写场景中的优势,主要得益于其特殊结构和MVCC能力。BTree和UBTree通过优化加锁机制提升了并发性能,并具备独立的垃圾回收能力,但未来仍需优化索引空间占用。

解读GaussDB的BTree索引和UBTree索引,如何带来更强并发能力

华为云官方博客
华为云官方博客 · 2024-12-02T07:41:47Z
semab tariq:在PostgreSQL中修改行时幕后发生了什么?

数据被称为新黄金,数据库用于存储和管理数据。PostgreSQL通过创建新行而非直接更新来保持数据一致性,采用多版本并发控制(MVCC)以支持高并发。清理过时数据的过程称为真空(VACUUM),它清理死元组并防止事务ID重用导致的数据不一致。真空可自动或手动执行,以确保数据库性能。

semab tariq:在PostgreSQL中修改行时幕后发生了什么?

Planet PostgreSQL
Planet PostgreSQL · 2024-11-19T10:13:38Z
Umair Shahid:从Oracle迁移到PostgreSQL:并发控制

在从Oracle迁移到PostgreSQL的过程中,了解两者在并发控制上的差异非常重要。Oracle依赖锁和一致性快照,而PostgreSQL采用多版本并发控制(MVCC),允许多个版本共存,减少锁竞争,提高并发性能。PostgreSQL的隔离级别灵活,默认使用READ COMMITTED,适合高并发应用。通过合理管理锁和监控活动,Oracle数据库管理员可以在PostgreSQL中实现高效的并发操作。

Umair Shahid:从Oracle迁移到PostgreSQL:并发控制

Planet PostgreSQL
Planet PostgreSQL · 2024-11-14T17:27:09Z
cary huang:表访问方法:PostgreSQL中数据更新的处理方式

PostgreSQL的更新操作使用MVCC技术,将旧记录标记为不可见并插入新记录。更新涉及多个步骤,如检查更新列、确定元组可更新性、准备新元组、TOAST检查、HOT更新优化等。由于需要考虑并发控制和逻辑复制,更新比插入和顺序扫描更耗资源。

cary huang:表访问方法:PostgreSQL中数据更新的处理方式

Planet PostgreSQL
Planet PostgreSQL · 2024-09-27T22:05:38Z

JuiceFS的元数据引擎支持MVCC和GC机制,MVCC通过时间戳区分版本,GC用于清理旧版本。TiKV支持被动GC和半主动GC两种方式。JuiceFS客户端可定期更新PD中的gc safepoint来触发TiKV的GC操作。建议设置较小的GC间隔并由管理员定期进行GC操作,以避免TiKV的DB size暴增和region split失败。

JuiceFS 元数据引擎三探:从实践中学习 TiKV 的 MVCC 和 GC(2024)

ARTHURCHIAO'S BLOG
ARTHURCHIAO'S BLOG · 2024-09-22T00:00:00Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

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

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码