分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)

来源:国外服务器 在您之前已被浏览:1 次
导读:目前正在解读《分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)》的相关信息,《分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)》是由用户自行发布的知识型内容!下面请观看由(国外主机 - www.2bp.net)用户发布《分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)》的详细说明。
笨笨网美国主机,w ww.2 b p .n e t

分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)


如上图所示,算法本身的特性可以使得 磁盘划分为比较多的较为均匀的虚拟分区,每个虚拟分区是哈希环上的一个节点,整个环是从 0 到 32 位最大值的一个区间,并且首尾相连,当计算出数据(或者数据名称)的哈希值后,必然落到哈希环的某个区间,然后以顺时针,必然能够找到一个节点。那么这个节点就是存储数据的位置。可见如果只有一个节点,最大到 32 还未找到节点,那么数据就在第一个唯一节点上。

整个的数据定位就是基于上述的一致算法,实现将请求重新定向到该设备进行处理

(1) 在对象存储上,通过账户名 / 容器名 / 对象名三个名称组成一个位置的标识,通过该唯一标识可以计算出一个整型数;

(2) 存储设备方面, Swift 构建一个虚拟分区表,表的大小在创建集群是确定(通常为几十万),这个表其实就是一个数组;

(3) 整数值和这个数组,通过一致性哈希算法就可以确定该整数在数组的位置。

分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)


一致性算法原理上可以保证数据的均衡性、单调性,避免数据的分散性,有效的保证数据的一致性,使得负载尽可能的被映射到一个特定的缓存区。

因为 一致性哈希算法在服务节点太少时,容易因为节点分部不均匀而造成数据倾斜问题。所以在实际应用中,通常将虚拟节点数设置为比 32 更大的值,因此即使很少的服务节点也能做到相对均匀的数据分布。

B 、顺序分布( Bigtable )

哈希散列破坏了数据的有序性,只支持随机读取操作,不能够支持顺序扫描。某些系统可以在应用层做折衷,比如互联网应用经常按照用户来进行数据拆分,并通过哈希方法进行数据分布,同一个用户的数据分布到相同的存储节点,允许对同一个用户的数据执行顺序扫描,由应用层解决跨多个用户的操作问题。另外,这种方式可能出现某些用户的数据量太大的问题,由于用户的数据限定在一个存储节点,无法发挥分布式存储系统的多机并行处理能力。

顺序分布在分布式表格系统( Bigtable )中比较常见,一般的做法是将大表顺序划分为连续的范围,每个范围称为一个子表,总控服务器负责将这些子表按照一定的策略分配到存储节点上。

分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)


如图所示,用户表( User 表)的主键范围为 1 ~ 7000 ,在分布式存储系统中划分为多个子表,分别对应数据范围 1 ~ 1000 , 1001 ~ 2000 , ……6001 ~ 7000 。其中 Meta 表是为了支持更大的集群规模,它将原来的一层索引结分成两层,使用 Meta 表来维护 User 子表所在的节点,从而减轻 Root 节点的负担。

顺序分布与 B+ 树数据结构比较类似,每个子表相当于叶子节点,随着数据的插入和删除,某些子表可能变得很大,某些变得很小,数据分布不均匀。如果采用顺序分布,系统设计时需要考虑子表的分裂与合并,这将极大地增加系统复杂度。

C 、 CRUSH 分布

CRUSH 算法,全称叫 Controlled, Scalable, Decentralized Placement of Replicated Data. 严格说起来 Crush 算法,其实也是以 Hash 算法为基础的。只不过映射的方法和一致性哈希不同。我们用 Ceph 分布的过程来加以说明。

Ceph 分布数据的过程:首先计算数据 x 的 Hash 值并将结果和 PG 数目取余,以得到数据 x 对应的 PG 编号。然后,通过 CRUSH 算法将 PG 映射到一组 OSD 中。最后把数据 x 存放到 PG 对应的 OSD 中。注明:PG 全称是 Placement Group (放置组)。

这个过程中包含了两次映射,第一次是数据 x 到 PG 的映射。如果把 PG 当作存储节点,那么传统 Hash 算法一样。不同的是, PG 是抽象的存储节点,它不会随着物理节点的加入或则离开而增加或减少,因此数据到 PG 的映射是稳定的。

分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)


以 Dynamo 为例,在这个过程中, PG 起到了两个作用:第一个作用是划分数据分区。每个 PG 管理的数据区间相同,因而数据能够均匀地分布到 PG 上;第二个作用是充当 Dynamo 中 Token 的角色,即决定分区位置。实际上,这和 Dynamo 中固定分区数目,以及维持分区数目和虚拟节点数目相等的原则是同一回事。

笨笨网美国主机,w ww.2 b p .n e t
提醒:《分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)》最后刷新时间 2025-03-21 11:13:48,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《分布式存储框架有哪些(实用性好的分布式存储框架推荐)(6/15)》该内容的真实性请自行鉴别。