分布式概念:分布式存储

把数据分布在多台存储节点上,可以为大规模应用提供大容量、高性能、高可用、高扩展的存储服务。而,分布式存储系统就是其具体实现。

分布式存储系统的核心,是将用户需要存储的数据根据某种规则存储到不同的机器上,当用户想要获取指定数据时,再按照规则到存储数据的机器里获取。

当用户(即应用程序)想要访问数据 D,分布式操作引擎通过一些映射方式,比如 Hash、一致性 Hash、数据范围分类等,将用户引导至数据 D 所属的存储节点获取数据。

数据 

根据数据的特征,这些不同的数据通常被划分为三类:

结构化数据通常是指关系模型数据,其特征是数据关联较大、格式固定。具有格式固定的特征,因此一般采用分布式关系数据库进行存储和查询。如火车票信息,起点站、终点站、车次、票价等。

半结构化数据通常是指非关系模型的,有基本固定结构模式的数据,其特征是数据之间关系比较简单。大多可以采用键值对形式来表示,因此一般采用分布式键值系统进行存储和使用

非结构化数据是指没有固定模式的数据,其特征是数据之间关联不大。比如文本数据。这种数据可以存储到文档中,通过 ElasticSearch(一个分布式全文搜索引擎)等进行检索。

 

数据分片技术

是指分布式存储系统按照一定的规则将数据存储到相对应的存储节点中,或者到相对应的存储节点中获取想要的数据。是确定数据的位置,相当于索引。

按数据特征分片:如火车票按照数据起点、终点的方式划分数据,将数据分为几部分存储到不同的机器节点中。

按数据范围分片:按照某种规则划分数据范围,然后将在这个范围内的数据归属到一个集合中。如将属于某条线的所有火车票数据划分到一个子集或分区进行存储,比如机器 A 存储京广线的火车票数据,机器 B 存储京沪线的火车票数据。

按hash分片:;

按一致性hash分片;

数据复制就是将数据进行备份,以使得多个节点存储该数据。提高了分布式系统的可用性与可靠性。

数据分片和数据复制通常是共存的:

数据通过分片方式存储到不同的节点上,以减少单节点的性能瓶颈问题;

数据的存储通常用主备方式保证可靠性,也就是对每个节点上存储的分片数据,采用主备方式存储,以保证数据的可靠性。其中,主备节点上数据的一致,是通过数据复制技术实现的。

存储数据

分布式数据库,通过表格来存储结构化数据,方便查找。MySQL Sharding、Microsoft SQL Azure、Google Spanner、Alibaba OceanBase。

分布式键值系统,通过键值对来存储半结构化数据。常用的分布式键值系统有 Redis、Memcache 等,可用作缓存系统。

分布式存储系统,通过文件、块、对象等来存储非结构化数据。常见的分布式存储系统有 Ceph、GFS、HDFS、Swift 等。

存储介质的选择,本质就是选择将数据存储在磁盘还是内存(缓存)上:

磁盘存储量大,但 IO 开销大,访问速度较低,常用于存储不经常使用的数据。

内存容量小,访问速度快,因此常用于存储需要经常访问的数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值