HTAP技术路线与MatrixOne存储引擎设计
HTAP技术路线分析
HTAP问题与挑战
HTAP技术面临的主要挑战包括:
- OLTP与OLAP特性差异(数据插入实时性、更新难度、事务隔离级别、索引类型、完整性约束、查询性能等)
- 数据一致性问题(实时可见性、事务隔离级别)
- 负载隔离与成本问题
HTAP分类与路线
HTAP技术路线可分为五类:
- 路线一(Stream Join):本质为中台组件,实时性较差但能满足多数需求
- 路线二(TPAP):完整性更好但成本高
- 路线三(列存+行存):实时性高但列存创新不足会影响写入性能
- 路线四(行列混合存储):存储引擎充分融合,查询优化器自动选择存储
- 路线五(单存储引擎):多副本架构,成本最低
HTAP评估维度
评估HTAP优劣的关键维度包括:运维开销、一致性、时效性、混合负载隔离性、使用成本和使用场景。
MatrixOne存储架构
MatrixOne存储架构
MatrixOne采用分层存储架构:
- SQL Layer:解析与优化
- Transaction Layer:Prophet多Raft RSM
- Key Value Layer:Raft Group + Pebble
- AOE Layer:Append Only Columnar Store
- MatrixCube:分布式事务引擎
MatrixOne AOE存储机制
- 采用Raft日志结构,包含Mem Table和Segment
- Segment按Column Block组织,支持Append Only写入
- 通过Checkpoint机制实现持久化
MatrixOne HTAP存储引擎设计
HTAP愿景与设计考量
MatrixOne HTAP引擎(TAE)需解决:
- KV存储能否实现TAE(性能、元数据管理、列存实现方式等)
- TAE设计需平衡更新、并发、GC、布局等关键问题
TAE设计构型
MatrixOne TAE采用以下设计:
- 存储结构:Column Block + Row Group/Segment
- TP优化设计:行存内按列摆放,消除随机IO
- LSM结构:基于Segment的LSM结构,考虑ART索引
- Delta Block:实现Delta+Main结构
分布式事务设计
- Transaction Manager管理全局事务
- Tablet存储Key Value和TAE数据
- HLC时间戳实现分布式协调
HTAP路线图
MatrixOne HTAP发展路径:
- 2021.12:验证列存在NewSQL体系下的可行性与性能
- 2022.7:行存分布式事务+HTAP单机引擎TAE
- 2022.10:分布式事务框架与单引擎HTAP对接
- 2022.12:流引擎支持与分布式TAE
性能表现
- 单表查询性能超过ClickHouse(快50%以上)
- 多表Join性能与StarRocks相当,远超ClickHouse
- 非主键多对多Join速度提升10X
- 0.2.0版本成为业界最快SQL分析引擎
核心结论
MatrixOne通过融合AOE列存与行存技术,实现高性能HTAP架构,在TP与AP负载下均表现优异,其设计兼顾了实时性、一致性与成本效益,符合现代数据仓库的混合负载需求。