纠删码的技术实际上60年代就已经在使用了,是通过算法的方式来避免做副本,从而保证我数据本身比较少的容易但是也具备非常高的可用性。
简单举个例子加入Cleversafe的IDA是2/3,意味着我可以丢掉一个切片,数据依然可读,那么实际通过纠删码运算过之后的公式为(a和b为实际原数据):
5a+3b = 切片1
8a-7b = 切片2
2a+10b = 切片3
每个切片本身的值是可得的,因此,根据我们数学的求解公式,需要n个公式来求解n个未知数。因此,我只需要两个切片即可反算我原数据ab的值,从而获得我原对象文件。
2/3只是一个帮助理解的最小例子,其他专家举例的7/12也是类似的原理。而Cleversafe是业界唯一一家厂商可以配置此纠删码,因此,在经济性和可用可靠性,可以根据客户的实际情况来定制了。
总结一下您提出的几个特性如何满足的问题:
经济性:传统存储通常需要做副本来获得可靠性,因此冗余至少是2倍,但是Cleversafe只是在切片运算上额外根据配置有冗余的部分,大大小于做副本的方式
安全性:我们前面说的每个切片数据,实际上是乱码不可读的,如果没有Cleversafe纠删码的算法的话,是没有办法知道原数据的倍数关系的,因此,获取切片数据也无意义
扩展性:Cleversafe以纠删码为技术原型,同时,结合自研的信息离散算法(IDA)可以异地分发所有的切片。同时,在访问节点,通过HTTP的方式,是能够知晓每一台访问节点的,因此,访问节点之间是解耦不需要通讯的,所以可以做到在线扩容。其次,存储节点之间,当宽度一定时,每一次扩容就是一个存储集的扩容,不同存储集由逻辑上统一的存储池来管理,从而扩展使用空间。
可用可靠性:这正是Cleversafe的强项所在,对比传统存储,因为IDA的算法,从而无需副本、RAID方式,就能够在配置合理的情况下,有对应40%的节点失效,然而也不会影响业务系统的正常工作。同时,IDA native的可以做到纠删码算法后的切片能够分发到异地,因此Cleversafe如果在部署DC允许的情况下,不需要做任何数据同步备份即可基本容灾特性
希望能解答到您的问题