MatrixOne架构概述
查询解析层(Query Parser Layer)
- 解析器(Parser): 将SQL、流处理或Python语言解析为抽象语法树,以便进一步处理。
- 计划器(Planner): 通过一系列基于规则、基于成本的优化算法找到最佳的执行计划,并将抽象语法树转换为计划树。
- IR生成器(IR Generator): 将Python代码转变为LLVM IR的中间码。
- 即时编译(JIT Compilation): 在运行时使用LLVM将SQL计划树或IR代码转换为本地程序。
- 向量化执行(Vectorized Execution): MatrixOne利用SIMD指令构造向量化执行通道。
- 缓存(Cache): 用于查询的数据、索引和元数据的多版本的缓存。
集群管理层(MatrixCube)
- 事务管理器(Transaction Manager): MatrixOne支持快照隔离级别(snapshot isolation)的分布式事务。
- 复制状态机(Replicated State Machine): MatrixOne使用基于的共识协议和超逻辑时钟来实现集群的强一致性。
- 行存(Row Storage): 存储交易类负载数据、元数据和Catalog。
- 列存(Column Storage): 存储分析负载类数据与物化视图。