暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

openGauss行存储引擎总体架构

openGauss小助手 2021-10-29
602

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

图9-1 行存储引擎架构

注:数据页面缓冲池中缓存数据页面,在数据页面里面存放元组以及元组的历史版本集中管理,使用垃圾清理(Vacuum)线程进行定期的空间回收。

行存储引擎的关键技术有:

  1. 基于事务ID以及行号(ctid)的多版本管理。
  2. 基于CSN(Commit Sequence Number,待提交事务的序列号,它是一个64位递增无符号数)的多版本可见性判断以及MVCC并发控制机制。
  3. 基于大内存设计的缓冲区管理。
  4. 平滑无性能波动的增量检查点(checkpoint)。
  5. 基于并行回放的快速故障实例恢复。

主要模块如下(如图9-2所示):

  1. 存储访问接口
  2. 索引
  3. 事务管理
  4. 锁管理
  5. 表和分区存储
  6. 页面缓存管理
  7. 表空间管理
  8. Redo日志管理
  9. 文件访问接口

图9-2 行存储主要模块

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

评论