大数据时代数据应该如何存储?

PB或多PB基础架构和传统大规模数据集的区别,就像白天和黑夜的区别,就像在笔记本电脑上处理数据和在RAID阵列上处理数据的区别。"

当Day在2009年加入Shutterfly时,存储已经成为该公司最大的支出,并且还在快速增长。

“每N PB的额外存储意味着我们需要另一个存储管理员来支持物理和逻辑基础架构,”Day说。“面对大规模的数据存储,系统出错的频率会更高,任何一个管理大存储的人都经常要处理硬件故障。大家都在努力解决的根本问题是:当你知道一部分存储在一段时间内会出现问题时,你应该如何保证数据可用性,保证性能不会降低?”RAID问题的标准答案是复制,通常采用RAID阵列的形式。但Day表示,面对大规模数据,RAID在解决问题的同时,可能会产生更多的问题。在传统的RAID数据存储方案中,数据的每个副本都被镜像并存储在阵列的不同磁盘中,以确保完整性和可用性。但这意味着每个镜像和存储的数据将需要五倍于其自身的存储空间。随着RAID阵列中使用的磁盘变得越来越大(从密度和功耗的角度来看,3TB磁盘非常有吸引力),更换故障驱动器的时间将会越来越长。

“事实上,我们在使用RAID时没有任何操作问题,”Day说。“我们看到的是,随着磁盘变得越来越大,当任何组件出现故障时,我们返回到完全冗余系统的时间都会增加。生成的校验与数据集的大小成比例。当我们开始使用1TB和2TB磁盘时,需要很长时间才能恢复到完全冗余的系统。可以说这种趋势并没有朝着正确的方向发展。”

对于Shutterfly来说,可靠性和可用性是非常关键的因素,这也是企业存储的要求。Day表示,其快速膨胀的存储成本使该商品系统更具吸引力。当Day和他的团队在研究帮助控制存储成本的潜在技术解决方案时,他们对一种名为擦除代码的技术非常感兴趣。

使用擦除代码技术的下一代存储

Reed-Solomon纠删码最初用作不可靠信道中的数据传输的前向纠错(FEC ),例如外层空间探索中的数据传输。这项技术也用于CD和DVD,以处理光盘上的故障,如灰尘和划痕。一些存储供应商已经开始将擦除代码纳入他们的解决方案。有了纠删码,就可以把数据分解成几块,单块的碎数据就没用了,然后再把它们分布到不同的磁盘驱动器或者服务器上。在任何使用中,这些数据都可以完全重组,即使一些数据块由于磁盘故障而丢失。换句话说,你不需要创建数据的多个副本,单个数据就可以保证数据的完整性和可用性。

Cleversafe是基于擦除代码的解决方案的早期供应商之一,它添加了位置信息,以创建它所谓的分散编码,允许用户在不同的位置(如多个数据中心)存储数据块或切片。

每个数据块本身是没用的,可以保证隐私和安全。由于信息分散技术使用单个数据来确保数据的完整性和可用性,而不是像RAID那样使用多个副本,因此公司可以节省高达90%的存储成本。

“当你试图重组数据时,你不一定需要提供所有的数据块,”Cleversafe的产品战略、营销和客户解决方案副总裁Russ Kennedy说。“你生成的数据块的数量叫做宽度,我们把重组数据所需的最小数量叫做阈值。您生成的数据块数量与重组所需数量之间的差异决定了它的可靠性。同时,即使失去节点和驱动器,您仍然可以获得原始数据。”