大规模分布式存储系统

出版社:机械工业出版社
出版日期:2013-9-1
ISBN:9787111430520
作者:杨传辉
页数:293页

内容概要

杨传辉,阿里巴巴高级技术专家,花名日照,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为例,详细介绍分布式数据库内部实现,以及实践过程中的经验。专题篇——介绍分布式系统的主要应用:云存储和大数据,这些是近年来的热门领域,本书介绍了云存储平台、技术与安全,以及大数据的概念、流式计算、实时分析等。


 大规模分布式存储系统下载 精选章节试读 更多精彩书评



发布书评

 
 


精彩书评 (总计7条)

  •     我两年前开始接触分布式相关的技术,但无奈分布式涵盖范围太广,分布式存储、分布式计算、CAP理论、什么GFS、Hadoop、Dynamo、hive等等,不下点功夫还真不能理顺它们之间的内在关系,特别是容易陷入到各种开源的框架中而无法自拔。本书相当清晰的给出了各个热门技术之间的关系,从单机存储系统降到分布式系统,这其中所涉及到的技术也都一一列出,然后讲述了各种范型,分布式文件系统由哪些,分布式键值系统有哪些,分布式表格系统有哪些,分布式数据库又包含哪些。不过在范型篇中,作者并没有下太多的功夫,对每个系统并没有系统的讲述,很多流行在网络中的描述在本书都能找到,可以理解,要完全搞懂这些并能讲述清楚,不吃不喝几年也是难以完成的。非常感谢这本书...
  •     近期看的最慢的一本, 都是基础知识.精彩摘要笔记:http://liguanglei.name/blogs/2014/03/08/large-scale-distributed-storage-system/
  •     在这书里,作者刀枪剑戟斧钺钩叉随手舞来,天文地理吃喝嫖赌样样通透。。从书最开始对网络,存量,运行时间的估算就意思到,有严谨的态度才能做出合格的系统。离这样的架构师水平有好远的路要爬。分布式可大可小,但要做到像书里介绍的那些商业化长度,又有好远的路要走.该书即使不去配合动手,你也可以吸取很多营养,各种架构的设计,他们之间的无状态的协议设计思维.各种增大增粗提升战斗力的要素方向.看了就会对你的工作产生潜移默化的帮助哎呀哇,纸上得来终觉浅,绝知此事要躬行。相比同时期前阿里员工的一本算科普,这本算是深入..没怎么浅出啊.额,其实我一直对我没办法理解怎么解析sql语句而耿耿于怀.还有,能有篇幅介绍些常见设计的坑最好了,让书里多些刀光剑影,明枪暗箭,情仇怨念更精彩.再怨念一次,阿里c/c++系能变成主流吗

精彩短评 (总计50条)

  •     对几个主流的简单介绍,适合入门看下
  •     第一篇章写的还是太过精简,要理解其中的理论需要从其他地方花好些功夫。至于其他篇章建议要把第一篇章内的知识学习完善。第三篇相当于把OceanBase的原理都讲了一遍。总的来说质量还是非常高的。
  •     作者想表达的很多,篇幅又很短,导致什么也没说透,尤其是专题篇,真的很水...
  •     前面5章感觉还算不错。后面感觉有很多重复,而且作为一个没什么分布式存储经验的人。。感觉有点看不懂。。。OceanBase前面介绍的还挺清晰,但到后面就不想看了。。。跳过了很多细节,就当作开阔技术视野吧。。
  •     浏览了一遍
  •     分布式资料不多,想这种原理产品结合一起讲解的书籍不多,作为入门资料很不错
  •     讲的挺全,细节还是比较少。思路讲的不多。
  •     2014年读的。扩展了下眼界,没有实践完全是空谈。
  •     从宏观层面了解一下分布式存储系统,ps:参考资料挺棒的
  •     粗略读了一遍,开阔一下视野。。
  •     各方面都讲了一些,用来扫盲足够了。
  •     看了众多评论和推荐后,冲着淘宝的名头去的,花了一周时间断断续续看完。感觉是一本分布式存储方面介绍性质的入门书籍,为更深入的学习提供一个指南。书中以OceanBase做为实践进行了详细介绍,展现了一个分布式数据库的基本原理及设计中的各种决策,为有志进行这方面开发的人员提供了参考,值得一读。
  •     偏理论的一本书
  •     还是太精炼了
  •     应该说,作者本身还是有水平的,只是水平还不到写一本书的程度。本书涉及面广,而且作者本身实践水平和经验都很不错,是专家;但就本书而言,我觉得作为一个对分布式系统架构的概览,是很不错的,可惜每一章节,尤其是不是淘宝自己开发的技术时,写得就不太好,给人感觉是没有理解到位就写了这些章节。当然,我相信作者自身应该是对BIGTABLE这些原理比较了解的,但可能还没有到能写一本好书的程度。一句话:很多理论讲解得有歧义,或者模棱两可,没有论述清楚,感觉像是敷衍。
  •     由于工作需要,平常看 OS 和存储、分布式方面的书不少;这本算是少有的国人作品,从 Google 老三篇开始讲,最大篇幅是阿里自己的 oceanbase,从架构说最后这个没啥新颖的,但是这样的大型系统最终实现,而且稳定运行并替换掉 oracle,可见工程 vs 学术是不同的,亚马逊的分布式键值对系统就非常学术化,让人仿佛回到了读书写论文的年代
  •     很一般,泛泛而谈,都是讲个概念,这样都能出书,也是醉了。。。
  •     师兄写的书,粗看了一遍还是有非常多干货的!
  •     入个门
  •     把分布式存储的实现和理论都讲了一遍,干货不少。
  •     分布式系统导读,结合GFS/Bigtable/MapReduce论文看可以加深理解,很多萃取出经验可以借鉴,写的很不错了……
  •     不够深入吧
  •     分布式入门了解挺好的选择
  •     在分布式书籍如此少的今天,一本不错的总结书!
  •     不算是入门书籍,有一些相关经验后,再来阅读事半功倍哦
  •     看的出来作者理解的挺透彻的,国人作者额外加分
  •     内容比较系统
  •     详细的说了OB,如果对OB的实现感兴趣,强烈推荐读。
  •     对于我来说,后面的部分没有具体实践,理解起来有点儿费劲。
  •     挺不错
  •     作为门外汉的我还是学到些概念性东西。对于系统的具体实现,作者只是流于于表面,并没有太多的细节分析。 对于收藏夹的问题,不是很明白为什么是跨表join, 一次请求又不需要显示多个用户的收藏商品,不应该是条简单的 select 语句吗,传入用户ID即可得到收藏条目? 对于这种基准数据+ 增量的实现方式,真的时候于通用的sql场景吗?感觉效率很低下的说。
  •     各大厂的系统大杂烩,一半篇幅在推OceanBase,甚至连code review和师兄带师弟也写,不知道怎么想的。话说16年双十一之后没见OceanBase出来吹啊,这是内部被淘汰了?
  •     讲得比较通俗易懂,可以作为简单了解分布式存储的一些坑,深度还是不足
  •     偏分布式存储导论性质的书
  •     本书中关于分布式一些基础理论的表述不够准确, 甚至有部分内容是错误的
  •     2015.1.5读完 看完这本书才真正明白搞存储到底要搞什么 类似于分布式启蒙吧 要想真的搞通这块 还得刷论文 码代码 另明白了 nosql并不是万能药 关系数据库理论还是存储的基础 自家的kv系统代码不到2000行 阿里的ob有70w行 不足之处就像有书评提到的 这本书就像是一半分布式存储理论收集 另一半是ob指南 拼凑感太强
  •     虽然是有点混乱 长达两个月终于完成了新年看完一本专业书的愿望,奖励自己一朵小红花
  •     走马观花的了解了一番各个厂商的分布式存储服务的架构、特色等信息,没有太具体的知识=。=还是可以看看的(逃
  •     感觉总结的很好。
  •     对新进入这个领域的人比较合适,整体把握「分布式存储领域」的知识结构
  •     分布式,大数据这些技术以后应该会成为主流技术.后面云存储,大数据随便翻了翻
  •     一本不太容易读懂的入门书籍,可以认识到分布式存储领域的边界,它们是什么;作者还总结了他们开发OceanBase过程中的体会到的敏捷开发、团队管理、公共平台建设经验。
  •     书对各个著名的分布式系统都做了详细的介绍,开阔了眼界,非常适合分布式存储系统的入门。但是对具体如何实现一个系统没有做介绍。
  •     需要承认作者很NB,但是说来说去都是理论的东西,各种理论的名词,完全不见真正的实现方案,看着看着就想睡觉的那种!!!
  •     大学课本级别的。理论+案例。读起来有点累。。。坚持了几个月,实在无法追原理性的东西。。。打算放放再看。。
  •     内存充实,结构系统,值得一读再读
  •     浅出
  •     一半理论一半实践,内容也比较充实。
  •     核心原理清晰,对google的论文和实现分析的不错,分布式的核心还是工程能力,Google太强,抽象的层次也深。
  •     20150807开始读。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024