openGauss的行存储引擎在设计上支持MVCC,采用集中式垃圾版本回收机制,可以提供OLTP业务系统的高并发读写要求,支持存储计算分离架构、存储层异步回放日志。行存储引擎架构如图9-1所示。

图9-1 行存储引擎架构
注:数据页面缓冲池中缓存数据页面,在数据页面里面存放元组以及元组的历史版本集中管理,使用垃圾清理(Vacuum)线程进行定期的空间回收。
行存储引擎的关键技术有:
- 基于事务ID以及行号(ctid)的多版本管理。
- 基于CSN(Commit Sequence Number,待提交事务的序列号,它是一个64位递增无符号数)的多版本可见性判断以及MVCC并发控制机制。
- 基于大内存设计的缓冲区管理。
- 平滑无性能波动的增量检查点(checkpoint)。
- 基于并行回放的快速故障实例恢复。
主要模块如下(如图9-2所示):
- 存储访问接口
- 索引
- 事务管理
- 锁管理
- 表和分区存储
- 页面缓存管理
- 表空间管理
- Redo日志管理
- 文件访问接口

图9-2 行存储主要模块
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




