時序大數據平臺TDengine核心原理與實戰
TDengine團隊
- 出版商: 人民郵電
- 出版日期: 2024-07-01
- 售價: $419
- 貴賓價: 9.5 折 $398
- 語言: 簡體中文
- 頁數: 244
- 裝訂: 平裝
- ISBN: 7115648581
- ISBN-13: 9787115648587
-
相關分類:
大數據 Big-data
立即出貨 (庫存 < 4)
相關主題
商品描述
本書由淺入深地闡述了時序大數據平臺TDengine的核心原理與實戰案例。首先,本書為讀者提供了時序數據的基礎知識和TDengine的核心特性概覽,包括數據模型、數據寫入、數據查詢、數據訂閱和流計算等;其次,詳細介紹了TDengine的日常運維管理,包括安裝部署、資源規劃、圖形化管理、數據安全等關鍵內容;然後,深入講解瞭如何利用TDengine進行應用開發,涵蓋多種編程語言的連接器使用、訂閱數據,以及自定義函數的開發等高級功能;接下來,為數據庫研發愛好者揭秘TDengine的內核設計,從分佈式架構到存儲引擎、查詢引擎、數據訂閱,再到流計算引擎的詳細闡述;最後,通過分析典型應用場景案例,展示TDengine如何在實際業務中發揮作用。
本書架構清晰,內容豐富,理論與實踐相結合,適合作為需要使用TDengine進行大數據處理的開發者、架構師和產品經理的技術參考與培訓資料。
作者簡介
TDengine团队是一支汇集了顶尖技术人才的精英集体,由深谙时序数据库领域的资深专家和充满创新精神的工程师组成。团队成员不仅在大数据处理和时序数据存储方面拥有深厚的理论基础,更在实际应用中积累了丰富的经验。他们秉承开放、协作的精神,致力于将TDengine发展成为全球领先的时序数据库管理系统。通过不懈的努力和持续的技术创新,TDengine团队为TDengine赋予了高性能、高可靠性和易用性,使其在物联网、车联网、工业互联网等多个行业得到广泛应用,赢得了全球开发者和企业用户的高度认可。
目錄大綱
第 一部分 基礎知識
第 1章 時序數據 1
1.1 什麽是時序數據 1
1.2 時序數據的十大特徵 2
1.3 時序數據的典型應用場景 3
1.4 處理時序數據所需要的核心模塊 5
1.5 專用時序數據處理工具的必要性 6
1.6 選擇時序數據處理工具的標準 8
第 2章 TDengine入門 10
2.1 TDengine產品 10
2.2 TDengine主要功能與特性 11
2.3 TDengine與典型時序數據庫的區別 12
2.4 TDengine安裝和啟動 13
2.4.1 在Linux操作系統中安裝和啟動 14
2.4.2 Docker方式安裝和啟動 15
2.4.3 故障排查 16
2.5 TDengine雲服務 16
2.5.1 新用戶註冊 16
2.5.2 創建實例 17
2.6 通過taosBenchmark體驗寫入速度 17
2.7 通過TDengine CLI體驗查詢速度 18
第3章 TDengine數據模型 19
3.1 基本概念 20
3.1.1 採集量 20
3.1.2 標簽 20
3.1.3 數據採集點 20
3.1.4 表 21
3.1.5 超級表 21
3.1.6 子表 22
3.1.7 庫 22
3.1.8 時間戳 23
3.2 數據建模 24
3.2.1 創建數據庫 24
3.2.2 創建超級表 25
3.2.3 創建表 25
3.2.4 自動建表 26
3.2.5 創建普通表 26
3.2.6 多列模型與單列模型 27
第4章 TDengine數據寫入 29
4.1 寫入 29
4.1.1 一次寫入一條 29
4.1.2 一次寫入多條 30
4.1.3 一次寫入多表 30
4.1.4 指定列寫入 30
4.1.5 寫入記錄時自動建表 30
4.1.6 通過超級表寫入 31
4.1.7 零代碼方式寫入 31
4.2 更新 32
4.3 刪除 32
第5章 TDengine數據查詢 33
5.1 基本查詢 33
5.2 聚合查詢 34
5.3 數據切分查詢 36
5.4 窗口切分查詢 36
5.4.1 時間戳偽列 38
5.4.2 時間窗口 38
5.4.3 狀態窗口 43
5.4.4 會話窗口 44
5.4.5 事件窗口 46
5.4.6 計數窗口 47
5.5 時序數據特有函數 48
5.6 嵌套查詢 49
5.7 union子句 50
5.8 關聯查詢 50
5.8.1 Join概念 50
5.8.2 語法說明 52
5.8.3 Join功能 52
5.8.4 約束和限制 53
第6章 TDengine高級功能 55
6.1 數據訂閱 55
6.1.1 主題類型 56
6.1.2 刪除主題 57
6.1.3 查看主題 58
6.1.4 創建消費者 58
6.1.5 查看消費者 58
6.1.6 刪除消費組 58
6.1.7 查看訂閱信息 58
6.1.8 訂閱數據 58
6.1.9 回放功能 59
6.2 數據緩存 59
6.2.1 寫緩存 60
6.2.2 讀緩存 60
6.2.3 元數據緩存 61
6.2.4 文件系統緩存 61
6.2.5 實時數據查詢的緩存實踐 62
6.3 流計算 63
6.3.1 創建流計算 63
6.3.2 流計算的分區 65
6.3.3 流計算讀取歷史數據 66
6.3.4 流計算的觸發模式 67
6.3.5 流計算的窗口關閉 67
6.3.6 流計算對於過期數據的處理策略 68
6.3.7 流計算對於修改數據的處理策略 68
6.3.8 流計算的其他策略 69
6.3.9 流計算的相關操作 70
6.4 邊雲協同 71
6.4.1 為什麽需要邊雲協同 71
6.4.2 TDengine的邊雲協同解決方案 71
6.4.3 邊雲協同的優勢 73
6.5 零代碼數據源接入 73
6.5.1 支持的數據源 73
6.5.2 數據提取、過濾和轉換 74
6.5.3 任務的創建 75
6.5.4 任務管理 76
第二部分 運維管理
第7章 集群安裝部署 77
7.1 組件介紹 77
7.1.1 taosd 78
7.1.2 taosc 78
7.1.3 taosAdapter 79
7.1.4 taosKeeper 79
7.1.5 taosExplorer 80
7.1.6 taosX 80
7.1.7 taosX Agent 80
7.1.8 應用程序或第三方工具 81
7.2 資源規劃 81
7.2.1 服務器內存需求 82
7.2.2 客戶端內存需求 83
7.2.3 CPU需求 84
7.2.4 存儲需求 84
7.2.5 多級存儲 85
7.2.6 網絡帶寬需求 86
7.2.7 物理機或虛擬機台數 87
7.2.8 TDengine網絡埠要求 87
7.3 手動部署 88
7.3.1 安裝與配置 88
7.3.2 部署taosd 90
7.3.3 部署taosAdapter 96
7.3.4 部署taosKeeper 98
7.3.5 部署taosX 98
7.3.6 部署taosX Agent 99
7.3.7 部署taosExplorer 100
7.4 Docker部署 101
7.4.1 啟動TDengine 101
7.4.2 在host網絡模式下啟動TDengine 102
7.4.3 以指定的hostname和port啟動TDengine 102
7.5 Kubernetes部署與Helm部署 103
第8章 圖形化管理工具 104
8.1 集群運行監控 104
8.1.1 taosKeeper的安裝與配置 104
8.1.2 基於TDinsight的監控 105
8.2 可視化管理 107
8.2.1 登錄 107
8.2.2 運行監控面板 107
8.2.3數據寫入 107
8.2.4 數據瀏覽器 108
8.2.5 編程 108
8.2.6 流計算 108
8.2.7 數據訂閱 108
8.2.8 工具 108
8.2.9 數據管理 108
第9章 數據安全 109
9.1 用戶管理 109
9.1.1 創建用戶 109
9.1.2 查看用戶 110
9.1.3 修改用戶信息 110
9.1.4 刪除用戶 110
9.2 權限管理 110
9.2.1 資源管理 111
9.2.2 授權 111
9.2.3 查看授權 115
9.2.4 撤銷授權 115
9.3 數據備份、恢復、容錯和災備 116
9.3.1 基於taosdump進行數據備份恢復 116
9.3.2 基於TDengine Enterprise進行數據備份恢復 117
9.3.3 容錯 117
9.3.4 數據災備 118
9.4 更多的安全策略 118
9.4.1 IP白名單 119
9.4.2 審計日誌 119
9.4.3 數據加密 120
第三部分 應用開發
第 10章 SQL執行 122
10.1 連接器 122
10.1.1 建立連接的方式 123
10.1.2 Java連接器簡介 124
10.1.3 Java連接器的JDBC和JRE兼容性 124
10.1.4 安裝Java連接器 124
10.1.5 TDengine數據類型和Java數據類型的轉換關系 124
10.2 建立連接 125
10.2.1 指定URL以獲取連接 125
10.2.2 指定URL和Properties以獲取連接 127
10.2.3 配置參數的優先級 128
10.3 執行SQL 128
10.3.1 創建數據庫和表 128
10.3.2 寫入數據 129
10.3.3 查詢數據 129
10.3.4 執行帶有reqId的SQL 130
10.3.5 通過參數綁定方式高效寫入數據 130
第 11章 無模式寫入 133
11.1 無模式寫入行協議 133
11.2 時間分辨率識別 136
11.3數據模式映射規則 136
11.4 數據模式變更處理 137
11.5 Java連接器無模式寫入樣例 137
11.6 查詢寫入的數據 138
第 12章 訂閱數據 140
12.1 創建主題 140
12.2 創建消費者 141
12.3 訂閱消費數據 141
12.4 指定訂閱offset 142
12.5 提交offset 143
12.6 取消訂閱和關閉消費 143
第 13章 自定義函數 144
13.1 自定義函數簡介 144
13.2 用C語言開發UDF 144
13.2.1 接口定義 144
13.2.2 標量函數接口 144
13.2.3 聚合函數接口 145
13.2.4 初始化和銷毀接口 145
13.2.5 標量函數模板 146
13.2.6 聚合函數模板 146
13.2.7 編譯 147
13.3 用Python語言開發UDF 147
13.3.1 準備環境 147
13.3.2 接口定義 147
13.3.3 標量函數接口 147
13.3.4 聚合函數接口 148
13.3.5 初始化和銷毀接口 148
13.3.6 標量函數模板 148
13.3.7 聚合函數模板 149
13.3.8 數據類型映射 149
13.4 管理UDF 150
13.4.1 創建UDF 150
13.4.2 刪除UDF 151
13.4.3 查看UDF 151
第 14章 與第三方工具集成 152
14.1 Grafana 152
14.1.1 前置條件 152
14.1.2 安裝TDengine Datasource插件 153
14.1.3 創建Dashboard 153
14.2 Looker Studio 155
14.2.1 獲取 156
14.2.2 使用 156
14.3 Power BI 157
14.3.1 前置條件 157
14.3.2 安裝ODBC驅動 157
14.3.3 配置ODBC數據源 157
14.3.4 導入TDengine數據到Power BI 158
14.3.5 智能電表樣例 159
14.4 永洪BI 160
14.4.1 安裝永洪BI 160
14.4.2 安裝JDBC驅動 160
14.4.3 配置JDBC數據源 160
14.4.4 創建TDengine數據集 161
14.4.5 製作可視化報告 162
第四部分 技術內幕
第 15章 整體架構 163
15.1 集群與基本邏輯單元 163
15.1.1 主要邏輯單元 164
15.1.2 節點之間的通信 167
15.1.3 一個典型的消息流程 170
15.2 存儲模型與數據分片、數據分區 171
15.2.1 存儲模型 171
15.2.2 數據分片 172
15.2.3 數據分區 173
15.2.4 負載均衡與擴容 174
15.3 數據寫入與復制流程 174
15.3.1 leader vnode寫入流程 174
15.3.2 follower vnode寫入流程 175
15.3.3 主從選擇 176
15.3.4 同步復制 176
15.3.5 成員變更 176
15.3.6 重定向 177
15.4 緩存與持久化 177
15.4.1 時序數據緩存 177
15.4.2 持久化存儲 178
15.4.3 預計算 179
15.4.4 多級存儲與對象存儲 179
第 16章 存儲引擎 181
16.1 行列格式 181
16.1.1 行格式 181
16.1.2 列格式 182
16.2 vnode存儲 183
16.2.1 vnode存儲架構 183
16.2.2 元數據的存儲 184
16.2.3 時序數據的存儲 186
16.3 數據壓縮 189
16.3.1 存儲壓縮 189
16.3.2 傳輸壓縮 191
16.3.3 壓縮流程 191
第 17章 查詢引擎 193
17.1 各模塊在查詢計算中的職責 193
17.1.1 taosc 193
17.1.2 mnode 193
17.1.3 vnode 194
17.1.4 執行器 194
17.1.5 UDF Daemon 194
17.2 查詢策略 195
17.3 SQL說明 195
17.4 查詢流程 196
17.5 多表聚合查詢流程 196
17.6 查詢緩存 198
17.6.1 緩存的數據類型 198
17.6.2 緩存方案 198
第 18章 數據訂閱 200
18.1 基本概念 200
18.1.1 主題 200
18.1.2 生產者 201
18.1.3 消費者 201
18.2 數據訂閱架構 203
18.3 再平衡過程 204
18.4 消費者狀態處理 205
18.5 消費數據 206
第 19章 流計算引擎 208
19.1 相關概念 209
19.1.1 有狀態的流計算 209
19.1.2 預寫日誌 209
19.1.3 事件驅動執行 210
19.1.4 時間 210
19.1.5 時間窗口聚合 210
19.1.6 亂序處理 211
19.2 流計算任務 211
19.2.1 source task 212
19.2.2 agg task 212
19.2.3 sink task 212
19.3 流計算節點 213
19.4 狀態與容錯處理 213
19.4.1 檢查點 213
19.4.2 狀態存儲後端 214
19.5 內存管理 214
19.6 流量控制 214
19.7 反壓機制 215
第五部分 實踐案例
第 20章 車聯網 216
20.1 車聯網面臨的挑戰 216
20.2 TDengine在車聯網中的核心價值 217
20.3 TDengine在車聯網中的應用 218
20.3.1 TSP車聯網 218
20.3.2 物流車聯網 220
第 21章 新能源 222
21.1 新能源面臨的挑戰 222
21.2 TDengine在新能源中的核心價值 223
21.3 TDengine在新能源中的應用 224
21.3.1 營銷側分佈式光伏電站運行數據接入 224
21.3.2 數據即時分發至各地市 225
21.3.3 分類聚合計算瞬時發電功率 226
21.3.4 實時數據監測 227
21.3.5 智慧運維系統 227
第 22章 智慧油田 228
22.1 智慧油田面臨的挑戰 228
22.2 TDengine在智慧油田中的應用 229
第 23章 智能製造 233
23.1 智能製造面臨的挑戰 233
23.2 TDengine在智能製造中的核心價值 234
23.3 TDengine在智能製造中的應用 235
第 24章 金融 239
24.1 處理金融時序數據時面臨的挑戰 239
24.2 TDengine在金融中的核心價值 240
24.3 TDengine在金融中的應用 240
24.3.1 量化交易 240
24.3.2 行情中心 242