是否具备一个完整的 SQL引擎,是区别通用关系型数据库和 NoSQL 以及 NewSQL 产品的重要标志。

    OceanBase 把自己定位为一款金融级关系型云数据库,在 SQL 引擎层面完全兼容 MySQL,表达式层面全面兼容所有的 MySQL 数据类型和字符集、时区等。

    1.png

    SQL 引擎往往可以分为编译器和执行引擎两个部分,SQL 编译器完成把用户输入的 SQL 字符串编译生成一个查询执行计划的整个过程。OceanBase 的 SQL 编译器由语法解析器(Parser)、语义分析器(Resolver)、查询重写器(Rewriter)、查询优化器(Optimizer)和代码生成器(Code Generator)五个模块组成。

    SQL 编译器的整体架构如下表所示。

    2.png