更新时间:2026-08-06 GMT+08:00
分享

架构原理

双格式存储模式

GaussDB HTAP架构下,采用双格式存储模型,通过不同的数据组织形式分别服务于OLTP与OLAP负载:

  • 行存(Row Store)表仍作为主存储格式,服务于OLTP事务(INSERT/UPDATE/DELETE/点查 )。
  • IMCV则基于对应的行存表数据,以内存为载体,采用列式存储格式,面向OLAP查询进行优化。
  • IMCV与现有行存表共享一致的事务与可见性语义。

数据同步与一致性

IMCV采用异步更新机制来维护与行存表之间的数据一致性。

在基于行存表创建IMCV后,行存表上的INSERT/UPDATE/DELETE 操作并不会同步更新对应的IMCV数据,而是由后台任务以批量方式构建刷新列存数据,以避免在OLTP场景下引入额外的同步更新开销,最大化降低对事务写入路径的影响。

混合负载透明路由

系统支持开启或关闭列存扫描能力,并支持混合负载透明路由机制。在该模式下:

  • 查询优化器会根据查询访问的列是否已创建IMCV。
  • 结合代价模型对行存扫描与IMCV列存扫描进行评估。
  • 自动选择最优的执行路径。

对于分析型查询,若命中IMCV且代价更优,系统将优先选择IMCV列存扫描;否则回退至行存扫描路径。整个过程对应用透明,无需修改SQL语句。

相关文档