分布式存储(一): 存储架构演化及简介

2019-05-23 17:53:29

分布式数据存储是将数据分布在多个节点上面,打造一个更加安全和健壮的存储系统,以应对大规模的数据读写需求,这是一个存储的必然趋势!

2019031406001484192826470.jpg


  分布式存储系列文章:

  •分布式存储(一):分布式存储架构演化及简介

  •分布式存储(二):基于区块链的分布式存储

  •分布式存储(三):基于区块链的分布式存储技术难点

  •分布式存储(四):基于区块链的分布式存储技术解决方案

  •分布式存储(五):基于区块链的分布式存储技术应用

  •分布式存储(六):IPFS 的分布式存储解决方案

  •分布式存储(七):Filecoin的分布式存储解决方案

  本系列文章从科普的角度讲解一下分布式系统的发展,特别是基于区块链的分布式存储,也欢迎大家参与讨论。


  IT 技术架构的演化

  随着不同的应用规模,IT 技术架构一直处于演化的进程中。

  以电商网站为例:

  •当网站的并发访问1x 量级的时候,小的单点服务即可满足需求

  •当网站的并发访问1xx 量级的时候,单点服务器已经不能满足并发需求了,这个时候需要使用集群来增加服务的可用性,并防止单点失效。

  •当网站的访问量增加到1xxx 量级的时候。网站可能需要重新设计,满足高并发的需求。系统架构会变得日益庞大,不好管理。



timg.jpg



  互联网结构的演进: centralized --> cecentralized --> distributed

  从完全的中心化到到完全的分布式架构。完全的中心化和完全的分布式架构是两个极端,IT 发展的不同阶段,我们会选择不同的解决方案。这是一个”度“的问题,在成本和性能之间进行平衡。中心化的 IT 架构相对来说简单,易于管理,而分布式的结构复杂,难于管理,增加的不少的运维成本,但是带来的是性能上的飞升,满足我们对于 IT 系统的需求。


  IT架构随着不同规模的访问量,从中心化的架构走向分布式架构是个必然趋势:存储架构亦是如此


  大规模的数据生产、传输、使用和存储


  世界正在被数据化,自从人类文明诞生以来,人类变发明了各种数据存储和传输的科技,人类文明以数据的方式得以传承和保存。从最早的甲骨文到现代文明的计算机,知识的分享速度和密度随着人类技术手段的进步一直在稳步增长。

  数据正在快速的被生产、传输、使用以及存储。特别是随着近些年物联网的逐步成熟和应用的落地,数据的产生和传输将达到空前的规模和速度。


  下图为https://www.statista.com网站对互联网数据存储供需和数据流量的统计和预测。如何以更低的成本进行数据存储和传输成为亟待解决的问题。

微信图片_20190429143451.jpg

2009-2020年全球数据存储供需(以艾字节为单位)



微信图片_20190508120922.jpg

2015年至2021年全球消费者IP流量的数据量(以每月PB为单位)



  分布式存储作为技术趋势,是技术发展的必经阶段!

  当前,人类文明的数据很多是存储在大型数据中心(例如亚马逊、阿里云、dropbox等大型服务商所建造的数据中心)、一些分散的服务器上、或者作为冷存备份的存储介质上等等。(这里要说一下图书馆,在过去很多年里面图书馆一直是人类的重要的大型数据中心)。当然这些大型数据中心也在逐步将集中化的存储架构演变为分布式的存储架构。


  数据存储需要解决两方面的问题:

  •数据的存储安全性:数据要安全的存储,防止数据的丢失

  •数据的可用性:存储的数据还要必须可用


  集中式存储:

  通常是把数据存储在一个节点上面,使用 raid 的方式来对数据进行冗余备份。随时数据量的增长和数据使用量的增长,性能会成为瓶颈。于是为了缓解压力提升性能。数据存储方式将逐步的从集中式的存储进化为分布式的存储。一方面为了应对数据存储的安全性,另外一方面为了应对数据的高可用性。


  分布式存储:

  先来看一下 wiki 上对于分布式存储的定义:

      •分布式数据存储是一种计算机网络,其中信息通常以副本的方式存储在多个节点上。(https://en.wikipedia.org/wiki/Distributed_data_store)

  (IPFS/Filecoin属于点对点的存储网络)

  分布式存储目前的架构不外乎两点:

      •有中心管理节点

      •无中心管理节点


  在分布式存储上面需要解决的问题:

  •数据寻址:查询数据存在什么地方

  •数据的存储:数据读写

  •数据的安全性:数据的冗余备份,通常有 EC(类似 raid,数据恢复的时候对 CPU 有一定的要求) 方式和多副本的方式

  •数据一致性:多副本的冗余需要保证多副本的一致性

  •系统性能:应对大规模的数据存储和读取需求


  一句话总结:

  IPFS分布式数据存储是将数据分布在多个节点上面,打造一个更加安全和健壮的存储系统,以应对大规模的数据读写需求,这是一个存储的必然趋势!


  参考:

  https://zhuanlan.zhihu.com/p/27666295

  https://www.statista.com/statistics/751749/worldwide-data-storage-capacity-and-demand/

  https://en.wikipedia.org/wiki/Distributed_data_store


  本文转摘自IPFS指南


最新推荐