中心化存储的去中心化趋势

今天跟大家聊一个有意思的话题:中心化存储的去中心化趋势。

在今天,中心化存储的可靠性已经发展到了天花板阶段了,如果需要进一步提高其可靠性,就需要进行去中心化改造。

这是什么意思呢?

我们一起回顾下存储的演变历程。

在我们的个人电脑中,你的数据可能存在一块硬盘上。但对于企业,用于存储数据的硬盘可能会坏,所以这个时候用一块硬盘存储企业数据的可靠性就无法满足企业需求了。那这个时候怎么办呢,我们就需要把数据存到多块硬盘上,就算你一块硬盘坏了,那么数据也不会丢,只要从其他硬盘上把数据恢复就可以了。这种我们从技术上来说就是数据的冗余,就是把数据多存放在几块硬盘上。通过数据冗余提高了存储的可靠性,保障数据不丢失。

在云存储场景下,可靠性就需要进一步提高,要求更高了。怎么办呢?数据要放到多台服务器上,就算其中一台服务器坏了也没关系,其它服务器上也能把数据恢复回来。这就是现在的分布式系统 。

13607604-000ab646b559fb69

再往下,随着网络的发展,对数据可靠性的要求越来越高了。中心化存储,它的一些偶然性的事故,有可能导致数据的灾难发生。

比如说,前几个月,腾讯云把用户数据完全搞丢了,彻底丢了,找不回来了。

13607604-ff11045f22ee37d5

再比如,Microsoft的数据中心被停止运行了大概二十多个小时,是因为雷电风暴的影响,导致其冷却系统出现故障。对美国当时的社会造成了一定的影响。

都是属于小概率事件,但它真实发生了 而且造成了一定影响。

那么我们想规避这种种问题,进一步提高可靠性,怎么办呢?

继续提高中心化存储的可靠性其实已经非常难了,成本会急剧上升,比如用于灾备的“两地三中心”,成本动辄上千万。

最好的方法就是去中心化,把数据从一个中心变成了很多个中心,甚至全世界几万、几十万、几千万个中心(存储节点)。并且这些数据存储中心,他们之间是隔离的,我们叫故障域的隔离。就是说这一个地方出现故障了,并不会导致另一个地方也出现故障。

这就是存储为什么需要去中心化的原因。

我们以区块链存储行业的YottaChain为例,进一步说明去中心化存储为什么比中心化存储可靠性更高。

1、YottaChain对存储数据统一采用冗余编码,任何数据自动编码,分成N(例如100)个碎片,其中只要有任意M(例如70)个碎片即可恢复出数据,然后将这N个碎片分别存储到N个存储节点中,每个节点保存一个碎片,这样只要不同时有N-M+1(本例中为31)个节点失效就能保证数据完整不丢失。

2、任意一个节点失效的时候,系统将会立即另选其它节点重建失效节点的数据,在本例中只要重建第一个失效节点完成之前不会有另外30个节点也相继失效,就可以保证数据永远不丢。

3、各节点之间会互相监控、互相校验,任何节点一旦失效都能被快速发现。

4、重建一个失效节点的数据时,会分成很多个节点同时重建以加快重建速度。例如失效节点上存储了1万个文件的各一个碎片,重建一个碎片平均需要0.5秒钟时间(主要是网络传输花时间),选100个节点参与重建,每个节点只需要重建100个碎片,平均50秒钟完成全部重建工作。只要50秒钟内不会有同一个文件的另外30个节点同时失效,该文件数据就不会丢。

5、由于冗余性好且地理位置分散,不用担心因为硬盘损坏、个别节点运维失误(2018年8月曝光腾讯云因为运维失误丢失用户数据)、雷电天气(2018年9月,Microsoft因为雷击导致部分地区的Azure服务停机20多小时)、停电、光纤被挖断、地震火灾等原因而数据失效。

6、由于节点分散而且冗余性好,不怕DDOS攻击。

综上,中心化存储的去中心化将是大势所趋。

猜你喜欢

转载自blog.csdn.net/weixin_33735077/article/details/87700815