注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫Calcite數據管理實戰(zhàn)

Calcite數據管理實戰(zhàn)

Calcite數據管理實戰(zhàn)

定 價:¥89.90

作 者: 劉鈞文,悟初境,孫瀟俊 著
出版社: 人民郵電出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787115577733 出版時間: 2022-04-01 包裝: 平裝
開本: 16開 頁數: 232 字數:  

內容簡介

  Calcite 是一款開源的動態(tài)數據管理框架,其目標是一種方案適應所有需求場景,能為不同計算平臺和數據源提供統一的查詢引擎,它對于沒有高并發(fā)、低延時的多數據源間的數據管理有著天然的優(yōu)勢,是解決多數據源統一管理問題的利器。本書圍繞Calcite,結合其數據庫基礎知識、核心理論以及相關的項目實踐情況,從SQL 的解析、校驗、優(yōu)化、執(zhí)行等流程,對Calcite 組件進行介紹。同時本書為部分章節(jié)配置對應的代碼和實例,幫助讀者加深理解。本書內容由理論到實踐,將源碼解析與實際案例相結合,可以作為Calcite 新手的入門圖書以及快速上手的參考書,也可以作為大數據開發(fā)人員和從業(yè)人員的學習用書,還可以作為相關培訓機構以及高等院校的教學用書。

作者簡介

  劉鈞文 哈爾濱工業(yè)大學碩士,京東科技算法工程師,中國計算機學會(CCF)會員。負責京東時空數據引擎的開發(fā)、時空數據產品的研發(fā)工作。研究方向:時空數據的管理、時空數據庫、數據庫優(yōu)化器的原理及其實現、分布式計算以及城市計算。悟初境 京東科技軟件開發(fā)工程師。負責京東時空數據引擎的開發(fā),多項時空數據產品的主要參與者,并在多個項目中負責架構設計的工作。研究方向:數據庫原理和實現,大數據與架構設計。 孫瀟俊北京工業(yè)大學軟件工程碩士,曾任京東科技大數據開發(fā)工程師。負責京東時空數據引擎的開發(fā)。研究方向:數據庫優(yōu)化器的原理及其實現。

圖書目錄

第 1 章 Calcite 的前世今生 1
1.1 數據管理系統的發(fā)展歷史 1
1.2 當前數據管理系統的困境 3
1.3 Calcite 簡史 3
1.3.1 發(fā)源時期 3
1.3.2 Apache Calcite 時期 4
1.3.3 項目分拆階段 5
1.4 Calcite 生態(tài)系統 5
1.5 為什么使用Calcite 7
1.6 本章小結 7
第 2 章 Calcite 架構概述8
2.1 設計思想 8
2.1.1 聚焦查詢優(yōu)化 8
2.1.2 數據聯邦 9
2.1.3 流式系統 10
2.2 整體架構 11
2.3 使用方式 12
2.4 核心特性 14
2.4.1 靈活可插拔 14
2.4.2 支持流式SQL 14
2.4.3 支持物化視圖15
2.4.4 支持多種數據模型 16
2.5 執(zhí)行流程 17
2.5.1 服務的接收 17
2.5.2 SQL 語法解析 18
2.5.3 語法樹的校驗 19
2.5.4 關系代數優(yōu)化 19
2.5.5 執(zhí)行并獲取數據 20
2.6 本章小結 20
第3 章 Calcite 快速上手 21
3.1 下載、編譯和運行 21
3.2 SQLLine 操作方法 23
3.2.1 SQLLine 的基本操作 23
3.2.2 SQLLine 的進階操作 26
3.2.3 其他操作 31
3.3 集成CSV 文件開發(fā)實例 32
3.3.1 元數據定義 32
3.3.2 優(yōu)化規(guī)則管理 36
3.4 本章小結 38
第4 章 數據庫查詢優(yōu)化技術 39
4.1 什么是數據庫查詢優(yōu)化技術 39
4.2 查詢優(yōu)化器的內外結構 39
4.2.1 查詢優(yōu)化器的內部結構 40
4.2.2 優(yōu)化器的外部關系 41
4.3 邏輯計劃優(yōu)化 42
4.3.1 關系代數 43
4.3.2 關系代數優(yōu)化規(guī)則 45
4.4 物理計劃優(yōu)化 47
4.4.1 代價模型 48
4.4.2 邏輯代價 49
4.4.3 物理執(zhí)行代價 49
4.4.4 算法代價 51
4.5 優(yōu)化模型 51
4.5.1 啟發(fā)式模型 52
4.5.2 火山模型 52
4.5.3 向量化模型 53
4.6 本章小結 54
第5 章 服務層 55
5.1 Avatica 架構介紹 55
5.2 Avatica 執(zhí)行結構和流程 57
5.2.1 Service 接口 57
5.2.2 Meta 接口 60
5.2.3 啟動服務 62
5.3 Avatica 鑒權 62
5.3.1 BASIC 63
5.3.2 DIGEST 64
5.3.3 SPNEGO 65
5.3.4 自定義鑒權 66
5.4 客戶端驅動 66
5.4.1 Java 驅動 66
5.4.2 Python 驅動 68
5.5 命令行工具 69
5.5.1 使用SQLLine 70
5.5.2 自定義命令行交互方式 71
5.6 本章小結 71
第6 章 解析層 72
6.1 語法解析過程 72
6.2 Calcite 中的解析體系 73
6.2.1 抽象語法樹的概念 73
6.2.2 SqlNode 體系 74
6.3 JavaCC 78
6.3.1 JavaCC 簡介 78
6.3.2 JavaCC 簡單示例 78
6.3.3 Calcite 中JavaCC 的使用方法 84
6.4 Calcite 整合Antlr 方法 94
6.4.1 Antlr 簡介 94
6.4.2 上手Antlr 95
6.4.3 Calcite 集成Antlr 96
6.5 Antlr 對比JavaCC 98
6.5.1 輸入輸出 98
6.5.2 易用性 98
6.5.3 效率 99
6.5.4 在Calcite 中如何選擇 99
6.6 本章小結 99
第7 章 校驗層 100
7.1 何謂校驗 100
7.2 元數據定義 100
7.2.1 Calcite 中元數據的基本概念 101
7.2.2 數據模型定義 103
7.2.3 自定義表元數據實現 107
7.2.4 解析數據模型 113
7.3 校驗流程 114
7.3.1 Calcite 校驗過程中的核心類 114
7.3.2 校驗流程 116
7.4 元數據DDL 119
7.5 本章小結 121
第8 章 優(yōu)化層 122
8.1 關系代數與火山模型 122
8.1.1 關系代數 122
8.1.2 火山模型 123
8.2 優(yōu)化器 123
8.2.1 優(yōu)化器介紹 124
8.2.2 RBO 模型和CBO 模型 125
8.2.3 尋找關系代數最優(yōu)解 127
8.3 Calcite 優(yōu)化器 128
8.3.1 構建算子樹 129
8.3.2 RelNode 133
8.3.3 Calcite 優(yōu)化模型 134
8.4 自定義優(yōu)化規(guī)則 142
8.4.1 CSV 規(guī)則 142
8.4.2 RBO 模型與CBO 模型的對比 144
8.5 本章小結 146
第9 章 數據源接入 147
9.1 Redis 147
9.1.1 配置model.json 文件 148
9.1.2 配置Schema 信息 149
9.1.3 定義表元數據 150
9.1.4 定義迭代器 151
9.2 PostgreSQL 153
9.2.1 構建元數據 154
9.2.2 自定義優(yōu)化規(guī)則 155
9.2.3 整體流程 157
9.3 Janino 介紹 162
9.4 本章小結 164
第 10 章 SQL 函數擴展 165
10.1 UDF 165
10.1.1 UDF 介紹 165
10.1.2 Calcite 中如何定義UDF 166
10.2 UDAF 168
10.2.1 UDAF 介紹 168
10.2.2 Calcite 中如何定義UDAF 169
10.3 UDTF 170
10.3.1 UDTF 介紹 170
10.3.2 Calcite 中如何定義UDTF 171
10.4 執(zhí)行流程 173
10.5 本章小結 176
第 11 章 空間數據查詢 177
11.1 OGC 簡介 177
11.2 空間數據類型 178
11.3 空間函數 185
11.3.1 創(chuàng)建類函數 185
11.3.2 轉換類函數 186
11.3.3 屬性查詢函數 186
11.3.4 空間判斷函數 187
11.4 使用方法 188
11.5 自定義空間函數 189
11.6 本章小結 189
第 12 章 流式處理 190
12.1 流式查詢簡介 190
12.2 流式查詢初體驗 191
12.3 流式聚合查詢 195
12.4 本章小結 198
第 13 章 視圖 199
13.1 普通視圖 199
13.2 物化視圖 200
13.2.1 Join 重寫 202
13.2.2 聯合重寫 203
13.3 格 204
13.4 本章小結 206
第 14 章 Calcite 在開源項目中的使用 207
14.1 Hive 207
14.1.1 Hive 簡介 207
14.1.2 Hive 架構與執(zhí)行流程 208
14.1.3 Hive 集成Calcite 209
14.2 Kylin 221
14.2.1 Kylin 簡介 221
14.2.2 Kylin 架構及執(zhí)行流程 222
14.2.3 Kylin 集成Calcite 222
14.3 Flink 227
14.3.1 Flink 簡介 227
14.3.2 Flink 架構與執(zhí)行流程 228
14.3.3 Flink 集成Calcite 229
14.4 本章小結 232

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號