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

GBase 8c 存储技术---行存储引擎(一)

原创 薛定谔的比干 2022-10-28
431

存储引擎

  • GBase 8c的行存引擎,主要面向OLTP场景设计,例如订货、发货、银行交易系统等。
  • GBase 8c的列存引擎,主要面向OLAP场景设计,例如数据统计报表分析。
  • GBase 8c的内存引擎,主要面向极致性能场景设计,例如银行风控场景。
    创建表的时候可以指定为行存引擎表、列存引擎表;或直接将整库设置为行存、列存或内存。支持一个事务中对行存和列存表的DML操作,可以保证事务的ACID属性。

行存引擎

GBase 8c行存储引擎采用原位更新(in-place update)设计,支持 MVCC(Multi- Version Concurrency Control,多版本并发控制),同时支持本地存储和存储与计算分离的部署方式,支持存储层异步回放日志等。行存储引擎的特点是支持高并发读写,时延小,适合 OLTP交易类业务场景。
行存储引擎架构如图所示:
image.png

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

行存储引擎的关键技术:

  1. 基于事务ID以及ctid(行号)的多版本管理。
  2. 基于 CSN(CommitSequenceNumber,待提交事务的序列号,它是一个64位(openGauss是64位,GBase 8c是56位)递增无符号数)的多版本可见性判断以及 MVCC机制。页面,在数据页面中存放元组以及元组的历史版本并集中管理,使用Vacuum(垃圾清理)线程进行定期的空间回收。
  3. 基于大内存设计的缓冲区管理。
  4. 平滑无性能波动的增量检查点(checkpoint)。
  5. 基于并行回放的快速故障实例恢复。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论