大規模分散式存儲系統

大規模分散式存儲系統

《大規模分散式存儲系統》是2013年機械工業出版社出版的圖書,作者是楊傳輝。

基本介紹

  • 作者:楊傳輝
  • ISBN:9787111430520
  • 定價:59
  • 出版社:機械工業出版社
  • 出版時間:2013-9-1
  • 副標題:原理解析與架構實戰
內容介紹,作者介紹,作品目錄,

內容介紹

《大規模分散式存儲系統:原理解析與架構實戰》是分散式系統領域的經典著作,由阿里巴巴高級技術專家“阿里日照”(OceanBase核心開發人員)撰寫,陽振坤、章文嵩、楊衛華、汪源、余鋒(褚霸)、賴春波等來自阿里、新浪、網易和百度的資深技術專家聯袂推薦。理論方面,不僅講解了大規模分散式存儲系統的核心技術和基本原理,而且對谷歌、亞馬遜、微軟和阿里巴巴等國際型大網際網路公司的大規模分散式存儲系統進行了分析;實戰方面,首先通過對阿里巴巴的分散式資料庫OceanBase的實現細節的深入剖析完整地展示了大規模分散式存儲系統的架構與設計過程,然後講解了大規模分散式存儲技術在雲計算和大數據領域的實踐與套用。
《大規模分散式存儲系統:原理解析與架構實戰》內容分為四個部分:基礎篇——分散式存儲系統的基礎知識,包含單機存儲系統的知識,如數據模型、事務與並發控制、故障恢復、存儲引擎、壓縮/解壓縮等;分散式系統的數據分布、複製、一致性、容錯、可擴展性等。范型篇——介紹谷歌、亞馬遜、微軟、阿里巴巴等著名網際網路公司的大規模分散式存儲系統架構,涉及分散式檔案系統、分散式鍵值系統、分散式表格系統以及分散式資料庫技術等。實踐篇——以阿里巴巴的分散式資料庫OceanBase為例,詳細介紹分散式資料庫內部實現,以及實踐過程中的經驗。專題篇——介紹分散式系統的主要套用:雲存儲和大數據,這些是近年來的熱門領域,本書介紹了雲存儲平台、技術與安全,以及大數據的概念、流式計算、實時分析等。

作者介紹

楊傳輝,阿里巴巴高級技術專家,花名日照,OceanBase核心開發人員,對分散式系統的理論和工程實踐有深刻理解。曾在百度作為核心成員參與類MapReduce系統、類Bigtable系統和百度分散式訊息佇列等底層基礎設施架構工作。熱衷於分散式存儲和計算系統設計,樂於分享,有技術部落格NosqlNotes。

作品目錄

前言
第1章 概述
1.1 分散式存儲概念
1.2 分散式存儲分類
第一篇 基礎篇
第2章 單機存儲系統
2.1 硬體基礎
2.1.1 CPU架構
2.1.2 IO匯流排
2.1.3 網路拓撲
2.1.4 性能參數
2.1.5 存儲層次架構
2.2 單機存儲引擎
2.2.1 哈希存儲引擎
2.2.2 B樹存儲引擎
2.2.3 LSM樹存儲引擎
2.3 數據模型
2.3.1 檔案模型
2.3.2 關係模型
2.3.3 鍵值模型
2.3.4 SQL與NoSQL
2.4 事務與並發控制
2.4.1 事務
2.4.2 並發控制
2.5 故障恢復
2.5.1 操作日誌
2.5.2 重做日誌
2.5.3 最佳化手段
2.6 數據壓縮
2.6.1 壓縮算法
2.6.2 列式存儲
第3章 分散式系統
3.1 基本概念
3.1.1 異常
3.1.2 一致性
3.1.3 衡量指標
3.2 性能分析
3.3 數據分布
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 總控節點
3.6.2 資料庫擴容
3.6.3 異構系統
3.7 分散式協定
3.7.1 兩階段提交協定
3.7.2 Paxos協定
3.7.3 Paxos與2PC
3.8 跨機房部署
第二篇 范型篇
第4章 分散式檔案系統
4.1 Google檔案系統
4.1.1 系統架構
4.1.2 關鍵問題
4.1.3 Master設計
4.1.4 ChunkServer設計
4.1.5 討論
4.2 Taobao File System
4.2.1 系統架構
4.2.2 討論
4.3 Facebook Haystack
4.3.1 系統架構
4.3.2 討論
4.4 內容分發網路
4.4.1 CDN架構
4.4.2 討論
第5章 分散式鍵值系統
5.1 Amazon Dynamo
5.1.1 數據分布
5.1.2 一致性與複製
5.1.3 容錯
5.1.4 負載均衡
5.1.5 讀寫流程
5.1.6 單機實現
5.1.7 討論
5.2 淘寶Tair
5.2.1 系統架構
5.2.2 關鍵問題
5.2.3 討論
第6章 分散式表格系統
6.1 Google Bigtable
6.1.1 架構
6.1.2 數據分布
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 系統架構
6.2.2 實體組
6.2.3 並發控制
6.2.4 複製
6.2.5 索引
6.2.6 協調者
6.2.7 讀取流程
6.2.8 寫入流程
6.2.9 討論
6.3 Windows Azure Storage
6.3.1 整體架構
6.3.2 檔案流層
6.3.3 分區層
6.3.4 討論
第7章 分散式資料庫
7.1 資料庫中間層
7.1.1 架構
7.1.2 擴容
7.1.3 討論
7.2 Microsoft SQL Azure
7.2.1 數據模型
7.2.2 架構
7.2.3 複製與一致性
7.2.4 容錯
7.2.5 負載均衡
7.2.6 多租戶
7.2.7 討論
7.3 Google Spanner
7.3.1 數據模型
7.3.2 架構
7.3.3 複製與一致性
7.3.4 TrueTime
7.3.5 並發控制
7.3.6 數據遷移
7.3.7 討論
第三篇 實踐篇
第8章 OceanBase架構初探
8.1 背景簡介
8.2 設計思路
8.3 系統架構
8.3.1 整體架構圖
8.3.2 客戶端
8.3.3 RootServer
8.3.4 MergeServer
8.3.5 ChunkServer
8.3.6 UpdateServer
8.3.7 定期合併&數據分發
8.4 架構剖析
8.4.1 一致性選擇
8.4.2 數據結構
8.4.3 可靠性與可用性
8.4.4 讀寫事務
8.4.5 單點性能
8.4.6 SSD支持
8.4.7 數據正確性
8.4.8 分層結構
第9章 分散式存儲引擎
9.1 公共模組
9.1.1 記憶體管理
9.1.2 基礎數據結構
9.1.3 鎖
9.1.4 任務佇列
9.1.5 網路框架
9.1.6 壓縮與解壓縮
9.2 RootServer實現機制
9.2.1 數據結構
9.2.2 子表複製與負載均衡
9.2.3 子表分裂與合併
9.2.4 UpdateServer選主
9.2.5 RootServer主備
9.3 UpdateServer實現機制
9.3.1 存儲引擎
9.3.2 任務模型
9.3.3 主備同步
9.4 ChunkServer實現機制
9.4.1 子表管理
9.4.2 SSTable
9.4.3 快取實現
9.4.4 IO實現
9.4.5 定期合併&數據分發
9.4.6 定期合併限速
9.5 消除更新瓶頸
9.5.1 讀寫最佳化回顧
9.5.2 數據旁路導入
9.5.3 數據分區
第10章 資料庫功能
10.1 整體結構
10.2 唯讀事務
10.2.1 物理操作符接口
10.2.2 單表操作
10.2.3 多表操作
10.2.4 SQL執行本地化
10.3 寫事務
10.3.1 寫事務執行流程
10.3.2 多版本並發控制
10.4 OLAP業務支持
10.4.1 並發查詢
10.4.2 列式存儲
10.5 特色功能
10.5.1 大表左連線
10.5.2 數據過期與批量刪除
第11章 質量保證、運維及實踐
11.1 質量保證
11.1.1 RD開發
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 系統發展路徑
11.4.2 人員成長
11.4.3 系統設計
11.4.4 系統實現
11.4.5 使用與運維
11.4.6 工程現象
11.4.7 經驗法則
第四篇 專題篇
第12章 雲存儲
12.1 雲存儲的概念
12.2 雲存儲的產品形態
12.3 雲存儲技術
12.4 雲存儲的核心優勢
12.5 雲平台整體架構
12.5.1 Amazon雲平台
12.5.2 Google雲平台
12.5.3 Microsoft雲平台
12.5.4 雲平台架構
12.6 雲存儲技術體系
12.7 雲存儲安全
第13章 大數據
13.1 大數據的概念
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架構
13.5.2 EMC Greenplum
13.5.3 HP Vertica
13.5.4 Google Dremel
參考資料

相關詞條

熱門詞條

聯絡我們