Monday, November 24, 2008

Google sorts 1TB index in 68 seconds

如何高效处理全球信息一直是Google的狂热追求,而其自行开发的C++编程工具MapReduce就在其中扮演着关键角色。它可以多线程同时执行大规模数据集(1TB以上)的并行运算,是日常超大计算量的完美方案。

Google今天自豪地宣布 ,他们只需要短短68秒钟就能完成对1TB数据的排序处理。这些数据都是未压缩的文本文件,使用Google File System文件系统存储在1000台计算机上。在此之前,Google处理分布于910台计算机上的等量数据需要耗时209秒,效率只有现在的三分之一左右。

当然,信息爆炸时代的数据量远远不只是TB级别,更常见的是一千倍的PB级别。在今年1月份的时候,Google MapReduce平均每天的数据处理量是20PB,相当于美国国会图书馆今年5月份存档网络数据的240倍。

那么Google MapReduce对4000台计算机上的1PB数据进行排序处理需要多长时间呢?答案是6小时零2分钟。放眼全球,除了Google还没有谁具备这种高速处理能力。

Google还透露,这1PB数据是存储在48000个硬盘上的(当然并没有全部填满),不过考虑到测试的持续时间、涉及的硬盘数量、硬盘的使用寿命,每次进行测试都会有至少一块硬盘挂掉。为此Google文件系统会为每个文件备份三个拷贝,并分别放在三块硬盘上.

0 comments:

Post a Comment