1. 链一财经首页
  2. 资讯

分布式存储-——在前行的道路上不断演进

原创: 艾彼搜 IPSOU艾彼搜

很多人可能对分布式存储耳熟能详,但是,大多数人对其概念或者知识点却了解得都过于分散,看了很多却“只见树木,不见森林”,学了很多往往只能“知其然,却不能知其所以然”。因此,有必要对分布式存储有深入了解。

为什么需要分布式存储?

很多人可能从来没有考虑过这个问题,为什么需要分布式存储?实际上,使用分布式存储是“被迫”的,因为随着互联网的飞速发展、应用越来越丰富、用户数量越来越多、数据也成几何级增长,海量数据的存储给本地存储带了巨大压力,存储系统已经不堪重负,处于崩溃的边缘,因此,必须通过其他手段分散存储系统压力,分布式存储和分布式文件系统应运而生。

提升分布式存储的高性能与高可用

而要真正从根本上克服这些矛盾,解决分布式存储的高性能和高可用问题,更有效的是对于分布式文件系统和分布式存储系统架构进行优化和改进,从而从源头可解决这些问题。

一、 分布式存储系统


是将数据分散存储在多台独立的设备上。传统的网络存储系统是将数据集中存储在一个服务器上,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

因此分布式系统(也称:网络),是一系列不同的节点(也称:组件、进程、计算机),它们互相传递消息协调从而达成一致目标。虽然这些节点是独立的,但是呈现在终端用户面前是一个个体。

二、分布式存储系统的特性

高可用性

分布式存储系统在面对各种异常时可以提供正常服务的能力,系统的可用性可以用系统·停服务的时间和正常服务时间的比例来衡量。

高可靠性

重点指分布式系统数据安全方面的指标,数据可靠不丢失,主要用多机冗余单机磁盘RAD等措施。

高扩展性

分布式存储系统通过扩展集群服务器规模从而提高系统存储容量、计算和性能的能力,业务量增大,对底层分布式存储系统的性能要求越来越高,自动增加服务器来提升服务能力,分为Scae与 Scale Out

数据一致性

分布式存储系统多个副本之间的数据一致性,有强一致性,弱一致性,最终一致性,因果一致性,顺序一致性。

高安全性

分布式存储系统不受恶意访问和攻击,保护存储数据不被窃取,针对现存的和

潜在的各种攻击与窃取手段,要有相应的应对方案。

高性能

衡量分布式存储系统性能常见的指标是系统的吞吐量和系统的响应延迟,系统

的吞吐量是在一段时间内可以处理的请求总数,可用QPS(Query PerSecond)和TPs(Transaction Per second)衡量。

系统的响应延迟是指某个请求发岀到接收到返回结果所消耗的时间,通常用平均延迟来衡量。这两个指标往往是矛盾的,追求高吞吐量,比较难做到低延迟,追求低延迟,吞吐量会受影响。

高稳定性

这是一个综合指标,考核分布式存储系统的整体健性。任何异常,系统都能坦然面对,系统稳定性越高越好。

严格地讲,同一个分布式系统中的计算机在空间部署上是可以随意分布的,这些计算机可能被放在不同的机柜上,也可能在不同的机房中,甚至分布在不同的城市。无论如何,一个标准的分布式系统在没有任何特定业务逻辑约束的情况下,都会有以下几个特征

1.分布性

系统中多台计算机都会在空间上随意分布并且分布情况也会随时变动。没有主机和从机,所有节点都是对等的。

2、并发性

分布式系统中的节点是同时运转的,那就意味着会有多个事件同时发生,为了使系统运行下去,就要协调节点对事件发生顺序达成一致意见。

3、不存在统一的时间调度

因为并发性的特点,所以就要求分布式系统需要某种决定事件发生顺序的方式来使其运转起来。然而对于一组地理上分开而又同时运转的电脑,有时很难分清事件的先后。也就是说,不存在单一的时间系统来决定网络中所有电脑中时间发生的先后。从本质上讲,计时和事件顺序是实现空间分离的分布式计算机系统的根本障碍。

4、节点的故障独立性

一个没有故障的系统是不可能,因此我们需要明确分布式系统中的节点也是会出故障的,所以称之为”可容错的分布式计算“。

故障大体可以分为三类:

1)宕机:节点停止工作了,比如:电脑死机。

2)遗漏:一个节点发出的信息没有被其他节点收到,比如:误删。

3)拜占庭:有些节点可能会恶意的篡改、阻挡或根本不发送信息。

所以,分布式系统要考虑的一个问题是,当系统出现故障,无论这个故障是由于死机或遗漏还是拜占庭故障,系统是否能够继续正常工作。

5、信息传输

信息传输有两种:

1) 同步的

在同步系统中,假定信息传输有一定的时限,会在固定时间内到达其他节点。

但是在现实生活中,同步信息传输是不可能的,因为总会因为各种原因出现宕机、遗漏或是拜占庭。

2) 异步的

在异步系统中,我们假定信息传输时间没有上限,可以永远延误或传递下去。


三、分布式存储架构


分布式存储架构由三个部分组成:客户端、元数据服务器和数据服务器。客户端负责发送读写请求,缓存文件元数据和文件数据。元数据服务器负责管理元数据和处理客户端的请求,是整个系统的核心组件。数据服务器负责存放文件数据保证数据的可用性和完整性。

客户端和元数据服务器之间交互是“信令交互”,而客户端到数据节点是“媒体交互”。元数据服务器或通过数据节点服务器获取各节点服务器的基本配置情况和状态信息,该架构可让性能和容量能够同时拓展系统规模具有很强伸缩性。

四、文件系统


计算机的文件系统是管理文件的“账房先生”。

首先他要管理仓库,要知道各种货物都放在哪里;然后要控制货物的进出,并要确保货物的安全。如果没有这个“账房先生”,让每个“伙计”自由的出入仓库,就会导致仓库杂乱无章、货物遗失。就像那年轻纺城机房刚启用的时候,大家的货物都堆在机房里,没有人统一管理,最后连堆积的地方都找不到,有时自己的货物找不到了,找到别人的就使用了……。

大家都怨声载道,后来建立了一个仓库,请来了仓库管理员,用一本本子记录了货物的归宿和存储的位置,建立货物的出入库制度,问题都解决了,这就是文件系统要做的事情。

文件系统管理存取文件的接口、文件的存储组织和分配、文件属性的管理(比如文件的归属、权限等)。每个操作系统都有自己的文件系统。

主引导区:记录了这个存储设备的总体信息和基本信息。比如扇区的大小,每簇的大小、磁头数、磁盘扇区总数、FAT表份数、分区引导代码等等信息。

分区表:即此存储的账本,如果分区表丢失了,就意味着数据的丢失,所以一般就保留2份,即FAT1和FAT2。分区表主要记录每簇使用情况,当这位置的簇是空的,就代表还没有使用,有特殊标记的代表是坏簇,位置上有数据的,是指示文件块的下一个位置。

目录区:目录和记录文件所在的位置信息。

数据区:记录文件具体信息的区域。

五、存储介质


仓库有很多种存储的介质,现在最常用的是磁盘和SSD盘,还有光盘、磁带等等。磁盘一直以性价比的优势占据了霸主的地位。

圆形的磁性盘片装在一个方的密封盒子里,运行起来吱吱的响,这就是我们常见的磁盘。磁片是真正存放数据的介质,每个磁片正面和背面上都“悬浮”着磁头。

磁盘上分割为很多个同心圆,每个同心圆叫做磁道,每个磁道又被分割成为一个个小扇区,每个扇区可以存储512B的数据。当磁头在磁片上高速转动和不停换道,来读取或者写入数据。

其实磁片负责高速转动,而磁头只负责在磁片上横向移动。决定磁盘性能的主要是磁片的转速、磁头的换道、磁盘、每片磁片的容量和接口速度决定的。转速越高、换道时间越短、单片容量越高,磁盘性能就越好。


六、分 治


分治,字面意思是“分而治之”,和我们的大脑在解决问题时的思考方式是一样的。我们可以将整个过程分为 3 步:分解 -> 治理 -> 归并。而分治思想的表现形式多样,分层、分块都是它的体现。

这么做的好处是:问题越小越容易被解决,并且,只要解决了所有子问题,父问题就都可以被解决了。但是,这么做的时候,需要满足一个最重要的条件:不同分支上的子问题,不能相互依赖,需要各自独立。因为一旦包含了依赖关系,子问题和父问题之间就失去了可以被“归并”的意义。在软件开发领域,我们称为“耦合度”和“内聚度”。

内聚度,指的是模块内的元素具有的共同点的相似程度。当你打算进行分治的时候,耦合度和内聚度就是需要考虑的重点。

所以,你会发现随着业务的变化,耦合度与内聚度也会发生变化。因此,及时地进行梳理和调整,可以避免系统的复杂度快速增长,才能最大程度的发挥“分治”带来的好处。

综上,分治可以简化解题的难度,通过高内聚、低耦合的协作关系达到更好“性能与经济比”,来承载更大的流量。而“冗余”则带来了系统可以 7*24 小时不间断运作的希望。

七、冗 余


这里的冗余并不等同于代码的冗余、无意义的重复劳动,而是我们有意去做的、人为增加的重复部分。其目的是容许在一定范围内出现故障,而系统不受影响。

此时,我们可以将冗余的节点部署在一个独立的环境中。这个独立的环境,可能是处于同一个局域网内的不同主机,也可能是在不同的局域网,还可能是在不同的机房。很显然,它们能够应对的故障范围是逐步递增的。

但是,像这种单纯地为了备用而做的冗余,最大的弊端是,如果没有出现故障,那么冗余的这部分资源就白白浪费了,不能发挥任何作用。所以,我们才提出了诸如双主多活、读写分离之类的概念,以提高资源利用率。

当然,除了软件层面,硬件层面的冗余也是同样的道理。那么做冗余的时候需要平衡成本。相比更多的冗余,追求更好的性价比更合理一些。

分布式存储是存储技术未来发展的重要方向。

总之,分布式数据存储能提高系统的可靠性、可用性和存取效率,而且易于拓展,在区块链领域应用非常广泛。

存储是区块链最佳落地应用场景,IPSOU是新一代基于分布式存储协议和区块的搜索引擎,是一个去中心化的可信搜索激励系统,是一个走在区块链3.0前列的项目。

IPSOU是一个去中心化的可信搜索价值智能分配平台,利用智能AI、搜索算法、区块链和分布式存储技术结合,解决痛点,确保每个人的数据主权,在存储效率、数据可靠性、数据安全性和存储成本等方面都做到极致;推动发展,创造价值。


总 结

现在,几乎所有主流的存储厂商都在做分布式存储。像阿里云、UCloud等云服务商都成了“新存储厂商”,分布式存储就是他们的杀手锏之一。在分布式存储领域,文件、块、对象存储的进一步融合对于满足用户全面的需求是必须的。

随着云原生应用的兴起,企业用户对存储提出了新的要求,在保证安全性的前提下,灵活、敏捷、扩展性等能力的提升是永远的追求。从工作负载上来看,分布式存储已经越来越深入传统意义的关键应用领域。

落地的案例是产品走向成熟的标志,也是一个成熟的存储系统进一步发展和演进的必由之路,在不断发展演进的路上,在市场浪潮开拓能力与自身研发能力就显得尤为重要了。

从集中存储到分布式存储,这是企业存储领域几十年来的大事件,对原有存储既是补充又是挑战,而这个过程中势必会产生出一批新的存储力量,IPSOU在分布式存储领域产品和市场表现值得期待。

欢迎加入IPSOU社区 了解最新官方动态

根据国家《关于防范代币发行融资风险的公告》,大家应警惕代币发行融资与交易的风险隐患。

本文来自LIANYI转载,不代表链一财经立场,转载请联系原作者。

发表评论

登录后才能评论