引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统( 二 )


范型篇这部分内容将介绍Google、亚马逊、微软、阿里巴巴等各大互联网公司的大规模分布式存储系统 , 分为四章:分布式文件系统、分布式键值系统、分布式表格系统以及分布式数据库 。
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统本章首先重点介绍GFS的内部实现机制 , 接着介绍TFS和Face book Haystack的内部实现 。 最后 , 本章还会简单介绍内容分发网络( Content Delivery Network, CDN )技术 , 这种技术能够将图像、视频之类的数据缓存在离用户“最近”的网络节点上 , 从而降低访问延时 , 节省带宽 。
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统分布式键值模型可以看成是分布式表格模型的一种特例 。 然而 , 由于它只支持针对单个key-value的增、删、查、改操作 , 因此 , 适用之前提到的哈希分布算法 。
Amazon Dynamo是分布式键值系统 , 最初用于支持购物车应用 。 Dynamo将很多分布式技术融合到-一个系统内,学习Dynamo的设计对理解分布式系统的理论很有帮助 。 当然 , 这个系统的主要价值在于学术层面 , 从工程的角度看 , Dynamo 牺牲了一致性 , 却没有换来什么好处 , 不适合直接模仿 。
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统本章首先详细介绍Bigtable的架构及实现 , 接着分析Megastore的架构 , 最后介绍Microsoft Azure Storage的架构 。
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统关系数据库理论汇集了计算机科学家几十年的智慧 , Oracle、 Microsoft SQL Server、MySQL 等关系数据库系统广泛应用在各行各业中 。 可以说 , 没有关系数据库 , 就没有今天的IT或者互联网行业 。 然而 , 关系数据库设计之初并没有预见到IT行业发展如此之快 , 总是假设系统运行在单机这一封闭系统上 。
本章首先介绍数据库中间层架构 , 接着介绍MicrosoftSQLAzure , 最后介绍Google Spanner 。
实践篇这部分内容将以笔者在阿里巴巴开发的分布式数据库OceanBase为例详细介绍分布式数据库内部实现以及实践过程中的经验总结 。
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统从模块划分的角度看 , OceanBase 可以划分为四个模块:主控服务器RootServer、更新服务器UpdateServer、基线数据服务器ChunkServer以及合并服务器MergeServer 。 OceanBase系统内部按照时间线将数据划分为基线数据和增量数据 , 基线数据是只读的 , 所有的修改更新到增量数据中,系统内部通过合并操作定期将增量数据融合到基线数据中 。 本章介绍OceanBase系统的设计思路和整体架构 。
引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统分布式存储引擎层包含三个模块: RootServer、 UpdateServer 以及ChunkServer 。 其中 , RootServer 用于整体控制 , 实现子表分布、副本复制、负载均衡、机器管理以及Schema管理; UpdateServer 用于存储增量数据 , 数据结构为一个内存B树 , 并通过主备实时同步实现高可用 , 另外 , UpdateServer的网络框架也经过专门的优化;ChunkServer用于存储基线数据 , 基线数据按照主键有序划分为一个个子表 , 每个子表在ChunkServer上存储了一个或者多个SSTable , 另外 , 定期合并和数据分发的主要逻辑也由ChunkServer实现 。


推荐阅读