分散式資料服務:事務模式、處理語言、一致性與體系結構

徐子晨//柳傑//婁俊升

  • 出版商: 機械工業
  • 出版日期: 2024-01-01
  • 售價: $474
  • 貴賓價: 9.5$450
  • 語言: 簡體中文
  • 頁數: 268
  • 裝訂: 平裝
  • ISBN: 7111737377
  • ISBN-13: 9787111737377
  • 立即出貨

商品描述

本書介紹並行與分散式資料服務的基礎理論、事務模型、資料處理語言等基礎內容,
並進一步討論分散式資料一致性模型及全觀性的資料處理架構方面的先進及實用的研究及系統軟體相關知識,
最後,對分散式資料服務的其他研究也進行了概述,並對其未來發展方向進行展望。

目錄大綱


前言
第一部 分散式系統基礎與理論
第1章 分散式系統基礎2
1.1 概述2
1.2 分散式設計目標4
1.2.1 一致性4
1.2.2 可用性6
1.2.3 分區容錯性8
1.2.4 可擴展性9
1.3 資料模型10
1.3.1 關係模型10
1.3.2 文檔模型12
1.3.3 圖狀資料模型14
1.4 資料儲存15
1.4.1 資料庫內部的資料結構17
1.4.2 列式儲存20
1.5 資料冗餘與副本25
1.6 本章小結27
第2章 分散式資料處理語言29
2.1 SQL29
2.1.1 SQL基礎30
2.1.2 SQL的查詢語句33
2.1.3 SQL表的連線42
2.1.4 SQL的其他語句48
2.2 NoSQL52
2.2.1 鍵值資料庫處理語言53
2.2.2 文件資料庫處理語言56
2.2.3 列族資料庫處理語言61
2.2.4 圖資料庫處理語言65
2.3 本章小結72
第3章 分散式查詢流程73
3.1 分散式連線問題74
3.1.1 直接連接演算法77
3.1.2 半連接演算法78
3.1.3 布隆連接演算法80
3.2 多關係連結83
3.2.1 分散式查詢最佳化的目標83
3.2.2 分散式查詢最佳化的基本方法84
3.2.3 局部處理優化85
3.2.4 基於直接連線的多連線查詢最佳化87
3.2.5 基於半連接的多連接查詢最佳化90
3.3 關係連結演算法91
3.3.1 嵌套循環連接演算法92
3.3.2 哈希連接演算法93
3.3.3 排序歸併連接演算法95
3.4 本章小結97
第4章 分散式環境下的事務處理99
4.1 深入理解事務100
4.1.1 本地事務100
4.1.2 全域事務111
4.1.3 分散式事務112
4.2 原子提交協定與分散式事務
解決方案113
4.2.1 2PC協議113
4.2.2 3PC協議118
4.2.3 Best Efforts 1 PC事務120
4.2.4 TCC事務121
4.2.5 SAGA事務123
4.3 並發控制協定125
4.3.1 悲觀並發控制協議126
4.3.2 樂觀並發控制協議134
4.3.3 多版本並發控制協定136
4.4 本章小結138
第5章 分散式資料服務一致性139
5.1 資料同步方法139
5.1.1 主從複製139
5.1.2 多主複製141
5.1.3 無主複製143
5.2 分散式資料一致性等級144
5.2.1 線性一致性145
5.2.2 順序一致性與PRAM一致性147
5.2.3 因果一致性149
5.2.4 最終一致性與弱一致性152
5.3 分散式資料一致性/共識演算法154
5.3.1 ViewStamped Replication演算法157
5.3.2 Paxos演算法161
5.3.3 Practical Byzantine Fault Tolerance演算法167
5.3.4 Raft演算法171
5.4 本章小結177
第二部分 分散式系統經典案例學習與實戰
第6章 分散式系統案例分析——GFS180
6.1 GFS的設計目標180
6.2 GFS的master節點181
6.3 GFS讀文件182
6.4 GFS寫文件182
6.5 GFS的一致性183
6.6 本章小結185
第7章 面向分散式系統設計的Go語言基礎知識186
7.1 Go 語的優勢186
7.2 切片189
7.2.1 Go語言中的陣列189
7.2.2 切片的聲明190
7.2.3 切片的追加190
7.2.4 切片的截取192
7.2.5 修改切片元素193
7.3 Goroutine和通道194
7.3.1 Goroutine簡介195
7.3.2 Goroutine 的使用196
7.3.3 通道簡介200
7.3.4 通道實現同步202
7.4 調度器203
7.4.1 調度器的設計決策203
7.4.2 Go語言調度器模型204
7.5 本章小結213
第8章 建構強一致性演算法庫214
8.1 核心資料結構設計214
8.2 協程模型215
8.3 RPC定義217
8.3.1 日誌條目:Entry217
8.3.2 投票請求:Request-Vote217
8.3.3 追加日誌:Append-Entries218
8.4 Leader 選舉實現分析219
8.5 日誌複製實作分析224
8.6 Raft快照實現分析228
8.7 本章小結230
第9章 基於強一致性演算法庫建構分散式鍵值儲存系統231
9.1 eraftkv架構及運作流程231
9.2 eraftkv環境配置232
9.3 讓系統運作起來233
9.4 對外介面定義234
9.5 服務端核心實現分析235
9.6 本章小結239
第10章強一致性演算法Raft的最佳化設計與實作:Multi-Raft240
10.1 設計思考240
10.2 配置伺服器實現分析241
10.3 分片伺服器實現分析242
10.4 客戶端實現分析246
10.5 本章小結248
參考文獻249