2008-11-28

Sorting 1PB with MapReduce ([著]Grzegorz Czajkowski, [版]Official Google Blog)

Official Google Blog: Sorting 1PB with MapReduce

Sometimes you need to sort more than a terabyte, so we were curious to find out what happens when you sort more and gave one petabyte (PB) a try. One petabyte is a thousand terabytes, or, to put this amount in perspective, it is 12 times the amount of archived web data in the U.S. Library of Congress as of May 2008. In comparison, consider that the aggregate size of data processed by all instances of MapReduce at Google was on average 20PB per day in January 2008.

It took six hours and two minutes to sort 1PB (10 trillion 100-byte records) on 4,000 computers. We're not aware of any other sorting experiment at this scale and are obviously very excited to be able to process so much data so quickly.

...Where do you put 1PB of sorted data? We were writing it to 48,000 hard drives (we did not use the full capacity of these disks, though), and every time we ran our sort, at least one of our disks managed to break (this is not surprising at all given the duration of the test, the number of disks involved, and the expected lifetime of hard disks).

ペタは 2^50。って、正直言って、一般人じゃ想像の及ばないスケールになっている。

そして、スケール感にくらまされて見落しがちなのが次の段落にある「1PB のデータをどこに置く?」ってこと。「うん? HDD をいっぱい用意すればいいんじゃね?」と、ここまでは想像がつく。けどその先、1回ソートを実行すると、48000個の HDD のうち1個が必ずぶっこわれる、ってことまでは気が届かない。

日常のスケールでは問題にならない信頼性(の高さ)でも、極端なスケールを扱う場合には欠陥として浮上してくる。そういう問題を扱うときには相応の対策が必要なのだ。指摘されれば理解できるけど、経験がないと気付けないよねえ。実際、こういうレベルのスケールを扱ったことのあるヒトって少ないでしょう? まったくビックリだよ(;゜Д゜)

関連エントリ

0 件のコメント:

コメントを投稿