更新时间: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语句。