Calcite原理和经验总结
概述
Calcite(最初被命名为optiq,由Julian Hyde编写,之后成为apache项目)是一个动态数据管理框架,不考虑数据的存储、处理数据的算法以及元数据的保存问题,只保留了重要的数据库管理功能,成为应用程序和多个数据源交互的中介。
Optiq起初在Hive项目中,为其提供成本优化模型,即CBO(Cost Based Optimization)。它是面向Hadoop新的查询引擎,提供了OLAP和流SQL查询引擎。当前,还应用于Flink解析和流SQL处理、Drill的解析和JDBC接口等、Kylin的OLAP。
Calcite的目标是一种方案适应所有需求场景(one size fits all),希望能够为不同计算平台提供统一查询引擎,让访问hadoop上的数据跟传统数据库访问方式一样(SQL和高级查询优化)。