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

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

a)   哈希分布

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

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

b)  顺序分布

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

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

c)   负载均衡

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

欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
在这里插入图片描述

 

你可能感兴趣的:(架构,分布式,分布式存储系统)