Calcite 是一款开源的动态数据管理框架,其目标是一种方案适应所有需求场景,能为不同计算平台和数据源提供统一的查询引擎,它对于没有高并发、低延时的多数据源间的数据管理有着天然的优势,是解决多数据源统一管理问题的利器。
本书围绕Calcite,结合其数据库基础知识、核心理论以及相关的项目实践情况,从SQL 的解析、校验、优化、执行等流程,对Calcite 组件进行介绍。同时本书为部分章节配置对应的代码和实例,帮助读者加深理解。
本书内容由理论到实践,将源码解析与实际案例相结合,可以作为Calcite 新手的入门图书以及快速上手的参考书,也可以作为大数据开发人员和从业人员的学习用书,还可以作为相关培训机构以及高等院校的教学用书。
展开
——姚延栋,四维纵横创始人,Greenplum 中文社区创始人,PostgreSQL 中文社区常委
Apache Calcite是一个开放源代码动态数据管理框架。作为一款开源SQL解析工具,它一方面极大地降低了开发人员运用SQL的入门门槛;另一方面,它实现了自己的SQL查询优化模型,实现不同数据源的数据查询和计算。今天,国内已经有越来越多的技术人员在使用Calcite,这本书值得广大从业人员学习和借鉴。
——王飞鹏,中信银行数据库团队负责人
层出不穷的创新场景,使数据库从单一品类一统天下朝着碎片化的趋势急速转向。面向异构数据源的联合查询,已经受到越来越多的开发者关注。
Apache Calcite 将查询优化器这一数据库领域的技术壁垒,抽象成可供开发者使用的基础组件,极大地降低了自研查询引擎的难度。除此之外,它还提供了可灵活扩展的 SQL 解析器和存储适配器,提供更加便捷的一站式使用模式。
对于数据领域的开发者来说,Apache Calcite 是必不可少的利器。越来越多的开源和商业项目使用它构建自己的查询体系,其中也包括我所创业的项目Apache ShardingSphere。
非常开心能在这个时间节点看到这本著作,它不但能够为 Apache Calcite 的初学者提供体系化的学习资料,也能够作为克服Calcite 陡峭的学习曲线的指路明灯。
——张亮,Apache ShardingSphere 项目主席,SphereEx 公司创始人
Apache Calcite很好地总结并吸收了过去数十年来的优秀数据库查询技术,同时也为一系列数据存储引擎、数据中台软件提供了一种增强与集成方式。期待这本书能让读者走近数据库查询引擎,走出“重复造轮子”的怪圈,走入高效多源异构数据管理的新时代。
——黄向东,清华大学助理研究员,中国通信学会高级会员,大数据系统软件国家工程实验室成员
通读本书,满目珠玑,常有醍醐灌顶之感。这本书从大处着眼,小处着手,通过源码与实战案例的结合,介绍了Calcite 基础和Calcite 的服务层、校验层、优化层等核心内容。不同需求层次的读者都可在这本书中找到属于自己的“宝藏”。请不要错过,相信你一定会受益良多!
——林春,某数字金融有限公司首席数据库专家
大数据时代,越来越多的计算引擎将Calcite 作为其SQL 解析与处理引擎,如Hive、Drill、Flink。Apache Calcite 在数据管理方面拥有着得天独厚的优势,它能为不同的计算引擎和数据源提供统一的查询,并提供一站式的解决方案。这本书从SQL 的解析、校验到优化,层层递进,深入浅出,非常值得数据领域开发者和大数据从业者深入研究和学习。
——冯若航,PostgreSQL 中文社区开源技术委员会委员