Calcite数据管理实战 SQL数据库原理及应用教程 大数据技术原理及应用系统基础 数据管理数据源挖掘动态数据入门指南
¥67.40
| 运费: | ¥ 0.00-20.00 |
商品详情
书名:Calcite数据管理实战
定*:89.9
ISBN:9787**5577733
作者:刘钧文,悟初境,孙潇俊
版次:第*版
出版时间:2022-04
内容提要:
Calcite 是*款开源的动态数据管理框架,其目标是*种方案适应所有需求场景,能为*同计算平台和数据源提供统*的查询引擎,它对于没有*并发、低延时的多数据源间的数据管理有着天然的*势,是解决多数据源统*管理问题的利器。 本书围绕Calcite,结合其数据库基础知识、核心理论以及相关的项目实践情况,从SQL 的解析、校验、*化、执行等流程,对Calcite 组件进行介绍。同时本书为*分章节配置对应的代码和实例,帮助读者加深理解。 本书内容由理论到实践,将源码解析与实际案例相结合,可以作为Calcite 新手的入门图书以及快速上手的参考书,也可以作为大数据开发人员和从业人员的学习用书,还可以作为相关培训机构以及*等院校的教学用书。
作者简介:
刘钧文 哈尔滨工业大学硕士,京东科技算法工程师,中*计算机学会(CCF)会员。负责京东时空数据引擎的开发、时空数据产品的研发工作。研究方向:时空数据的管理、时空数据库、数据库*化器的原理及其实现、分布式计算以及城市计算。 悟初境 京东科技软件开发工程师。负责京东时空数据引擎的开发,多项时空数据产品的主要参与者,并在多个项目中负责架构设计的工作。研究方向:数据库原理和实现,大数据与架构设计。 孙潇俊 北京工业大学软件工程硕士,曾任京东科技大数据开发工程师。负责京东时空数据引擎的开发。研究方向:数据库*化器的原理及其实现。
目录:
第 * 章 Calcite 的前世今生 *
*.* 数据管理系统的发展历史 *
*.2 当前数据管理系统的困境 3
*.3 Calcite 简史 3
*.3.* 发源时期 3
*.3.2 Apache Calcite 时期 4
*.3.3 项目分拆*段 5
*.4 Calcite 生态系统 5
*.5 为什么使用Calcite 7
*.6 本章小结 7
第 2 章 Calcite 架构概述8
2.* 设计思想 8
2.*.* 聚焦查询*化 8
2.*.2 数据联邦 9
2.*.3 流式系统 *0
2.2 整体架构 **
2.3 使用方式 *2
2.4 核心*性 *4
2.4.* 灵活可插拔 *4
2.4.2 支持流式SQL *4
2.4.3 支持物化视图*5
2.4.4 支持多种数据模型 *6
2.5 执行流程 *7
2.5.* 服务的接收 *7
2.5.2 SQL 语法解析 *8
2.5.3 语法树的校验 *9
2.5.4 关系代数*化 *9
2.5.5 执行并获取数据 20
2.6 本章小结 20
第3 章 Calcite 快速上手 2*
3.* 下载、编译和运行 2*
3.2 SQLLine 操作方法 23
3.2.* SQLLine 的基本操作 23
3.2.2 SQLLine 的进*操作 26
3.2.3 其他操作 3*
3.3 集成CSV 文件开发实例 32
3.3.* 元数据定义 32
3.3.2 *化规则管理 36
3.4 本章小结 38
第4 章 数据库查询*化技术 39
4.* 什么是数据库查询*化技术 39
4.2 查询*化器的内外结构 39
4.2.* 查询*化器的内*结构 40
4.2.2 *化器的外*关系 4*
4.3 逻辑计划*化 42
4.3.* 关系代数 43
4.3.2 关系代数*化规则 45
4.4 物理计划*化 47
4.4.* 代*模型 48
4.4.2 逻辑代* 49
4.4.3 物理执行代* 49
4.4.4 算法代* 5*
4.5 *化模型 5*
4.5.* 启发式模型 52
4.5.2 火山模型 52
4.5.3 向量化模型 53
4.6 本章小结 54
第5 章 服务层 55
5.* Avatica 架构介绍 55
5.2 Avatica 执行结构和流程 57
5.2.* Service 接口 57
5.2.2 Meta 接口 60
5.2.3 启动服务 62
5.3 Avatica 鉴权 62
5.3.* BASIC 63
5.3.2 DIGEST 64
5.3.3 SPNEGO 65
5.3.4 自定义鉴权 66
5.4 客户端驱动 66
5.4.* Java 驱动 66
5.4.2 Python 驱动 68
5.5 命令行工具 69
5.5.* 使用SQLLine 70
5.5.2 自定义命令行交互方式 7*
5.6 本章小结 7*
第6 章 解析层 72
6.* 语法解析过程 72
6.2 Calcite 中的解析体系 73
6.2.* 抽象语法树的概念 73
6.2.2 SqlNode 体系 74
6.3 JavaCC 78
6.3.* JavaCC 简介 78
6.3.2 JavaCC 简单示例 78
6.3.3 Calcite 中JavaCC 的使用方法 84
6.4 Calcite 整合Antlr 方法 94
6.4.* Antlr 简介 94
6.4.2 上手Antlr 95
6.4.3 Calcite 集成Antlr 96
6.5 Antlr 对比JavaCC 98
6.5.* 输入输出 98
6.5.2 易用性 98
6.5.3 效率 99
6.5.4 在Calcite 中如何选择 99
6.6 本章小结 99
第7 章 校验层 *00
7.* 何谓校验 *00
7.2 元数据定义 *00
7.2.* Calcite 中元数据的基本概念 *0*
7.2.2 数据模型定义 *03
7.2.3 自定义表元数据实现 *07
7.2.4 解析数据模型 **3
7.3 校验流程 **4
7.3.* Calcite 校验过程中的核心类 **4
7.3.2 校验流程 **6
7.4 元数据DDL **9
7.5 本章小结 *2*
第8 章 *化层 *22
8.* 关系代数与火山模型 *22
8.*.* 关系代数 *22
8.*.2 火山模型 *23
8.2 *化器 *23
8.2.* *化器介绍 *24
8.2.2 RBO 模型和CBO 模型 *25
8.2.3 寻找关系代数最*解 *27
8.3 Calcite *化器 *28
8.3.* 构建算子树 *29
8.3.2 RelNode *33
8.3.3 Calcite *化模型 *34
8.4 自定义*化规则 *42
8.4.* CSV 规则 *42
8.4.2 RBO 模型与CBO 模型的对比 *44
8.5 本章小结 *46
第9 章 数据源接入 *47
9.* Redis *47
9.*.* 配置model.json 文件 *48
9.*.2 配置Schema 信息 *49
9.*.3 定义表元数据 *50
9.*.4 定义迭代器 *5*
9.2 PostgreSQL *53
9.2.* 构建元数据 *54
9.2.2 自定义*化规则 *55
9.2.3 整体流程 *57
9.3 Janino 介绍 *62
9.4 本章小结 *64
第 *0 章 SQL 函数扩展 *65
*0.* UDF *65
*0.*.* UDF 介绍 *65
*0.*.2 Calcite 中如何定义UDF *66
*0.2 UDAF *68
*0.2.* UDAF 介绍 *68
*0.2.2 Calcite 中如何定义UDAF *69
*0.3 UDTF *70
*0.3.* UDTF 介绍 *70
*0.3.2 Calcite 中如何定义UDTF *7*
*0.4 执行流程 *73
*0.5 本章小结 *76
第 ** 章 空间数据查询 *77
**.* OGC 简介 *77
**.2 空间数据类型 *78
**.3 空间函数 *85
**.3.* *建类函数 *85
**.3.2 转换类函数 *86
**.3.3 属性查询函数 *86
**.3.4 空间判断函数 *87
**.4 使用方法 *88
**.5 自定义空间函数 *89
**.6 本章小结 *89
第 *2 章 流式处理 *90
*2.* 流式查询简介 *90
*2.2 流式查询初体验 *9*
*2.3 流式聚合查询 *95
*2.4 本章小结 *98
第 *3 章 视图 *99
*3.* 普通视图 *99
*3.2 物化视图 200
*3.2.* Join 重写 202
*3.2.2 联合重写 203
*3.3 格 204
*3.4 本章小结 206
第 *4 章 Calcite 在开源项目中的使用 207
*4.* Hive 207
*4.*.* Hive 简介 207
*4.*.2 Hive 架构与执行流程 208
*4.*.3 Hive 集成Calcite 209
*4.2 Kylin 22*
*4.2.* Kylin 简介 22*
*4.2.2 Kylin 架构及执行流程 222
*4.2.3 Kylin 集成Calcite 222
*4.3 Flink 227
*4.3.* Flink 简介 227
*4.3.2 Flink 架构与执行流程 228
*4.3.3 Flink 集成Calcite 229
*4.4 本章小结 232
定*:89.9
ISBN:9787**5577733
作者:刘钧文,悟初境,孙潇俊
版次:第*版
出版时间:2022-04
内容提要:
Calcite 是*款开源的动态数据管理框架,其目标是*种方案适应所有需求场景,能为*同计算平台和数据源提供统*的查询引擎,它对于没有*并发、低延时的多数据源间的数据管理有着天然的*势,是解决多数据源统*管理问题的利器。 本书围绕Calcite,结合其数据库基础知识、核心理论以及相关的项目实践情况,从SQL 的解析、校验、*化、执行等流程,对Calcite 组件进行介绍。同时本书为*分章节配置对应的代码和实例,帮助读者加深理解。 本书内容由理论到实践,将源码解析与实际案例相结合,可以作为Calcite 新手的入门图书以及快速上手的参考书,也可以作为大数据开发人员和从业人员的学习用书,还可以作为相关培训机构以及*等院校的教学用书。
作者简介:
刘钧文 哈尔滨工业大学硕士,京东科技算法工程师,中*计算机学会(CCF)会员。负责京东时空数据引擎的开发、时空数据产品的研发工作。研究方向:时空数据的管理、时空数据库、数据库*化器的原理及其实现、分布式计算以及城市计算。 悟初境 京东科技软件开发工程师。负责京东时空数据引擎的开发,多项时空数据产品的主要参与者,并在多个项目中负责架构设计的工作。研究方向:数据库原理和实现,大数据与架构设计。 孙潇俊 北京工业大学软件工程硕士,曾任京东科技大数据开发工程师。负责京东时空数据引擎的开发。研究方向:数据库*化器的原理及其实现。
目录:
第 * 章 Calcite 的前世今生 *
*.* 数据管理系统的发展历史 *
*.2 当前数据管理系统的困境 3
*.3 Calcite 简史 3
*.3.* 发源时期 3
*.3.2 Apache Calcite 时期 4
*.3.3 项目分拆*段 5
*.4 Calcite 生态系统 5
*.5 为什么使用Calcite 7
*.6 本章小结 7
第 2 章 Calcite 架构概述8
2.* 设计思想 8
2.*.* 聚焦查询*化 8
2.*.2 数据联邦 9
2.*.3 流式系统 *0
2.2 整体架构 **
2.3 使用方式 *2
2.4 核心*性 *4
2.4.* 灵活可插拔 *4
2.4.2 支持流式SQL *4
2.4.3 支持物化视图*5
2.4.4 支持多种数据模型 *6
2.5 执行流程 *7
2.5.* 服务的接收 *7
2.5.2 SQL 语法解析 *8
2.5.3 语法树的校验 *9
2.5.4 关系代数*化 *9
2.5.5 执行并获取数据 20
2.6 本章小结 20
第3 章 Calcite 快速上手 2*
3.* 下载、编译和运行 2*
3.2 SQLLine 操作方法 23
3.2.* SQLLine 的基本操作 23
3.2.2 SQLLine 的进*操作 26
3.2.3 其他操作 3*
3.3 集成CSV 文件开发实例 32
3.3.* 元数据定义 32
3.3.2 *化规则管理 36
3.4 本章小结 38
第4 章 数据库查询*化技术 39
4.* 什么是数据库查询*化技术 39
4.2 查询*化器的内外结构 39
4.2.* 查询*化器的内*结构 40
4.2.2 *化器的外*关系 4*
4.3 逻辑计划*化 42
4.3.* 关系代数 43
4.3.2 关系代数*化规则 45
4.4 物理计划*化 47
4.4.* 代*模型 48
4.4.2 逻辑代* 49
4.4.3 物理执行代* 49
4.4.4 算法代* 5*
4.5 *化模型 5*
4.5.* 启发式模型 52
4.5.2 火山模型 52
4.5.3 向量化模型 53
4.6 本章小结 54
第5 章 服务层 55
5.* Avatica 架构介绍 55
5.2 Avatica 执行结构和流程 57
5.2.* Service 接口 57
5.2.2 Meta 接口 60
5.2.3 启动服务 62
5.3 Avatica 鉴权 62
5.3.* BASIC 63
5.3.2 DIGEST 64
5.3.3 SPNEGO 65
5.3.4 自定义鉴权 66
5.4 客户端驱动 66
5.4.* Java 驱动 66
5.4.2 Python 驱动 68
5.5 命令行工具 69
5.5.* 使用SQLLine 70
5.5.2 自定义命令行交互方式 7*
5.6 本章小结 7*
第6 章 解析层 72
6.* 语法解析过程 72
6.2 Calcite 中的解析体系 73
6.2.* 抽象语法树的概念 73
6.2.2 SqlNode 体系 74
6.3 JavaCC 78
6.3.* JavaCC 简介 78
6.3.2 JavaCC 简单示例 78
6.3.3 Calcite 中JavaCC 的使用方法 84
6.4 Calcite 整合Antlr 方法 94
6.4.* Antlr 简介 94
6.4.2 上手Antlr 95
6.4.3 Calcite 集成Antlr 96
6.5 Antlr 对比JavaCC 98
6.5.* 输入输出 98
6.5.2 易用性 98
6.5.3 效率 99
6.5.4 在Calcite 中如何选择 99
6.6 本章小结 99
第7 章 校验层 *00
7.* 何谓校验 *00
7.2 元数据定义 *00
7.2.* Calcite 中元数据的基本概念 *0*
7.2.2 数据模型定义 *03
7.2.3 自定义表元数据实现 *07
7.2.4 解析数据模型 **3
7.3 校验流程 **4
7.3.* Calcite 校验过程中的核心类 **4
7.3.2 校验流程 **6
7.4 元数据DDL **9
7.5 本章小结 *2*
第8 章 *化层 *22
8.* 关系代数与火山模型 *22
8.*.* 关系代数 *22
8.*.2 火山模型 *23
8.2 *化器 *23
8.2.* *化器介绍 *24
8.2.2 RBO 模型和CBO 模型 *25
8.2.3 寻找关系代数最*解 *27
8.3 Calcite *化器 *28
8.3.* 构建算子树 *29
8.3.2 RelNode *33
8.3.3 Calcite *化模型 *34
8.4 自定义*化规则 *42
8.4.* CSV 规则 *42
8.4.2 RBO 模型与CBO 模型的对比 *44
8.5 本章小结 *46
第9 章 数据源接入 *47
9.* Redis *47
9.*.* 配置model.json 文件 *48
9.*.2 配置Schema 信息 *49
9.*.3 定义表元数据 *50
9.*.4 定义迭代器 *5*
9.2 PostgreSQL *53
9.2.* 构建元数据 *54
9.2.2 自定义*化规则 *55
9.2.3 整体流程 *57
9.3 Janino 介绍 *62
9.4 本章小结 *64
第 *0 章 SQL 函数扩展 *65
*0.* UDF *65
*0.*.* UDF 介绍 *65
*0.*.2 Calcite 中如何定义UDF *66
*0.2 UDAF *68
*0.2.* UDAF 介绍 *68
*0.2.2 Calcite 中如何定义UDAF *69
*0.3 UDTF *70
*0.3.* UDTF 介绍 *70
*0.3.2 Calcite 中如何定义UDTF *7*
*0.4 执行流程 *73
*0.5 本章小结 *76
第 ** 章 空间数据查询 *77
**.* OGC 简介 *77
**.2 空间数据类型 *78
**.3 空间函数 *85
**.3.* *建类函数 *85
**.3.2 转换类函数 *86
**.3.3 属性查询函数 *86
**.3.4 空间判断函数 *87
**.4 使用方法 *88
**.5 自定义空间函数 *89
**.6 本章小结 *89
第 *2 章 流式处理 *90
*2.* 流式查询简介 *90
*2.2 流式查询初体验 *9*
*2.3 流式聚合查询 *95
*2.4 本章小结 *98
第 *3 章 视图 *99
*3.* 普通视图 *99
*3.2 物化视图 200
*3.2.* Join 重写 202
*3.2.2 联合重写 203
*3.3 格 204
*3.4 本章小结 206
第 *4 章 Calcite 在开源项目中的使用 207
*4.* Hive 207
*4.*.* Hive 简介 207
*4.*.2 Hive 架构与执行流程 208
*4.*.3 Hive 集成Calcite 209
*4.2 Kylin 22*
*4.2.* Kylin 简介 22*
*4.2.2 Kylin 架构及执行流程 222
*4.2.3 Kylin 集成Calcite 222
*4.3 Flink 227
*4.3.* Flink 简介 227
*4.3.2 Flink 架构与执行流程 228
*4.3.3 Flink 集成Calcite 229
*4.4 本章小结 232
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...