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): 存储分析负载类数据与物化视图。

    存储介质层(Storage Provision Layer)