大規(guī)模分布式存儲系統(tǒng):原理解析與架構(gòu)實戰(zhàn)(阿里巴巴高級技術專家撰寫,系統(tǒng)講解構(gòu)建大規(guī)模存儲系統(tǒng)的核心技術和原理,詳細分析Google、Amazon、Microsoft和阿里巴巴的大規(guī)模分布式存儲系統(tǒng)的原理。)
定 價:59 元
- 作者:楊傳輝 著
- 出版時間:2013/9/1
- ISBN:9787111430520
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP333.2
- 頁碼:293
- 紙張:膠版?
- 版次:1
- 開本:16開
本書是分布式系統(tǒng)領域的經(jīng)典著作,由阿里巴巴高級技術專家“阿里日照”(OceanBase核心開發(fā)人員)撰寫,陽振坤、章文嵩、楊衛(wèi)華、汪源、余鋒(褚霸)、賴春波等來自阿里、新浪、網(wǎng)易和百度的資深技術專家聯(lián)袂推薦。理論方面,不僅講解了大規(guī)模分布式存儲系統(tǒng)的核心技術和基本原理,而且對谷歌、亞馬遜、微軟和阿里巴巴等國際型大互聯(lián)網(wǎng)公司的大規(guī)模分布式存儲系統(tǒng)進行了分析;實戰(zhàn)方面,首先通過對阿里巴巴的分布式數(shù)據(jù)庫OceanBase的實現(xiàn)細節(jié)的深入剖析完整地展示了大規(guī)模分布式存儲系統(tǒng)的架構(gòu)與設計過程,然后講解了大規(guī)模分布式存儲技術在云計算和大數(shù)據(jù)領域的實踐與應用。
本書內(nèi)容分為四個部分:基礎篇——分布式存儲系統(tǒng)的基礎知識,包含單機存儲系統(tǒng)的知識,如數(shù)據(jù)模型、事務與并發(fā)控制、故障恢復、存儲引擎、壓縮/解壓縮等;分布式系統(tǒng)的數(shù)據(jù)分布、復制、一致性、容錯、可擴展性等。范型篇——介紹谷歌、亞馬遜、微軟、阿里巴巴等著名互聯(lián)網(wǎng)公司的大規(guī)模分布式存儲系統(tǒng)架構(gòu),涉及分布式文件系統(tǒng)、分布式鍵值系統(tǒng)、分布式表格系統(tǒng)以及分布式數(shù)據(jù)庫技術等。實踐篇——以阿里巴巴的分布式數(shù)據(jù)庫OceanBase為例,詳細介紹分布式數(shù)據(jù)庫內(nèi)部實現(xiàn),以及實踐過程中的經(jīng)驗。專題篇——介紹分布式系統(tǒng)的主要應用:云存儲和大數(shù)據(jù),這些是近年來的熱門領域,本書介紹了云存儲平臺、技術與安全,以及大數(shù)據(jù)的概念、流式計算、實時分析等。
阿里巴巴高級技術專家(OceanBase核心開發(fā)人員)撰寫,陽振坤、章文嵩、楊衛(wèi)華、汪源、余鋒(褚霸)、賴春波等來自阿里、新浪、網(wǎng)易和百度的資深技術專家聯(lián)袂推薦! ∠到y(tǒng)講解構(gòu)建大規(guī)模存儲系統(tǒng)的核心技術和原理,詳細分析Google、Amazon、Microsoft和阿里巴巴的大規(guī)模分布式存儲系統(tǒng)的原理。 實戰(zhàn)性強,通過對阿里巴巴的分布式數(shù)據(jù)庫OceanBase的實現(xiàn)細節(jié)進行深入分析,完整講解了大規(guī)模分布式存儲系統(tǒng)的架構(gòu)方法與應用實踐。
第1章 概述
1.1 分布式存儲概念
1.2 分布式存儲分類
第一篇 基礎篇
第2章 單機存儲系統(tǒng)
2.1 硬件基礎
2.1.1 CPU架構(gòu)
2.1.2 IO總線
2.1.3 網(wǎng)絡拓撲
2.1.4 性能參數(shù)
2.1.5 存儲層次架構(gòu)
2.2 單機存儲引擎
2.2.1 哈希存儲引擎
2.2.2 B樹存儲引擎
前言
第1章 概述
1.1 分布式存儲概念
1.2 分布式存儲分類
第一篇 基礎篇
第2章 單機存儲系統(tǒng)
2.1 硬件基礎
2.1.1 CPU架構(gòu)
2.1.2 IO總線
2.1.3 網(wǎng)絡拓撲
2.1.4 性能參數(shù)
2.1.5 存儲層次架構(gòu)
2.2 單機存儲引擎
2.2.1 哈希存儲引擎
2.2.2 B樹存儲引擎
2.2.3 LSM樹存儲引擎
2.3 數(shù)據(jù)模型
2.3.1 文件模型
2.3.2 關系模型
2.3.3 鍵值模型
2.3.4 SQL與NoSQL
2.4 事務與并發(fā)控制
2.4.1 事務
2.4.2 并發(fā)控制
2.5 故障恢復
2.5.1 操作日志
2.5.2 重做日志
2.5.3 優(yōu)化手段
2.6 數(shù)據(jù)壓縮
2.6.1 壓縮算法
2.6.2 列式存儲
第3章 分布式系統(tǒng)
3.1 基本概念
3.1.1 異常
3.1.2 一致性
3.1.3 衡量指標
3.2 性能分析
3.3 數(shù)據(jù)分布
3.3.1 哈希分布
3.3.2 順序分布
3.3.3 負載均衡
3.4 復制
3.4.1 復制的概述
3.4.2 一致性與可用性
3.5 容錯
3.5.1 常見故障
3.5.2 故障檢測
3.5.3 故障恢復
3.6 可擴展性
3.6.1 總控節(jié)點
3.6.2 數(shù)據(jù)庫擴容
3.6.3 異構(gòu)系統(tǒng)
3.7 分布式協(xié)議
3.7.1 兩階段提交協(xié)議
3.7.2 Paxos協(xié)議
3.7.3 Paxos與2PC
3.8 跨機房部署
第二篇 范型篇
第4章 分布式文件系統(tǒng)
4.1 Google文件系統(tǒng)
4.1.1 系統(tǒng)架構(gòu)
4.1.2 關鍵問題
4.1.3 Master設計
4.1.4 ChunkServer設計
4.1.5 討論
4.2 Taobao File System
4.2.1 系統(tǒng)架構(gòu)
4.2.2 討論
4.3 Facebook Haystack
4.3.1 系統(tǒng)架構(gòu)
4.3.2 討論
4.4 內(nèi)容分發(fā)網(wǎng)絡
4.4.1 CDN架構(gòu)
4.4.2 討論
第5章 分布式鍵值系統(tǒng)
5.1 Amazon Dynamo
5.1.1 數(shù)據(jù)分布
5.1.2 一致性與復制
5.1.3 容錯
5.1.4 負載均衡
5.1.5 讀寫流程
5.1.6 單機實現(xiàn)
5.1.7 討論
5.2 淘寶Tair
5.2.1 系統(tǒng)架構(gòu)
5.2.2 關鍵問題
5.2.3 討論
第6章 分布式表格系統(tǒng)
6.1 Google Bigtable
6.1.1 架構(gòu)
6.1.2 數(shù)據(jù)分布
6.1.3 復制與一致性
6.1.4 容錯
6.1.5 負載均衡
6.1.6 分裂與合并
6.1.7 單機存儲
6.1.8 垃圾回收
6.1.9 討論
6.2 Google Megastore
6.2.1 系統(tǒng)架構(gòu)
6.2.2 實體組
6.2.3 并發(fā)控制
6.2.4 復制
6.2.5 索引
6.2.6 協(xié)調(diào)者
6.2.7 讀取流程
6.2.8 寫入流程
6.2.9 討論
6.3 Windows Azure Storage
6.3.1 整體架構(gòu)
6.3.2 文件流層
6.3.3 分區(qū)層
6.3.4 討論
第7章 分布式數(shù)據(jù)庫
7.1 數(shù)據(jù)庫中間層
7.1.1 架構(gòu)
7.1.2 擴容
7.1.3 討論
7.2 Microsoft SQL Azure
7.2.1 數(shù)據(jù)模型
7.2.2 架構(gòu)
7.2.3 復制與一致性
7.2.4 容錯
7.2.5 負載均衡
7.2.6 多租戶
7.2.7 討論
7.3 Google Spanner
7.3.1 數(shù)據(jù)模型
7.3.2 架構(gòu)
7.3.3 復制與一致性
7.3.4 TrueTime
7.3.5 并發(fā)控制
7.3.6 數(shù)據(jù)遷移
7.3.7 討論
第三篇 實踐篇
第8章 OceanBase架構(gòu)初探
8.1 背景簡介
8.2 設計思路
8.3 系統(tǒng)架構(gòu)
8.3.1 整體架構(gòu)圖
8.3.2 客戶端
8.3.3 RootServer
8.3.4 MergeServer
8.3.5 ChunkServer
8.3.6 UpdateServer
8.3.7 定期合并&數(shù)據(jù)分發(fā)
8.4 架構(gòu)剖析
8.4.1 一致性選擇
8.4.2 數(shù)據(jù)結(jié)構(gòu)
8.4.3 可靠性與可用性
8.4.4 讀寫事務
8.4.5 單點性能
8.4.6 SSD支持
8.4.7 數(shù)據(jù)正確性
8.4.8 分層結(jié)構(gòu)
第9章 分布式存儲引擎
9.1 公共模塊
9.1.1 內(nèi)存管理
9.1.2 基礎數(shù)據(jù)結(jié)構(gòu)
9.1.3 鎖
9.1.4 任務隊列
9.1.5 網(wǎng)絡框架
9.1.6 壓縮與解壓縮
9.2 RootServer實現(xiàn)機制
9.2.1 數(shù)據(jù)結(jié)構(gòu)
9.2.2 子表復制與負載均衡
9.2.3 子表分裂與合并
9.2.4 UpdateServer選主
9.2.5 RootServer主備
9.3 UpdateServer實現(xiàn)機制
9.3.1 存儲引擎
9.3.2 任務模型
9.3.3 主備同步
9.4 ChunkServer實現(xiàn)機制
9.4.1 子表管理
9.4.2 SSTable
9.4.3 緩存實現(xiàn)
9.4.4 IO實現(xiàn)
9.4.5 定期合并&數(shù)據(jù)分發(fā)
9.4.6 定期合并限速
9.5 消除更新瓶頸
9.5.1 讀寫優(yōu)化回顧
9.5.2 數(shù)據(jù)旁路導入
9.5.3 數(shù)據(jù)分區(qū)
第10章 數(shù)據(jù)庫功能
10.1 整體結(jié)構(gòu)
10.2 只讀事務
10.2.1 物理操作符接口
10.2.2 單表操作
10.2.3 多表操作
10.2.4 SQL執(zhí)行本地化
10.3 寫事務
10.3.1 寫事務執(zhí)行流程
10.3.2 多版本并發(fā)控制
10.4 OLAP業(yè)務支持
10.4.1 并發(fā)查詢
10.4.2 列式存儲
10.5 特色功能
10.5.1 大表左連接
10.5.2 數(shù)據(jù)過期與批量刪除
第11章 質(zhì)量保證、運維及實踐
11.1 質(zhì)量保證
11.1.1 RD開發(fā)
11.1.2 QA測試
11.1.3 試運行
11.2 使用與運維
11.2.1 使用
11.2.2 運維
11.3 應用
11.3.1 收藏夾
11.3.2 天貓評價
11.3.3 直通車報表
11.4 最佳實踐
11.4.1 系統(tǒng)發(fā)展路徑
11.4.2 人員成長
11.4.3 系統(tǒng)設計
11.4.4 系統(tǒng)實現(xiàn)
11.4.5 使用與運維
11.4.6 工程現(xiàn)象
11.4.7 經(jīng)驗法則
第四篇 專題篇
第12章 云存儲
12.1 云存儲的概念
12.2 云存儲的產(chǎn)品形態(tài)
12.3 云存儲技術
12.4 云存儲的核心優(yōu)勢
12.5 云平臺整體架構(gòu)
12.5.1 Amazon云平臺
12.5.2 Google云平臺
12.5.3 Microsoft云平臺
12.5.4 云平臺架構(gòu)
12.6 云存儲技術體系
12.7 云存儲安全
第13章 大數(shù)據(jù)
13.1 大數(shù)據(jù)的概念
13.2 MapReduce
13.3 MapReduce擴展
13.3.1 Google Tenzing
13.3.2 Microsoft Dryad
13.3.3 Google Pregel
13.4 流式計算
13.4.1 原理
13.4.2 Yahoo S4
13.4.3 Twitter Storm
13.5 實時分析
13.5.1 MPP架構(gòu)
13.5.2 EMC Greenplum
13.5.3 HP Vertica
13.5.4 Google Dremel
參考資料
楊傳輝 阿里巴巴高級技術專家,花名日照,OceanBase核心開發(fā)人員,對分布式系統(tǒng)的理論和工程實踐有深刻理解。曾在百度作為核心成員參與類MapReduce系統(tǒng)、類Bigtable系統(tǒng)和百度分布式消息隊列等底層基礎設施架構(gòu)工作。熱衷于分布式存儲和計算系統(tǒng)設計,樂于分享,有技術博客NosqlNotes(http://nosqlnotes.net)。
阿里巴巴高級技術專家(OceanBase核心開發(fā)人員)撰寫,陽振坤、章文嵩、楊衛(wèi)華、汪源、余鋒(褚霸)、賴春波等來自阿里巴巴、新浪、網(wǎng)易和百度的資深技術專家聯(lián)袂推薦。
系統(tǒng)講解構(gòu)建大規(guī)模存儲系統(tǒng)的核心技術和原理,詳細分析Google、Amazon、Microsoft和阿里巴巴的大規(guī)模分布式存儲系統(tǒng)的原理。
實戰(zhàn)性強,通過對阿里巴巴的分布式數(shù)據(jù)庫OceanBase的實現(xiàn)細節(jié)進行深入分析,全面講解了大規(guī)模分布式存儲系統(tǒng)的架構(gòu)方法與應用實踐。
前言
第1章 概述
1.1 分布式存儲概念
1.2 分布式存儲分類
第一篇 基礎篇
第2章 單機存儲系統(tǒng)
2.1 硬件基礎
2.1.1 CPU架構(gòu)
2.1.2 IO總線
2.1.3 網(wǎng)絡拓撲
2.1.4 性能參數(shù)
2.1.5 存儲層次架構(gòu)
2.2 單機存儲引擎
2.2.1 哈希存儲引擎
2.2.2 B樹存儲引擎
前言
第1章 概述
1.1 分布式存儲概念
1.2 分布式存儲分類
第一篇 基礎篇
第2章 單機存儲系統(tǒng)
2.1 硬件基礎
2.1.1 CPU架構(gòu)
2.1.2 IO總線
2.1.3 網(wǎng)絡拓撲
2.1.4 性能參數(shù)
2.1.5 存儲層次架構(gòu)
2.2 單機存儲引擎
2.2.1 哈希存儲引擎
2.2.2 B樹存儲引擎
2.2.3 LSM樹存儲引擎
2.3 數(shù)據(jù)模型
2.3.1 文件模型
2.3.2 關系模型
2.3.3 鍵值模型
2.3.4 SQL與NoSQL
2.4 事務與并發(fā)控制
2.4.1 事務
2.4.2 并發(fā)控制
2.5 故障恢復
2.5.1 操作日志
2.5.2 重做日志
2.5.3 優(yōu)化手段
2.6 數(shù)據(jù)壓縮
2.6.1 壓縮算法
2.6.2 列式存儲
第3章 分布式系統(tǒng)
3.1 基本概念
3.1.1 異常
3.1.2 一致性
3.1.3 衡量指標
3.2 性能分析
3.3 數(shù)據(jù)分布
3.3.1 哈希分布
3.3.2 順序分布
3.3.3 負載均衡
3.4 復制
3.4.1 復制的概述
3.4.2 一致性與可用性
3.5 容錯
3.5.1 常見故障
3.5.2 故障檢測
3.5.3 故障恢復
3.6 可擴展性
3.6.1 總控節(jié)點
3.6.2 數(shù)據(jù)庫擴容
3.6.3 異構(gòu)系統(tǒng)
3.7 分布式協(xié)議
3.7.1 兩階段提交協(xié)議
3.7.2 Paxos協(xié)議
3.7.3 Paxos與2PC
3.8 跨機房部署
第二篇 范型篇
第4章 分布式文件系統(tǒng)
4.1 Google文件系統(tǒng)
4.1.1 系統(tǒng)架構(gòu)
4.1.2 關鍵問題
4.1.3 Master設計
4.1.4 ChunkServer設計
4.1.5 討論
4.2 Taobao File System
4.2.1 系統(tǒng)架構(gòu)
4.2.2 討論
4.3 Facebook Haystack
4.3.1 系統(tǒng)架構(gòu)
4.3.2 討論
4.4 內(nèi)容分發(fā)網(wǎng)絡
4.4.1 CDN架構(gòu)
4.4.2 討論
第5章 分布式鍵值系統(tǒng)
5.1 Amazon Dynamo
5.1.1 數(shù)據(jù)分布
5.1.2 一致性與復制
5.1.3 容錯
5.1.4 負載均衡
5.1.5 讀寫流程
5.1.6 單機實現(xiàn)
5.1.7 討論
5.2 淘寶Tair
5.2.1 系統(tǒng)架構(gòu)
5.2.2 關鍵問題
5.2.3 討論
第6章 分布式表格系統(tǒng)
6.1 Google Bigtable
6.1.1 架構(gòu)
6.1.2 數(shù)據(jù)分布
6.1.3 復制與一致性
6.1.4 容錯
6.1.5 負載均衡
6.1.6 分裂與合并
6.1.7 單機存儲
6.1.8 垃圾回收
6.1.9 討論
6.2 Google Megastore
6.2.1 系統(tǒng)架構(gòu)
6.2.2 實體組
6.2.3 并發(fā)控制
6.2.4 復制
6.2.5 索引
6.2.6 協(xié)調(diào)者
6.2.7 讀取流程
6.2.8 寫入流程
6.2.9 討論
6.3 Windows Azure Storage
6.3.1 整體架構(gòu)
6.3.2 文件流層
6.3.3 分區(qū)層
6.3.4 討論
第7章 分布式數(shù)據(jù)庫
7.1 數(shù)據(jù)庫中間層
7.1.1 架構(gòu)
7.1.2 擴容
7.1.3 討論
7.2 Microsoft SQL Azure
7.2.1 數(shù)據(jù)模型
7.2.2 架構(gòu)
7.2.3 復制與一致性
7.2.4 容錯
7.2.5 負載均衡
7.2.6 多租戶
7.2.7 討論
7.3 Google Spanner
7.3.1 數(shù)據(jù)模型
7.3.2 架構(gòu)
7.3.3 復制與一致性
7.3.4 TrueTime
7.3.5 并發(fā)控制
7.3.6 數(shù)據(jù)遷移
7.3.7 討論
第三篇 實踐篇
第8章 OceanBase架構(gòu)初探
8.1 背景簡介
8.2 設計思路
8.3 系統(tǒng)架構(gòu)
8.3.1 整體架構(gòu)圖
8.3.2 客戶端
8.3.3 RootServer
8.3.4 MergeServer
8.3.5 ChunkServer
8.3.6 UpdateServer
8.3.7 定期合并&數(shù)據(jù)分發(fā)
8.4 架構(gòu)剖析
8.4.1 一致性選擇
8.4.2 數(shù)據(jù)結(jié)構(gòu)
8.4.3 可靠性與可用性
8.4.4 讀寫事務
8.4.5 單點性能
8.4.6 SSD支持
8.4.7 數(shù)據(jù)正確性
8.4.8 分層結(jié)構(gòu)
第9章 分布式存儲引擎
9.1 公共模塊
9.1.1 內(nèi)存管理
9.1.2 基礎數(shù)據(jù)結(jié)構(gòu)
9.1.3 鎖
9.1.4 任務隊列
9.1.5 網(wǎng)絡框架
9.1.6 壓縮與解壓縮
9.2 RootServer實現(xiàn)機制
9.2.1 數(shù)據(jù)結(jié)構(gòu)
9.2.2 子表復制與負載均衡
9.2.3 子表分裂與合并
9.2.4 UpdateServer選主
9.2.5 RootServer主備
9.3 UpdateServer實現(xiàn)機制
9.3.1 存儲引擎
9.3.2 任務模型
9.3.3 主備同步
9.4 ChunkServer實現(xiàn)機制
9.4.1 子表管理
9.4.2 SSTable
9.4.3 緩存實現(xiàn)
9.4.4 IO實現(xiàn)
9.4.5 定期合并&數(shù)據(jù)分發(fā)
9.4.6 定期合并限速
9.5 消除更新瓶頸
9.5.1 讀寫優(yōu)化回顧
9.5.2 數(shù)據(jù)旁路導入
9.5.3 數(shù)據(jù)分區(qū)
第10章 數(shù)據(jù)庫功能
10.1 整體結(jié)構(gòu)
10.2 只讀事務
10.2.1 物理操作符接口
10.2.2 單表操作
10.2.3 多表操作
10.2.4 SQL執(zhí)行本地化
10.3 寫事務
10.3.1 寫事務執(zhí)行流程
10.3.2 多版本并發(fā)控制
10.4 OLAP業(yè)務支持
10.4.1 并發(fā)查詢
10.4.2 列式存儲
10.5 特色功能
10.5.1 大表左連接
10.5.2 數(shù)據(jù)過期與批量刪除
第11章 質(zhì)量保證、運維及實踐
11.1 質(zhì)量保證
11.1.1 RD開發(fā)
11.1.2 QA測試
11.1.3 試運行
11.2 使用與運維
11.2.1 使用
11.2.2 運維
11.3 應用
11.3.1 收藏夾
11.3.2 天貓評價
11.3.3 直通車報表
11.4 最佳實踐
11.4.1 系統(tǒng)發(fā)展路徑
11.4.2 人員成長
11.4.3 系統(tǒng)設計
11.4.4 系統(tǒng)實現(xiàn)
11.4.5 使用與運維
11.4.6 工程現(xiàn)象
11.4.7 經(jīng)驗法則
第四篇 專題篇
第12章 云存儲
12.1 云存儲的概念
12.2 云存儲的產(chǎn)品形態(tài)
12.3 云存儲技術
12.4 云存儲的核心優(yōu)勢
12.5 云平臺整體架構(gòu)
12.5.1 Amazon云平臺
12.5.2 Google云平臺
12.5.3 Microsoft云平臺
12.5.4 云平臺架構(gòu)
12.6 云存儲技術體系
12.7 云存儲安全
第13章 大數(shù)據(jù)
13.1 大數(shù)據(jù)的概念
13.2 MapReduce
13.3 MapReduce擴展
13.3.1 Google Tenzing
13.3.2 Microsoft Dryad
13.3.3 Google Pregel
13.4 流式計算
13.4.1 原理
13.4.2 Yahoo S4
13.4.3 Twitter Storm
13.5 實時分析
13.5.1 MPP架構(gòu)
13.5.2 EMC Greenplum
13.5.3 HP Vertica
13.5.4 Google Dremel
參考資料