時序大數據平臺TDengine核心原理與實戰

TDengine團隊

  • 出版商: 人民郵電
  • 出版日期: 2024-07-01
  • 售價: $419
  • 貴賓價: 9.5$398
  • 語言: 簡體中文
  • 頁數: 244
  • 裝訂: 平裝
  • ISBN: 7115648581
  • ISBN-13: 9787115648587
  • 相關分類: 大數據 Big-data
  • 立即出貨 (庫存 < 4)

  • 時序大數據平臺TDengine核心原理與實戰-preview-1
  • 時序大數據平臺TDengine核心原理與實戰-preview-2
時序大數據平臺TDengine核心原理與實戰-preview-1

商品描述

本書由淺入深地闡述了時序大數據平臺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