异常分类
分布式存储体系所存眷的异常类型和单系一切不一样,有如下几种:
- 办事器宕机:设计存储体系时须要推敲若何经由过程攫掏出久化介质(如机械硬盘,固态硬盘)中的数据来恢复内存信息。
- 收集异常:设计容错体系的一个基来源基本则是:收集永远是弗成靠的,任何一个消息只有收到对方的答复后才可以认为发送成功,体系设计时老是假设收集将会出现异常并采取响应的处理办法。
- 磁盘故障:对于磁盘数据缺点,往往可以采取校验和( checksum)机制来解决。
2、弱一致性:
除了异常之外,还存在“超时”状况,RPC履行的结不雅有三种状况:“成功”、“掉败”、“超时”(未知状况),也称为分布式存储体系的三态。
一致性包管
副本是分布式存储体系容错技巧的独一手段。因为多个副本的存在,若何包管副本之间的一致性是全部分布式体系的理论核心。大年夜客户端的角度来看,一致性包含如下三种情况:
1、强一致性:
数据分布
3、最终一致性:最终一致性是弱一致性的一种特例。“最终”一致性有一个“不一致窗口”(时光延迟),最终一致性描述比较粗略,其常见的变体如下:
- 读写( Read-your-writes)-致性
- 会话( Session)-致性
- 单调读( Monotonic read)-致性
- 单调写( Monotonic write)-致性
大年夜存储体系的角度看,一致性重要包含如下几个方面:
1) 副本一致性:存储体系的多个副本之间的数据是否一致,不一致的时光窗口等;
2) 更新次序一致性:存储体系的多个副本之间是否按照雷同的次序履行更新操作。
衡量指标
评价分布式存储体系有一些常用的指标:
可用性:体系的可用性可以用体系停办事的时光与正常办事的时光的比例来衡量。
一致性:越是强的一致性模型,用户应用起来越简单。如不雅体系安排在同一个数据中间,只要体系设计合理,在包管强一致性的前提下,不会对机能和可用性造成太大年夜的影响。
可扩大性:体系的可扩大性( scalability)指分布式存储体系经由过程扩大集群办事器范围来进步体系存储容量、计算量和机能的才能。
机能分析
一般来说,对分布式体系的机能分析的结不雅是不精确的,然而,至少可以包管,估算的结不雅与实际值不会相差一个数量级。举个例子,Google的BigTable中随机写温柔序写的机能是差不多的,写入操作须要起首将操作日记写入到GFS,接着修改本地内存。为了进步机能,BigTable实现了成组提示技巧。
只有懂得存储体系的底层设计和实现,并在实践中赓续地演习,机能估算才会越来越准。
1、哈希分布(代表:Dynomo):如不雅哈希函数的散列特点很好,哈希方法可以将数据比较平均地分布到集群中去。然而,找出一个散列特点很好的哈希函数是很难的。这是因为,如不雅按照主键散列,那么同一个用户id下的数据可能被分散到多台办事器,这会使得一次操作同一个用户id下的多笔记录变得艰苦;如不雅按照用户id散列,轻易出现“数据倾斜”(data skew)问题,即某些大年夜用户的数据量很大年夜,无论集群的范围有多大年夜,这些用户始终由一台办事器处理。另一种思路就是采取一致性哈希( Distributed Hash Table,DHT)算法(顺时针查找)。一致性哈希的长处在于节点参加/删除时只会影响到在哈希环中相邻的节点,而对其他节点没影响。一致性哈希算法在很大年夜程度上避免了数据迁徙。Dynamo体系经由过程就义空间换时光,在每台办事器保护全部集群中所有办事器的地位信息,将查找办事器的时光复杂度降为O(l)。一致性哈希还须要推敲负载均衡,比较好的做法是惹人“虚拟节点”的概念。
2、次序分布(代表:BigTable):哈希散列破坏了数据的有序性,只支撑随机攫取操作,不克不及够支撑次序扫描。次序分布在分布式表格体系中比较常见,一般的做法是将大年夜表次序划分为持续典范围,每个范围称为一个子表。Bigtable将一张大年夜表根据主键切分为有序典范围,每个有序范围是一个子表。为了支撑更大年夜的集群范围,Bigtable如许的体系将索引分为两级:根表以及元数据表(Meta表),由Meta表保护User表的地位信息。次序分布与B+树数据构造比较类似,每个子表相当于叶子节点,跟着数据的插入和删除,某些子表可能变得很大年夜,某些变得很小,数据分布不平均。如不雅采取次序分布,体系设计时须要推敲子表的决裂与归并。子表归并的目标是为了防止体系中出现过多太小的子表,削减体系中的元数据。
3、负载均衡:工作节点经由过程心跳包(Heartbeat,准时发送)将节点负载相干的信息,如CPU,内存,磁盘,收集等资本应用率,读写次数及读写数据量等发送给主控节点。负载均衡操作须要控制节拍,负载均衡操作须要做到比较腻滑,一般来说,大年夜新机械参加,到集群负载达到比较均衡的状况须要较长一段时光,比如30分钟到一个小时。
复制
复制协定分为两种:强同步复制和异步复制,如图1。
图1 主备复制协定示范
强同步复制和异步复制都是将主副本的数据以某种情势发送到其他副本,这种复制协定称为基于主副本的复制协定( Primary-based protocol)。这种办法请求在任何时刻只能有一个副本为主副本,由它来肯定写操作之间的次序。如不雅主副本出现故障,须要选举一个备副本成为新的主副本,这步操作称为选举,经典的选举协定为Paxos协定。
推荐阅读
2017杭州·云栖大会进行时 连抛多条重磅消息(附马云演讲详录)
然则要活得长,就未必活得好。蜡烛要烧得亮,那必定烧得很快;你要烧得时光长,必定是没有那么亮的。我直截了当跟王坚(阿里巴巴技巧委员会主席)讲过,这个实验室绝对不克不及等资金,这个钱给你就是创>>>详细阅读
本文标题:分布式存储系统能力纵谈
地址:http://www.17bianji.com/lsqh/37827.html
1/2 1