分散式資料庫 入門 進與實戰

高洪濤

  • 出版商: 機械工業
  • 出版日期: 2026-04-01
  • 售價: $474
  • 語言: 簡體中文
  • 頁數: 230
  • 裝訂: 平裝
  • ISBN: 7111801350
  • ISBN-13: 9787111801351
  • 相關分類: 大數據 Big-data
  • 下單後立即進貨 (約4週~6週)

相關主題

商品描述

這是一本從原理、架構和實踐等維度講解分散式資料庫如何從入門到進階的著作。
本書分為四個大篇章,分別介紹:
 1.分散式資料庫的定義和歷史沿革。
區分廣義與狹義分散式資料庫。
點明本書主旨。
2.分散式資料庫的基礎知識。
包含資料分片,複製與一致性,事務基礎與儲存引擎。
3.分散式資料庫的進階概念與應用案例。
包含分散式系統,分散式一致性模型,分散式事務,共識演算法和軟體與硬體結合等內容。
4.分散式資料實戰。
包含分散式資料庫的選型與如果實現特定領域的分散式資料庫。 
閱讀本書後,讀者將對分散式資料從理論到實務有了清晰的概念。
在之後的工程實踐中,將對分散式場景下的資料庫儲存有更專業的認知,並對技術趨勢有深入的洞察。

目錄大綱

目  錄Contents
前 言
基礎篇
第1章 什麼是分散式資料庫 3
1.1 分散式資料庫發展脈絡 3
1.1.1 傳統資料處理模式 3
1.1.2 大數據 5
1.1.3 互聯網 6
1.1.4 雲原生 7
1.2 廣義的分散式資料庫 8
1.3 狹義的分散式資料庫 9
1.3.1 資料分片 10
1.3.2 資料複製 10
1.3.3 分散式事務 10
1.4 總結 10
第2章 SQL、NoSQL與NewSQL 12
2.1 SQL系統 12
2.1.1 SQL標準的演化 13
2.1.2 SQL的方言 14
2.1.3 SQL的變種 15
2.2 來自NoSQL的挑戰 16
2.2.1 NoSQL與SQL的差別 17
2.2.2 NoSQL的意義 17
2.3 NewSQL帶來的新希望 18
2.4 未來的SQL系統 19
2.5 總結 20
第3章 面向OLTP的分散式資料庫 21
3.1 TPS 21
3.1.1 TPS與資料庫 21
3.1.2 TPS的主要性 22
3.2 從傳統資料庫到分散式資料庫 23
3.2.1 中間件模式 23
3.2.2  NewSQL 24
3.3 總結 25
第4章 HTAP資料庫 26
4.1 HTAP系統 26
4.1.1 HTAP系統的挑戰 27
4.1.2 HTAP系統的化 28
4.2 HTAP的架構模式 28
4.2.1 單系統單複製架構 29
4.2.2 單系統雙複製架構 30
4.2.3 共享系統上的鬆散耦合架構 30
4.2.4 獨立儲存的鬆散耦合架構 31
4.3 總結 32
第5章 分散式資料庫面臨的核心
挑戰 33
5.1 挑戰的來源 33
5.1.1 分散式系統所帶來的挑戰 33
5.1.2 一性與分散式事務帶來的
挑戰 36
5.2 失敗模型 36
5.2.1 崩潰失敗 37
5.2.2 遺漏失敗 37
5.2.3 拜占庭失敗 37
5.2.4 處理失敗 38
5.3 總結 39
第6章 資料分片 40
6.1 分片原理 40
6.2 水平分片 41
6.2.1 哈希分片 42
6.2.2 範圍分片 42
6.2.3 其他分片 43
6.3 垂直分片 44
6.4 調整分片 44
6.4.1 手動分片 44
6.4.2 自動分片 45
6.5 分片案例 45
6.5.1 Apache ShardingSphere 45
6.5.2 TiDB 47
6.6 總結 48
第7章 資料複製 49
7.1 複製技術的關鍵性 49
7.1.1 高可用性 49
7.1.2 高性能 50
7.1.3 容災與復原 50
7.2 複製範圍 51
7.2.1 全量複製 51
7.2.2 增量複製 51
7.3 複製方案 52
7.4 複製協議 54
7.4.1 主從複製 54
7.4.2 選主方案 55
7.4.3 多主複製 56
7.5 案例:MySQL複製技術的
演化 57
7.5.1 傳統複製 57
7.5.2 半同步複製 58
7.5.3 增強半同步複製 59
7.5.4 組複製 60
7.6 總結 61
第8章 BASE與CAP 62
8.1 BASE概論 62
8.2 CAP概述 63
8.2.1 CAP的定義 63
8.2.2 CAP的註意事項 65
8.2.3 CAP的演進 65
8.3 CAP權衡 66
8.4 總結 67
第9章 事務基礎 68
9.1 併發資料異常 68
9.1.1 傳統的資料異常 69
9.1.2 資料異常研究的新進展 69
9.2 ACID 70
9.2.1 原子性 70
9.2.2 一性 70
9.2.3 隔離性 71
9.2.4 持久性 71
9.3 隔離等級 71
9.3.1 序列化 71
9.3.2 資料異常與隔離等級 72
9.4 並發控制演算法 73
9.4.1 鎖控制 73
9.4.2 時間戳排序 74
9.4.3 樂觀並發控制 74
9.4.4 多版本並發控制 75
9.5 單機資料庫事務管理器 76
9.5.1 頁緩存 76
9.5.2 日誌管理器 77
9.5.3 鎖管理器 77
9.6 資料庫如何復原資料 77
9.6.1 提交日誌的基礎性 77
9.6.2 物理日誌(Redo Log)與邏輯
日誌(Undo Log) 78
9.6.3 Steal與Force策略 78
9.6.4 ARIES資料恢復演算法 78
9.7 總結 79
第10章 儲存引擎基礎 80
10.1 儲存引擎概述 80
10.2 物理結構 81
10.3 資料的實體組織形式 82
10.4 磁碟中的檔案 83
10.4.1 資料檔 83
10.4.2 索引檔 83
10.5 分散式索引 84
10.5.1 索引資料表 84
10.5.2 讀寫路徑 86
10.5.3 典型的資料結構 86
10.6 面向分散式資料庫的存儲
引擎 88
10.7 總結 89
第11章 LSM型Key-Value儲存 90
11.1 LSM樹概述 90
11.1.1 LSM 樹狀結構點 91
11.1.2 LSM樹結構分類 91
11.2 查詢、更新與刪除作 92
11.3 合併作 93
11.3.1 Size-Tiered Compaction 93
11.3.2 Leveled Compaction 94
11.4 RUM假說與LSM化 95
11.5 總結 96
進篇
第12章 分散式資料庫架構 101
12.1 廣義的資料庫架構 101
12.1.1 架構模式分類 102
12.1.2 單資料庫主從模式 103
12.1.3 單資料庫點對點模式 105
12.1.4 多資料庫系統模式 106
12.2 當代分散式資料庫架構設計
目標 107
12.2.1 高性能 108
12.2.2 高可用性 108
12.2.3 線性擴展 108
12.3 資料儲架構 109
12.3.1 共享儲存 109
12.3.2 NewSQL 110
12.4 總結 111
第13章 分散式一性模型 112
13.1 作順序一性 112
13.1.1 嚴格一性 113
13.1.2 線性一性 113
13.1.3 順序一性 114
13.1.4 因果一性 116
13.2 會話一性 116
13.2.1 寫跟隨讀 117
13.2.2 先進先出 117
13.3 一性實現方案 118
13.3.1 邏輯時鐘 118
13.3.2 TrueTime 121
13.3.3 共識演算法 121
13.4 一性 122
13.4.1 可調一性 122
13.4.2 見證者副本 123
13.4.3 無衝突複製資料型態 124
13.5 事務與一性 125
13.6 總結 126
第14章 分散式事務 127
14.1 分段提交 128
14.2 Spanner概述 130
14.3 順序調度型事務 131
14.4 Calvin與Spanner的比較 133
14.5 動態時間分配 134
14.6 客戶端事務框架 135
14.6.1 Percolator框架 135
14.6.2 衝突解決機制 137
14.7 前沿事務動態 138
14.8 總結 139
第15章 失敗處理 140
15.1 失敗檢測 141
15.1.1 失敗檢測性 141
15.1.2 心跳檢測法 142
15.1.3 登記檢測法 144
15.1.4 間接檢測法 144
15.2 失敗修復 145
15.2.1 恰好一次發送 145
15.2.2 讀修復 146
15.2.3 暗示切換 148
15.2.4 Merkle樹 148
15.2.5 位圖版本向量 150
15.2.6 Gossip協定 151
15.3 總結 152
第16章 共識演算法 153
16.1 原子廣播 154
16.2 Paxos演算法 155
16.2.1 Multi-Paxos 156
16.2.2 Flexible Paxos 157
16.3 Paxos與原子廣播的對比 158
16.4 Raft 159
16.5 總結 159
第17章 查詢引擎 161
17.1 典型查詢引擎處理流程 162
17.1.1 建構查詢計畫 162
17.1.2 化查詢計畫 163
17.1.3 執行查詢 165
17.2 分散式查詢處理流程 166
17.3 資料定位 167
17.3.1 過濾作下推 168
17.3.2 連接下推 169
17.3.3 投影裁切 169
17.3.4 派生裁切 169
17.4 分散式化 170
17.4.1 代公式 170
17.4.2 訊息成本統計 171
17.5 分散式執行 172
17.5.1 並行度評估 172
17.5.2 並行排序 173
17.6 總結 173
第18章 軟硬結合 174
18.1 硬體對資料庫的支援 174
18.2 新型硬體儲存技術 175
18.3 SSD儲存 176
18.3.1 資料庫元件適配SSD 177
18.3.2 NVMe加速SSD 178
18.4 FPGA 179
18.5 RDMA 180
18.6 總結 181
擴充篇
第19章 資料庫中間件 185
19.1 生成ID 185
19.2 資料分片與分片查詢 186
19.3 客戶端事務處理 188
19.4 輔助功能 190
19.5 總結 192
第20章 SQL類別資料庫的進化 193
20.1 Oracle Sharding 194
20.2 開源並行類別SQL 195
20.3 傳統資料庫與NewSQL的
比較 197
20.4 總結 198
第21章 分散式資料庫選型 199
21.1 NewSQL的點 199
21.1.1 新穎的架構 199
21.1.2 分片管理 201
21.1.3 對SQL的支援 202
21.1.4 更易用的事務 203
21.2 網路產業實務經驗 203
21.3 傳統產業實務經驗 205
21.4 總結 207
第22章 殊用途的分散式資料庫 208
22.1 雲原生資料庫 209
22.2 HTAP融合資料庫 210
22.3 記憶體資料庫 211
22.4 圖資料庫 212
22.5 時序資料庫 212
22.6 總結 213
第23章 從零開始建構分佈式
資料庫 215
23.1 需求分析 215
23.2 方案設計 216
第24章 LLM賦能分散式資料庫智能
交互 218
24.1 傳統Text-to-SQL方法回顧 219
24.1.1 基於模板和規則的早期
方案 219
24.1.2 深度學習時代的Seq2Seq與PLM 219
24.1.3 傳統方法的困難與瓶頸 220
24.2 llm賦能的Text-to-SQL的勢
與應用場景 221
24.2.1 llm的關鍵性 221
24.2.2 llm賦能的Text-to-SQL 的
勢 222
24.2.3 llm賦能的Text-to-sql的
典型應用場景 222
24.3 llm賦能的 Text-to-SQL的核心
技術 223
24.3.1 提示工程 223
24.3.2 模型微調 225
24.4 前沿研究 226
24.4.1 新世代資料集與挑戰 227
24.4.2 多語/多模態Text-to-
SQL 227
24.4.3 智能體化趨勢 228
24.4.4 隱私與性挑戰 228
24.5 總結 229