科技
类型
可以朗读
语音朗读
210千字
字数
2022-04-01
发行日期
展开全部
主编推荐语
Calcite数据库原理及应用教程,SQL大数据技术原理及应用,帮助你解决数据源管理难题。
内容简介
Calcite是一款开源的动态数据管理框架,其目标是一种方案适应所有需求场景,能为不同计算平台和数据源提供统一的查询引擎,它对于没有高并发、低延时的多数据源间的数据管理有着天然的优势,是解决多数据源统一管理问题的利器。
本书围绕Calcite,结合其数据库基础知识、核心理论以及相关的项目实践情况,从SQL的解析、校验、优化、执行等流程,对Calcite组件进行介绍。同时本书为部分章节配置对应的代码和实例,帮助读者加深理解。
本书内容由理论到实践,将源码解析与实际案例相结合,可以作为Calcite新手的入门图书以及快速上手的参考书,也可以作为大数据开发人员和从业人员的学习用书,还可以作为相关培训机构以及高等院校的教学用书。
目录
- 版权信息
- 内容提要
- 推荐辞
- 序一
- 序二
- 前言
- 资源与支持
- 第1章 Calcite的前世今生
- 1.1 数据管理系统的发展历史
- 1.2 当前数据管理系统的困境
- 1.3 Calcite简史
- 1.3.1 发源时期
- 1.3.2 Apache Calcite时期
- 1.3.3 项目分拆阶段
- 1.4 Calcite生态系统
- 1.5 为什么使用Calcite
- 1.6 本章小结
- 第2章 Calcite架构概述
- 2.1 设计思想
- 2.1.1 聚焦查询优化
- 2.1.2 数据联邦
- 2.1.3 流式系统
- 2.2 整体架构
- 2.3 使用方式
- 2.4 核心特性
- 2.4.1 灵活可插拔
- 2.4.2 支持流式SQL
- 2.4.3 支持物化视图
- 2.4.4 支持多种数据模型
- 2.5 执行流程
- 2.5.1 服务的接收
- 2.5.2 SQL语法解析
- 2.5.3 语法树的校验
- 2.5.4 关系代数优化
- 2.5.5 执行并获取数据
- 2.6 本章小结
- 第3章 Calcite快速上手
- 3.1 下载、编译和运行
- 3.2 SQLLine操作方法
- 3.2.1 SQLLine的基本操作
- 3.2.2 SQLLine的进阶操作
- 3.2.3 其他操作
- 3.3 集成CSV文件开发实例
- 3.3.1 元数据定义
- 3.3.2 优化规则管理
- 3.4 本章小结
- 第4章 数据库查询优化技术
- 4.1 什么是数据库查询优化技术
- 4.2 查询优化器的内外结构
- 4.2.1 查询优化器的内部结构
- 4.2.2 优化器的外部关系
- 4.3 逻辑计划优化
- 4.3.1 关系代数
- 4.3.2 关系代数优化规则
- 4.4 物理计划优化
- 4.4.1 代价模型
- 4.4.2 逻辑代价
- 4.4.3 物理执行代价
- 4.4.4 算法代价
- 4.5 优化模型
- 4.5.1 启发式模型
- 4.5.2 火山模型
- 4.5.3 向量化模型
- 4.6 本章小结
- 第5章 服务层
- 5.1 Avatica架构介绍
- 5.2 Avatica执行结构和流程
- 5.2.1 Service接口
- 5.2.2 Meta接口
- 5.2.3 启动服务
- 5.3 Avatica鉴权
- 5.3.1 BASIC
- 5.3.2 DIGEST
- 5.3.3 SPNEGO
- 5.3.4 自定义鉴权
- 5.4 客户端驱动
- 5.4.1 Java驱动
- 5.4.2 Python驱动
- 5.5 命令行工具
- 5.5.1 使用SQLLline
- 5.5.2 自定义命令行交互方式
- 5.6 本章小结
- 第6章 解析层
- 6.1 语法解析过程
- 6.2 Calcite中的解析体系
- 6.2.1 抽象语法树的概念
- 6.2.2 SqlNode体系
- 6.3 JavaCC
- 6.3.1 JavaCC简介
- 6.3.2 JavaCC简单示例
- 6.3.3 Calcite中JavaCC的使用方法
- 6.4 Calcite整合Antlr方法
- 6.4.1 Antlr简介
- 6.4.2 上手Antlr
- 6.4.3 Calcite集成Antlr
- 6.5 Antlr对比JavaCC
- 6.5.1 输入输出
- 6.5.2 易用性
- 6.5.3 效率
- 6.5.4 在Calcite中如何选择
- 6.6 本章小结
- 第7章 校验层
- 7.1 何谓校验
- 7.2 元数据定义
- 7.2.1 Calcite中元数据的基本概念
- 7.2.2 数据模型定义
- 7.2.3 自定义表元数据实现
- 7.2.4 解析数据模型
- 7.3 校验流程
- 7.3.1 Calcite校验过程中的核心类
- 7.3.2 校验流程
- 7.4 元数据DDL
- 7.5 本章小结
- 第8章 优化层
- 8.1 关系代数与火山模型
- 8.1.1 关系代数
- 8.1.2 火山模型
- 8.2 优化器
- 8.2.1 优化器介绍
- 8.2.2 RBO模型和CBO模型
- 8.2.3 寻找关系代数最优解
- 8.3 Calcite优化器
- 8.3.1 构建算子树
- 8.3.2 RelNode
- 8.3.3 Calcite优化模型
- 8.4 自定义优化规则
- 8.4.1 CSV规则
- 8.4.2 RBO模型与CBO模型的对比
- 8.5 本章小结
- 第9章 数据源接入
- 9.1 Redis
- 9.1.1 配置model.json文件
- 9.1.2 配置Schema信息
- 9.1.3 定义表元数据
- 9.1.4 定义迭代器
- 9.2 PostgreSQL
- 9.2.1 构建元数据
- 9.2.2 自定义优化规则
- 9.2.3 整体流程
- 9.3 Janino介绍
- 9.4 本章小结
- 第10章 SQL函数扩展
- 10.1 UDF
- 10.1.1 UDF介绍
- 10.1.2 Calcite中如何定义UDF
- 10.2 UDAF
- 10.2.1 UDAF介绍
- 10.2.2 Calcite中如何定义UDAF
- 10.3 UDTF
- 10.3.1 UDTF介绍
- 10.3.2 Calcite中如何定义UDTF
- 10.4 执行流程
- 10.5 本章小结
- 第11章 空间数据查询
- 11.1 OGC简介
- 11.2 空间数据类型
- Calcite中的空间数据类型
- 11.3 空间函数
- 11.3.1 创建类函数
- 11.3.2 转换类函数
- 11.3.3 属性查询函数
- 11.3.4 空间判断函数
- 11.4 使用方法
- 11.5 自定义空间函数
- 11.6 本章小结
- 第12章 流式处理
- 12.1 流式查询简介
- 12.2 流式查询初体验
- 12.3 流式聚合查询
- 12.4 本章小结
- 第13章 视图
- 13.1 普通视图
- 13.2 物化视图
- 13.2.1 Join重写
- 13.2.2 联合重写
- 13.3 格
- 13.4 本章小结
- 第14章 Calcite在开源项目中的使用
- 14.1 Hive
- 14.1.1 Hive简介
- 14.1.2 Hive架构与执行流程
- 14.1.3 Hive集成Calcite
- 14.2 Kylin
- 14.2.1 Kylin简介
- 14.2.2 Kylin架构及执行流程
- 14.2.3 Kylin集成Calcite
- 14.3 Flink
- 14.3.1 Flink简介
- 14.3.2 Flink架构与执行流程
- 14.3.3 Flink集成Calcite
- 14.4 本章小结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。