扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
与管理传统的大型数据基础设施相比,管理与大数据相关的拍字节级数据存储是一种全新的方式。目前在线照片分享网站Shutterfly管理着30拍字节的数据。Shutterfly在这里与我们分享了他们驯服“数据野兽”的经验。
目前,每个人都在谈论大数据分析方法和相关的商务智能成果。但是在公司能够利用这些数据前,他们必须想办法解决存储问题。管理拍字节级甚至更大规模的数据存储与管理传统大型数据集有着本质的区别。
Shutterfly为一家在线照片分享网站。他们并不限制用户存储照片的数量,并且允许用户存储原始分辨率的照片,用户在存储时可以不用降低照片的分辨率。Shutterfly还曾承诺永远不会删除任何照片。
Shutterfly 高级副总裁兼首席技术官Neil Day称:“我们的照片存档大小已经超过了30拍字节。存储池的增长速度远远高于用户群的增长速度。在我们吸引到客户后,他们做的第一件事就是向我们上传大量照片。在他们喜欢上我们之后,他们做的第一件事就是再次上传大量照片。”
为了有一个直观的印象,大家可以想像一下,1拍字节等于100太字节,等于1百万吉字节。美国宇航局哈勃太空望远镜前20年的观测数据存档也仅为45太字节多一点。以128 kB/s速率压缩的1太字节音频数据可以存储17000小时的音频
拍字节级基础设施的特点
Day称:“拍字节级基础设施与传统存储设施完全不同。建立和维护它们非常困难。与传统大型数据集的管理压力相比,一个拍字节或多个拍字节基础设施的管理压力完全是天壤之别。它们之间的差异就如同在笔记本电脑上处理数据和在RAID阵列上处理数据一样。”
Day在2009年进入Shutterfly网站。当时存储已经成为了公司最大的开销,并且这一开销仍然在飞速地增长。这些开销的增长速度并不是根据原始容量的增长速度而增长,而是根据员工数量的增长速度而增长。
Day 称:“存储每增长n个拍字节就意味着我们需要增加一名存储管理员,以及相应的物理和逻辑基础设施。有了这些大型存储,数据量不断创下新高。实际管理这些大型存档的人必须不断的解决硬件故障问题。每个人都想解决这一基本问题,因为大家都清楚硬盘方面的任何一个故障都会导致服务中断。那么你如何确保数据能够被持续获取,如何保证性能不会下降?”
扩展RAID是一个棘手的问题
失效备援的标准解决方案是进行复制,通常是以RAID阵列的形式进行。但是如果规模庞大,那么RAID产生的问题将比解决的问题更多。在传统的RAID数据存储方案中,为了保证完整性和可用性,每个数据的拷贝都会被做成镜像,存储在不同的磁盘阵列上。不过,这也意味着每份被存储和被做成镜像的数据将导致存储容量膨胀五倍。随着RAID阵列中的磁盘容量越来越大,将故障磁盘中的内容恢复到新磁盘上所需要的时间也越来越长。
Day 称:“实际上,我们在RAID上并没有遇到操作问题。我们遇到的问题是,磁盘容量越来越大,如果磁盘组件出现故障,切换至冗余系统的时间将越来越长。奇偶校验与生成的数据集的大小是成正比的。目前我们已经开始在基础设施中使用1太字节和2太字节的磁盘,这导致切换到冗余系统的时间更长。目前的发展趋势并没有朝着正确的方向发展。”
可靠性和可用性对于Shutterfly来说非常关键,这也是企业级存储的需求。Day称,快速增长的存储成本使得商品化服务越来越具有吸引力。在Day和他的团队对一些能够让Shutterfly控制成本的潜在技术解决方案进行投资的过程中,他们接触到了一种名为纠删码的技术。这一技术引起了他们的兴趣。
利用纠删码创建下一代存储
Reed-Solomon纠删码最初是作为前身纠错(FEC)代码,用于在不可靠的信道中发送数据,例如深空探测任务中的数据传输。这一技术还被广泛的应用在CD和DVD上,以处理灰尘和划痕等光盘损伤问题。目前几家存储厂商已经开始展开合作,将纠删码整合到他们的解决方案中。通过纠删码,数据段能够被分解为多个小块,每一小块数据本身都是没用的。然后,这些数据块被分散到不同的硬盘上或是服务器上。只需要部分数据块,数据就能够随时被重新恢复,甚至当硬盘故障导致多个数据块丢失后,数据仍然能够被完整地拼凑起来。换句话说,你不再需要创建多份数据拷贝,单个实例就能够保证数据的完整性和可用性。
总部位于芝加哥的Cleversaf公司是较早涉足纠删码解决方案的厂商之一。该公司还通过增加存储单元信息研发出了分散码技术。该技术允许用户在地理位置上相互独立的地方,如在多个数据中心上存储数据块、或是片段。
由于每个片断在数学意义上都是无用的,这使得其具有私密性和安全性。与RAID需要多份拷贝不同,信息分散技术仅使用一个单个实例数据,并且为了确保数据的完整性和可用性只进行了最低限制的扩展,因此公司可能节省90%的存储成本。
Cleversafe 公司产品策略、营销和客户解决方案副总裁Russ Kennedy称:“在重新将数据块拼凑在一起时,你不必拥有每一个数据块。所生成的全部数据块的数量我们称之为广度,恢复数据所需要的最低限度的数据块,我们称之为阈值。这两者之间的差异决定了数据的可靠性。当你同时丢失了节点和硬盘后,你仍然能够恢复原始的数据。在RAID中你能够获得的最高的可靠性是双奇偶校验,你可以丢失两块硬盘。但是在我们的解决方案中,你可以丢失最多六块硬盘。”
纠删码是一项以软件为基础的技术,这意味着该技术可以使用商用硬件,进一步压缩扩展成本。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。