引领先锋|阿里P8大佬,由原理和实战出发,带你深入大规模分布式存储系统( 二 )
范型篇这部分内容将介绍Google、亚马逊、微软、阿里巴巴等各大互联网公司的大规模分布式存储系统 , 分为四章:分布式文件系统、分布式键值系统、分布式表格系统以及分布式数据库 。
本章首先重点介绍GFS的内部实现机制 , 接着介绍TFS和Face book Haystack的内部实现 。 最后 , 本章还会简单介绍内容分发网络( Content Delivery Network, CDN )技术 , 这种技术能够将图像、视频之类的数据缓存在离用户“最近”的网络节点上 , 从而降低访问延时 , 节省带宽 。
分布式键值模型可以看成是分布式表格模型的一种特例 。 然而 , 由于它只支持针对单个key-value的增、删、查、改操作 , 因此 , 适用之前提到的哈希分布算法 。
Amazon Dynamo是分布式键值系统 , 最初用于支持购物车应用 。 Dynamo将很多分布式技术融合到-一个系统内,学习Dynamo的设计对理解分布式系统的理论很有帮助 。 当然 , 这个系统的主要价值在于学术层面 , 从工程的角度看 , Dynamo 牺牲了一致性 , 却没有换来什么好处 , 不适合直接模仿 。
本章首先详细介绍Bigtable的架构及实现 , 接着分析Megastore的架构 , 最后介绍Microsoft Azure Storage的架构 。
关系数据库理论汇集了计算机科学家几十年的智慧 , Oracle、 Microsoft SQL Server、MySQL 等关系数据库系统广泛应用在各行各业中 。 可以说 , 没有关系数据库 , 就没有今天的IT或者互联网行业 。 然而 , 关系数据库设计之初并没有预见到IT行业发展如此之快 , 总是假设系统运行在单机这一封闭系统上 。
本章首先介绍数据库中间层架构 , 接着介绍MicrosoftSQLAzure , 最后介绍Google Spanner 。
实践篇这部分内容将以笔者在阿里巴巴开发的分布式数据库OceanBase为例详细介绍分布式数据库内部实现以及实践过程中的经验总结 。
从模块划分的角度看 , OceanBase 可以划分为四个模块:主控服务器RootServer、更新服务器UpdateServer、基线数据服务器ChunkServer以及合并服务器MergeServer 。 OceanBase系统内部按照时间线将数据划分为基线数据和增量数据 , 基线数据是只读的 , 所有的修改更新到增量数据中,系统内部通过合并操作定期将增量数据融合到基线数据中 。 本章介绍OceanBase系统的设计思路和整体架构 。
分布式存储引擎层包含三个模块: RootServer、 UpdateServer 以及ChunkServer 。 其中 , RootServer 用于整体控制 , 实现子表分布、副本复制、负载均衡、机器管理以及Schema管理; UpdateServer 用于存储增量数据 , 数据结构为一个内存B树 , 并通过主备实时同步实现高可用 , 另外 , UpdateServer的网络框架也经过专门的优化;ChunkServer用于存储基线数据 , 基线数据按照主键有序划分为一个个子表 , 每个子表在ChunkServer上存储了一个或者多个SSTable , 另外 , 定期合并和数据分发的主要逻辑也由ChunkServer实现 。
推荐阅读
- 引领时尚新时代|她是饶雪漫书中的模特,和鹿晗在一起被赞般配,笑起来碾压林允!
- 引领时尚新时代|传闻她被渣男骗钱骗大肚子,无奈生下孩子给母亲抚养,气质美上天
- 引领时尚新时代|她是典型中国好媳妇,却嫁给相识不到20天的男友,穿搭霸气侧漏
- 引领时尚新时代|她从小就被亲爸说是捡来的,出道10年没谈过恋爱,美得让人着迷
- 集团|蚂蚁集团回复首轮问询函:与阿里业务范围有明显差异
- 封面新闻|7年投入近7000万 鼓励8253人 阿里巴巴发布2020年度正能量报告
- 首轮|蚂蚁集团回复首轮问询函:与阿里业务范围有明显差异
- 阿里巴巴|马云,江湖再见
- 阿里巴巴|华为和阿里巴巴谁的国际影响也更大,马云:你见过特朗普吗?
- 「宁静」宁静不管穿了个啥都能引领时髦,嫌T恤配牛仔裤不够炫,再加薄纱
