分佈式資料服務:事務模式、處理語言、一致性與體系結構
徐子晨//柳傑//婁俊升
- 出版商: 機械工業
- 出版日期: 2024-01-01
- 定價: $474
- 售價: 7.9 折 $374
- 語言: 簡體中文
- 頁數: 268
- 裝訂: 平裝
- ISBN: 7111737377
- ISBN-13: 9787111737377
-
相關分類:
大數據 Big-data
立即出貨
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
VIP 95折
深入淺出 SSD 測試 : 固態存儲測試流程 方法與工具$594$564 -
VIP 95折
MCP 開發從入門到實戰$515$489 -
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
RISC-V 架構 DSP 處理器設計$534$507 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
85折
$454RAG 實踐權威指南:構建精準、高效大模型之道 -
79折
$564CUDA 並行編程與性能優化 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
VIP 95折
大模型驅動的具身智能 架構,設計與實現$534$507 -
VIP 95折
納米級CMOS VLSI電路(可制造性設計)$474$450 -
VIP 95折
Manus應用與AI Agent設計指南:從入門到精通$359$341 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
VIP 95折
芯片的較量 (日美半導體風雲)$414$393 -
VIP 95折
Manus AI 智能體從入門到精通$294$279 -
87折
$981深度學習:基礎與概念 -
79折
$469GitHub Copilot 編程指南 -
87折
$469Cursor 與 Copilot 開發實戰 : 讓煩瑣編程智能化 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
Verilog HDL 計算機網絡典型電路算法設計與實現$354$336 -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673
簡體館年度書展|現貨2書79折3書75折 詳見活動內容 »
-
85折
$806Linux x64 匯編語言編程 -
VIP 95折
MCP 極簡開發 : 輕鬆打造高效智能體$479$455 -
VIP 95折
硬件系統模糊測試:技術揭秘與案例剖析$419$398 -
VIP 95折
生成式視覺模型原理與實踐$288$274 -
87折
$459AI大模型:賦能通信產業 -
VIP 95折
科學預測——預見科學之美$408$388 -
VIP 95折
Processing創意編程入門:從編程原理到項目案例$299$284 -
87折
$360高薪Offer 簡歷、面試、談薪完全攻略 -
VIP 95折
軟件系統優化$534$507 -
79折
$469GitHub Copilot 編程指南 -
85折
$551C#核心編程200例(視頻課程+全套源程序) -
VIP 95折
SAAS + AI 架構實戰:業務解析、架構設計、AI 應用$708$673 -
VIP 95折
深入淺出 Docker, 2/e$419$398 -
85折
$658Unity 特效制作:Shader Graph 案例精講 -
79折
$275零基礎玩轉國產大模型DeepSeek -
VIP 95折
人工智能大模型:機器學習基礎$774$735 -
VIP 95折
RAG 極簡入門:原理與實踐$419$398 -
VIP 95折
大模型實戰 : 從零實現 RAG 與 Agent 系統$419$398 -
VIP 95折
算法趣學(第2版)$348$331 -
VIP 95折
大模型理論與實踐——打造行業智能助手$354$336 -
85折
$509生成式人工智能 (基於 PyTorch 實現) -
VIP 95折
機器人抓取力學$894$849 -
VIP 95折
集成電路版圖設計從入門到精通$474$450 -
VIP 95折
Java 學習筆記, 6/e$839$797 -
VIP 95折
ZBrush遊戲角色設計(第2版)$479$455
相關主題
商品描述
本書介紹並行與分佈式資料服務的基礎理論、事務模型、資料處理語言等基礎內容,
並進一步討論分佈式資料一致性模型及全觀性的資料處理架構方面的先進及實用的研究及系統軟件相關知識,
最後,對分佈式資料服務的其他研究也進行了概述,並對其未來發展方向進行展望。
作者簡介
柳傑 國內因特網大廠分佈式快取服務資深工程師,前滴滴出行高級軟件開發工程師,曾參與並主導了滴滴出行底層鍵值儲存系統分佈式資源編排系統的重構方案設計,並負責開發實現,在分佈式系統架構領域有深入研究。開源專案eraft(https://eraft.cn/)主要程式碼貢獻者,該專案被收錄於史丹佛大學Raft協議官方庫,也是本書的實踐主體。
目錄大綱
序
前言
第一部 分佈式系統基礎與理論
第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
