分布式存储系统学习笔记(一)—什么是分布式系统(2)—数据分布

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kevin_zhao_zl/article/details/79197945

分布式存储系统中主要有以下两种分布方式:

a)   哈希分布

问题主要是散列特性好的哈希函数很难确定,而且按照主键散列和按照用户id散列的存在很多问题,还有大用户问题的方法。还存在一个问题即当服务器数量变化时会导致大量的数据迁移。

两种方法可以解决这个问题,一是将哈希值和服务器的对应关系作为元数据存储,另一种思路是一致性哈希(另一篇博客一天不学习我浑sen难受(一)—一致性哈希/Hash环学习笔记有介绍)。

b)  顺序分布

哈希散列破坏了数据的有序性,只支持随机读取而不能够顺序扫描。有一些系统在应用层做出妥协,根据用户id拆分并哈希到不同服务器上,对同一用户的数据支持顺序扫描,但是这样可能出现大用户问题,无法发挥分布式系统的多机并行处理优势。

在顺序存储中,一般将大表划分为多个连续的子表,可以通过root表meta表等等方式建立多级索引。当数据发生新增或者删除的时候,子表会进行分裂或者合并【像是一个B+树】。

c)   负载均衡

主副本对外提供服务,迁移备副本,整个过程对用户透明。

猜你喜欢

转载自blog.csdn.net/kevin_zhao_zl/article/details/79197945