当前位置:首页 > 工业技术
大规模分布式存储系统
大规模分布式存储系统

大规模分布式存储系统PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:杨传辉著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111430520
  • 页数:294 页
图书介绍:本书系统讲解大规模分布式存储系统的原理与最佳实践,分析著名互联网公司的大规模分布式存储系统架构,解析分布式技术中的要点,细致讲解著名分布式系统OceanBasede的实现经验。主要内容分为四个部分:基础篇——分布式存储系统的基础知识,包含单机存储系统的知识,如数据模型、事务与并发控制、故障恢复、存储引擎、压缩/解压缩等;分布式系统的数据分布、复制、一致性、容错、可扩展性等。范型篇——介绍Google、亚马逊、微软、阿里巴巴等著名互联网公司的大规模分布式存储系统架构,涉及分布式文件系统、分布式键值系统、分布式表格系统以及分布式数据库技术等。实践篇——以阿里巴巴的分布式数据库OceanBase为例,详细介绍分布式数据库内部实现,以及实践过程中的经验。专题篇——介绍分布式系统的主要应用:云存储和大数据,这些是近年来的热门领域,这部分介绍了云存储平台、技术与安全,以及大数据的概念、流式计算、实时分析等。本书是作者多年实践经验的总结,内容深入浅出、实用性强。可帮助云计算开发技术人员快速构建云存储系统,也可供广大网络技术开发人员参考。
《大规模分布式存储系统》目录

第1章 概述 1

1.1 分布式存储概念 1

1.2 分布式存储分类 2

第一篇 基础篇 6

第2章 单机存储系统 6

2.1 硬件基础 6

2.1.1 CPU架构 6

2.1.2 IO总线 7

2.1.3 网络拓扑 9

2.1.4 性能参数 10

2.1.5 存储层次架构 11

2.2 单机存储引擎 12

2.2.1 哈希存储引擎 12

2.2.2 B树存储引擎 14

2.2.3 LSM树存储引擎 15

2.3 数据模型 17

2.3.1 文件模型 17

2.3.2 关系模型 18

2.3.3 键值模型 19

2.3.4 SQL与NoSQL 20

2.4 事务与并发控制 21

2.4.1 事务 21

2.4.2 并发控制 23

2.5 故障恢复 26

2.5.1 操作日志 26

2.5.2 重做日志 27

2.5.3 优化手段 27

2.6 数据压缩 29

2.6.1 压缩算法 29

2.6.2 列式存储 33

第3章 分布式系统 36

3.1 基本概念 36

3.1.1 异常 36

3.1.2 一致性 38

3.1.3 衡量指标 39

3.2 性能分析 40

3.3 数据分布 42

3.3.1 哈希分布 43

3.3.2 顺序分布 45

3.3.3 负载均衡 46

3.4 复制 47

3.4.1 复制的概述 47

3.4.2 一致性与可用性 49

3.5 容错 50

3.5.1 常见故障 50

3.5.2 故障检测 51

3.5.3 故障恢复 52

3.6 可扩展性 53

3.6.1 总控节点 54

3.6.2 数据库扩容 54

3.6.3 异构系统 56

3.7 分布式协议 57

3.7.1 两阶段提交协议 57

3.7.2 Paxos协议 59

3.7.3 Paxos与2PC 60

3.8 跨机房部署 60

第二篇 范型篇 66

第4章 分布式文件系统 66

4.1 Google文件系统 66

4.1.1 系统架构 66

4.1.2 关键问题 67

4.1.3 Master设计 72

4.1.4 ChunkServer设计 74

4.1.5 讨论 74

4.2 Taobao File System 75

4.2.1 系统架构 75

4.2.2 讨论 78

4.3 Facebook Haystack 78

4.3.1 系统架构 79

4.3.2 讨论 82

4.4 内容分发网络 83

4.4.1 CDN架构 83

4.4.2 讨论 85

第5章 分布式键值系统 86

5.1 Amazon Dynamo 86

5.1.1 数据分布 86

5.1.2 一致性与复制 88

5.1.3 容错 89

5.1.4 负载均衡 90

5.1.5 读写流程 91

5.1.6 单机实现 92

5.1.7 讨论 93

5.2 淘宝Tair 93

5.2.1 系统架构 93

5.2.2 关键问题 94

5.2.3 讨论 96

第6章 分布式表格系统 97

6.1 Google Bigtable 97

6.1.1 架构 98

6.1.2 数据分布 100

6.1.3 复制与一致性 101

6.1.4 容错 101

6.1.5 负载均衡 102

6.1.6 分裂与合并 102

6.1.7 单机存储 103

6.1.8 垃圾回收 104

6.1.9 讨论 105

6.2 Google Megastore 105

6.2.1 系统架构 107

6.2.2 实体组 108

6.2.3 并发控制 109

6.2.4 复制 110

6.2.5 索引 111

6.2.6 协调者 111

6.2.7 读取流程 112

6.2.8 写入流程 113

6.2.9 讨论 115

6.3 Windows Azure Storage 115

6.3.1 整体架构 115

6.3.2 文件流层 117

6.3.3 分区层 121

6.3.4 讨论 125

第7章 分布式数据库 126

7.1 数据库中间层 126

7.1.1 架构 126

7.1.2 扩容 128

7.1.3 讨论 128

7.2 Microsoft SQL Azure 129

7.2.1 数据模型 129

7.2.2 架构 131

7.2.3 复制与一致性 132

7.2.4 容错 132

7.2.5 负载均衡 133

7.2.6 多租户 133

7.2.7 讨论 134

7.3 Google Spanner 134

7.3.1 数据模型 134

7.3.2 架构 135

7.3.3 复制与一致性 136

7.3.4 TrueTime 137

7.3.5 并发控制 138

7.3.6 数据迁移 139

7.3.7 讨论 139

第三篇 实践篇 142

第8章 OceanBase架构初探 142

8.1 背景简介 142

8.2 设计思路 143

8.3 系统架构 144

8.3.1 整体架构图 144

8.3.2 客户端 145

8.3.3 RootServer 147

8.3.4 MergeServer 148

8.3.5 ChunkServer 149

8.3.6 UpdateServer 149

8.3.7 定期合并&数据分发 150

8.4 架构剖析 151

8.4.1 一致性选择 151

8.4.2 数据结构 152

8.4.3 可靠性与可用性 154

8.4.4 读写事务 154

8.4.5 单点性能 155

8.4.6 SSD支持 156

8.4.7 数据正确性 157

8.4.8 分层结构 158

第9章 分布式存储引擎 159

9.1 公共模块 159

9.1.1 内存管理 159

9.1.2 基础数据结构 161

9.1.3 锁 164

9.1.4 任务队列 165

9.1.5 网络框架 166

9.1.6 压缩与解压缩 167

9.2 RootServer实现机制 168

9.2.1 数据结构 168

9.2.2 子表复制与负载均衡 170

9.2.3 子表分裂与合并 171

9.2.4 UpdateServer选主 172

9.2.5 RootServer主备 173

9.3 UpdateServer实现机制 174

9.3.1 存储引擎 174

9.3.2 任务模型 179

9.3.3 主备同步 181

9.4 ChunkServer实现机制 183

9.4.1 子表管理 183

9.4.2 SSTable 184

9.4.3 缓存实现 188

9.4.4 IO实现 190

9.4.5 定期合并&数据分发 191

9.4.6 定期合并限速 192

9.5 消除更新瓶颈 193

9.5.1 读写优化回顾 193

9.5.2 数据旁路导入 195

9.5.3 数据分区 195

第10章 数据库功能 197

10.1 整体结构 197

10.2 只读事务 199

10.2.1 物理操作符接口 201

10.2.2 单表操作 202

10.2.3 多表操作 203

10.2.4 SQL执行本地化 205

10.3 写事务 206

10.3.1 写事务执行流程 206

10.3.2 多版本并发控制 208

10.4 OLAP业务支持 212

10.4.1 并发查询 212

10.4.2 列式存储 214

10.5 特色功能 215

10.5.1 大表左连接 215

10.5.2 数据过期与批量删除 216

第11章 质量保证、运维及实践 218

11.1 质量保证 218

11.1.1 RD开发 219

11.1.2 QA测试 222

11.1.3 试运行 224

11.2 使用与运维 225

11.2.1 使用 225

11.2.2 运维 227

11.3 应用 228

11.3.1 收藏夹 229

11.3.2 天猫评价 230

11.3.3 直通车报表 231

11.4 最佳实践 232

11.4.1 系统发展路径 232

11.4.2 人员成长 234

11.4.3 系统设计 236

11.4.4 系统实现 237

11.4.5 使用与运维 238

11.4.6 工程现象 239

11.4.7 经验法则 240

第四篇 专题篇 242

第12章 云存储 242

12.1 云存储的概念 242

12.2 云存储的产品形态 245

12.3 云存储技术 247

12.4 云存储的核心优势 249

12.5 云平台整体架构 251

12.5.1 Amazon云平台 252

12.5.2 Google云平台 253

12.5.3 Microsoft云平台 255

12.5.4 云平台架构 258

12.6 云存储技术体系 261

12.7 云存储安全 263

第13章 大数据 267

13.1 大数据的概念 267

13.2 MapReduce 269

13.3 MapReduce扩展 270

13.3.1 Google Tenzing 271

13.3.2 Microsoft Dryad 274

13.3.3 Google Pregel 275

13.4 流式计算 276

13.4.1 原理 276

13.4.2 Yahoo S4 278

13.4.3 Twitter Storm 279

13.5 实时分析 281

13.5.1 MPP架构 281

13.5.2 EMC Greenplum 282

13.5.3 HP Vertica 285

13.5.4 Google Dremel 286

参考资料 288

返回顶部