大规模分布式存储系统:原理解析与架构实战

大规模分布式存储系统:原理解析与架构实战
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2013-09
版次: 1
ISBN: 9787111430520
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 304页
正文语种: 简体中文
387人买过
  •   《大规模分布式存储系统:原理解析与架构实战》是分布式系统领域的经典著作,由阿里巴巴高级技术专家“阿里日照”(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 
    参考资料
  • 内容简介:
      《大规模分布式存储系统:原理解析与架构实战》是分布式系统领域的经典著作,由阿里巴巴高级技术专家“阿里日照”(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 
    参考资料
查看详情
系列丛书 / 更多
大规模分布式存储系统:原理解析与架构实战
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
董西成 著
大规模分布式存储系统:原理解析与架构实战
R语言数据分析与挖掘实战
张良均、云伟标、王路、刘晓勇 著
大规模分布式存储系统:原理解析与架构实战
Python与数据挖掘
张良均、杨海宏、何子健、杨征 著
大规模分布式存储系统:原理解析与架构实战
Spark大数据分析实战
高彦杰、倪亚宇 著
大规模分布式存储系统:原理解析与架构实战
大数据技术丛书:MATLAB数据分析与挖掘实战
张良均、杨坦、肖刚、徐圣兵 著
大规模分布式存储系统:原理解析与架构实战
Hadoop大数据分析与挖掘实战
张良均、樊哲、赵云龙、李成华 著
大规模分布式存储系统:原理解析与架构实战
大数据挖掘:系统方法与实例分析
周英、卓金武、卞月青 著
大规模分布式存储系统:原理解析与架构实战
R语言与数据挖掘
张良均、谢佳标、杨坦、肖刚 著
大规模分布式存储系统:原理解析与架构实战
数据挖掘:实用案例分析
张良均、陈俊德、刘名军 著
大规模分布式存储系统:原理解析与架构实战
Spark大数据处理:技术、应用与性能优化
高彦杰 著
大规模分布式存储系统:原理解析与架构实战
Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理
蔡斌、陈湘萍 著
大规模分布式存储系统:原理解析与架构实战
Hadoop与大数据挖掘
张良均 樊哲 位文超 刘名军 著
相关图书 / 更多
大规模分布式存储系统:原理解析与架构实战
大规模C++软件开发 卷1:过程与架构
[美]约翰·拉科斯(John Lakos)
大规模分布式存储系统:原理解析与架构实战
大规模地震预警系统理论、技术与实践
王暾;潘臻;吴军;伍良燕;林鸿潮;韦瑶;刘顺章
大规模分布式存储系统:原理解析与架构实战
大规模推荐系统实战
阿星(本名:张友雷
大规模分布式存储系统:原理解析与架构实战
大规模储能系统优化规划与运行技术
张澄;黄强;胡泽春
大规模分布式存储系统:原理解析与架构实战
大规模存储系统数据消冗
夏文 冯丹 华宇 邹翔宇
大规模分布式存储系统:原理解析与架构实战
大规模应急医用物资配置策略及其优化研究
叶永 著
大规模分布式存储系统:原理解析与架构实战
大规模MIMO网络的频谱、能量和硬件效率
Emil;Bjornson(埃米尔·比约尔森)
大规模分布式存储系统:原理解析与架构实战
大规模C++软件开发 卷1 过程与架构(英文版)
约翰·拉科斯(John Lakos)
大规模分布式存储系统:原理解析与架构实战
大规模时滞电力系统特征值计算(第2版)
叶华;刘玉田
大规模分布式存储系统:原理解析与架构实战
大规模在线学习动力与质量:社会性知识网络视角
王帆
大规模分布式存储系统:原理解析与架构实战
大规模英文语义树构建技术
冶忠林 著
大规模分布式存储系统:原理解析与架构实战
大规模深远海养殖模式的研究报告
林鸣