【IT168 应用】最近,大家都在讨论大数据分析及其带来的商业情报的价值,但是在企业从这些数据中挖掘出有效信息之前,他们必须弄清楚该如何存储这些大数据。管理大数据(PB级或者更大的数据)与管理传统大型数据集完全不同,在线照片分享平台Shutterfly公司就非常清楚这一点。
Shutterfly是一个在线照片分享网站,它允许用户上传无限数量的照片,并以用户上传的分辨率来保存,绝对不会压缩尺寸,这与其他照片分享平台有所不同,同时,Shutterfly也表示从来不会删除一张照片。
“我们的照片存档大约是30PB的数据,”Shutterfly公司高级副总裁兼首席技术官Neil Day表示,“我们的存储池增长的速度比客户增长的速度还快。当我们获得一个客户时,他们做的第一件事就是向我们上传一堆照片,然后他们就会爱上我们的服务,然后他们又会上传另外一堆照片。”
为了对数据规模有个认识,大家可以看看这些信息:1 PB相当于100万TB或者10亿GB,美国宇航局哈勃太空望远镜前20年观测的图像数据大约为45TB的数据,而以128 KB/s记录的1TB压缩音频大约包含1.7万小时的音频。
完全不同的PB级基础设施
“PB级基础设施是完全不同的一回事,”Day表示,“它们很难建立和维护。PB或多PB级基础设施与传统大规模数据集之间的差别简直就像白天和黑夜的差别,就像在笔记本电脑上处理数据和在RAID阵列上处理数据之间的差别。”
当Day在2009年加入Shutterfly时,存储已经成为该公司最大的开支,并且以飞快的速度增长。
“每N个PB的额外存储意味着我们需要另一个存储管理员来支持物理和逻辑基础设施,”Day表示,“面对大规模数据存储,系统会更频繁地出问题,任何管理超大存储的人经常都要处理硬件故障。大家都在试图解决的根本问题是:当你知道存储的一部分将在一段时间内出现问题,你应该如何确保数据可用性,同时确保不会降低性能?”
RAID问题
解决故障的标准答案是复制,通常以RAID阵列的形式。但Day表示,面对庞大规模的数据时,RAID解决问题的同时可能会制造更多问题。在传统RAID数据存储方案中,每个数据的副本都被镜像和存储在阵列的不同磁盘中,以确保完整性和可用性。但这意味着每个被镜像和存储的数据将需要其本身五倍以上的存储空间。随着RAID阵列中使用的磁盘越来越大(从密度和功耗的角度来看,3TB磁盘非常具有吸引力),更换故障驱动器的时间也将变得越来越长。
“实际上,我们使用RAID并不存在任何操作问题,”Day表示,“我们看到的是,随着磁盘变得越来越大,当任何组件发生故障时,我们回到一个完全冗余的系统的时间增加。生成校验是与数据集的大小成正比的。当我们开始使用1TB和2TB的磁盘时,回到完全冗余系统的时间变得很长。可以说,这种趋势并没有朝着正确的方向发展。”
对于Shutterfly而言,可靠性和可用性是非常关键的因素,这也是企业级存储的要求。Day表示,其快速膨胀的存储成本使商品系统变得更具吸引力。当Day及其团队在研究潜在技术解决方案以帮助控制存储成本时,他们对于一项叫做纠删码(erasure code)的技术非常感兴趣。
${PageNumber}采用擦除代码技术的下一代存储
里德-所罗门纠删码最初作为前向纠错码(Forward Error Correction, FEC)用于不可靠通道的数据传输,例如外层空间探测的数据传输。这项技术还被用于CD和DVD来处理光盘上的故障,例如灰尘和划痕。一些存储供应商已经开始将纠删码纳入他们的解决方案中。使用纠删码,数据可以被分解成几块,单块分解数据是无用的,然后它们被分散到不同磁盘驱动器或者服务器。在任何使用,这些数据都可以完全重组,即使有些数据块因为磁盘故障已经丢失。换句话说,你不需要创建多个数据副本,单个数据就可以确保数据的完整性和可用性。
基于纠删码的解决方案的早期供应商之一是Cleversafe公司,他们添加了位置信息来创建其所谓的分散编码,让用户可以在不同位置(例如多个数据中心)存储数据块或者说数据片。
每个数据块就其自身而言是无用的,这样能够确保隐私性和安全性。因为信息分散技术使用单一数据来确保数据完整性和可用性,而不是像RAID一样使用多个副本,公司可以节省多达90%的存储成本。
“当你将试图重组数据时,你并不一定需要提供所有数据块,”Cleversafe公司产品策略、市场营销和客户解决方案副总裁Russ Kennedy表示,“你生成的数据块的数量,我们称之为宽度,我们将重组数据需要的最低数量称之为门槛。你生成的数据块的数量和重组需要的数量之间的差异决定了其可靠性。同时,即使你丢失节点和驱动器,你仍然能够得到原来形式的数据。通过RAID你能够获取的最高可靠性是双奇偶校验,你可以丢失两个驱动器,而通过我们的解决方案,你最多可以丢失六个。”
纠删码也是一个基于软件的技术,这意味着它可以与商品硬件使用,更大程度地降低了成本。
建立下一代存储基础设施
“在确定正确的技术后,我们看了很多这个领域提供解决方案的供应商,”Day表示,“我们希望自己来建立,但是如果我们能够找到一个满足我们的要求且具备可靠系统的公司,那事情就更好办了。”
Shutterfly将四家供应商带到其实验室进行评估,为其数据中心需要的存储设备建立原型,Day表示,他希望看到性能、可用性、容错率和管理方面的评估信息。
“我们有一个专门管理照片存档的工作人员,”他表示,“2010年我们遇到的最大问题之一就是照片存档的不断增加,使我们不得不壮大员工队伍,但这增加了我们的开支。”
Day表示经过评估,Cleversafe更加适合Shutterfly,这主要是因为该公司愿意与Shutterfly配合根据Shutterfly的需求来调整其解决方案。这两家公司开始经历了一些列的概念证明阶段,包括在Shutterfly实验室的负载和性能测试。在Shutterfly对操作和性能感到满意后,Cleversafe在生产中放置了一个并行存储基础设施,直接将所有Shutterfly流量的副本导向Cleversafe。
“每张上传的照片都被写入我们原有的基础设施和Cleversafe的基础设施,”Day表示,“我们运行了六个月,包括节假日。”
节假日是Shutterfly的高峰期,因为用户拍了很多照片。
Shutterfly在2011年开始使用Cleversafe的存储解决方案,并一直将其作为主要图像库。
${PageNumber}基于纠删码存储的总体拥有成本
“这其实是一个软件解决方案,让我们可以部署非常具有成本效益的硬件,”Day表示,“从总体拥有成本角度来看,这给我们带来了巨大的改变。我们与硬件供应商沟通时,具有更大的灵活性,并且能够保证我们购买最具成本效益的驱动器和基础设施。”
Day表示,“管理存储池也大大简化。”
“基本上我们只需要添加另一个存储块,它会自动被添加到我们为其指定的存储池,”他表示,“以前,我们每次添加额外的存储空间,都不得不重复相同的工作。”
另外,现在当驱动器故障或者脱机时,Shutterfly的存储基础设施能够将其标记为“不可用”,并绕过该驱动器来路由数据,同时透明地恢复该驱动器上的数据。Day表示其团队现在可以简单地发现故障,然后根据预定的维护时间表更换受影响的基础设施。
“我们不再需要像以前一样增加人员,”他表示,“我们仍然在增长,但是速度比以前慢得多。日常维护工作量有所下降,管理员能够花更多时间在其他项目上。”
只要存储数据,就具有洞察力
Shutterfly只是一家与大多数公司一样需要处理大量数据的互联网公司,各行各业的公司都正在面对不断增加的数据量。
Day表示:“在过去四五年间,我们看到很多应用程序和技术进入市场,让处理大数据成为可能,这真的非常令人激动,因为这些技术让企业能够通过分析细粒度数据而获取业务价值。”
“我们正处在大数据的非常早期阶段,”Day表示,“另一个有趣的因素是随着企业开始面对更多实时客户交互,他们正产生大量数据,现在我们能通过分析这些数据获取真正具有影响力的商业洞察力,但这些都取决于我们可靠地存储大量数据的能力。”