将文件分解成易管理的数据块
勇于尝试云计算服务的电子商务巨头Amazon.com正在快速成为全球最大的数据存储商,为了满足自身的存储需求和客户的存储需求,亚马逊在其云计算上存储了4500亿个对象。亚马逊Web服务的存储服务副总裁Alyssa Henry解释称,这个数量相当于全美每人分配到1500个对象,等于银河系每个星星都可以分配到一个对象。
数据库中的一些对象相当的大——大到每个5TB,大到他们自己都可能成为一个数据库。Henry称,她预测到2016年,单个对象的大小将增长至500TB。
她称,应对这些大型数据的秘密是将这些对象分解成数据块,这一过程被称为平行化。
对于亚马逊S3公有云存储服务,亚马逊使用了他们自己的自定义码将文件分解为每片1000MB的数据块。这是一个通常的做法,但是亚马逊的方法与众不同的地方在于实时对这些文件进行分解。
Henry解释称:“这一永远可用的架构与一些存储系统形成了鲜明的对比,后者将数据在存档和使用状态间移动,这为对数据检索带来潜在的延迟。”
损坏的文件是存储经理在处理海量数据时不得不面对的挑战。许多公司并不担心偶然损坏的文件,但是当你有4490亿个对象,即使很低的失败率也会带来一个存储挑战。
亚马逊使用定制的软件对损坏的内存分配中的每个数据进行分析,计算出总和检查,分析如何快速修复损坏以传输云存储所需要的吞吐量。
Henry称,由于客户将越来越多的数据存储在S3系统上,因此亚马逊数据存储需求增长显著。比如,一些用户存储用于基因排序的海量数据集,一名美国客户使用他们的服务存储奶牛身上的传感器数据以追踪这些奶牛的活动和健康情况。Henry并没有预测这一数据收集可能会达到多大。Henry称,面对这些需求,亚马逊准备迅速增加节点以进行扩展。