2010年3月8日月曜日

Googleのクラウドストレージ戦略を読む-1
                          ・・・GFSの改良

GoogleのクラウドストレージGDriveが噂になって久しい。
なかなか現れないGDrive、理由があるに違いない。それを解くヒントが昨年から今年にかけて幾つかあった。そこで今回はGoogleのクラウドストレージ戦略を考えてみようと思う。まず、最大の課題はGFSである。

-GFSの改良が始まった-
昨年夏、GoogleはGFS(Google File System )の改良を公にした。
米情報工学学会ACM(Association for Computing Machinery)掲載“Evolution on Fast-Forwards”の中で、BSDのBerkeley Fast File Systemで顕著な功績を残して、現在は同誌編集に携わっているMarshall Kirk McKusick氏がGFSのリードSean Quinlan氏と対談した。Quinlan氏は、改良の理由を次のように述べている。同社プラットフォームの基盤となるGFSは、これまで検索エンジンを支えるWeb巡回のCrawlとキーワード作成のIndexingを念頭に、大量の読み込み処理に耐えられるバッチ型の設計がされてきた。
しかしながら、検索以外にGmail、Docs、Goolge AppEngineなどのようなトランザクションが増え、
しかも小量の書き込み需要が大きくなった。これらの流れの中で現行システムの最大の問題はマスターが単一だということだ。つまり、Googleの扱うデータ容量が当初の見通しを大幅に超えて、何10TBとなり、何1,000というタスクが同時に動き出したり、膨大なファイルを同時オープンする時代になった。ファイル数の問題はBigTableを利用すれば改善の余地はあるが、GFSでチャンク(Chunk-ファイル分割の単位)をどのサーバーに保存するかを管理するマスターサーバーのネックは深刻だ。1台のマスターが全てを管理するこれまでの仕組は、処理能力だけでなく、故障時のリカバリーにも問題が大きい。そこでGFSをマルチマスターの構成対応とするプロジェクトが始まった。こうすればデータベースサイズは無限に大きく出来、リカバリーも簡単になる。またこれまでの64MBというチャンクサイズもトランザクション処理には大きすぎ、新しいGFSでは1MBとなる。

Quinlan氏によれば、これらの作業は既に2年前から始まったと言う。
つまり、Google AppEngine登場の2008年4月以前である。Googleは過去、Gmailで起きた何回かのトラブルについてメールサーバーの過負荷だったと一部説明してきた。Google Appsの普及に伴ってGmailの負荷は大きくなるばかりだ。これら全てがGFSに依存している。

-ファイル料金の大幅な値下げ-
昨年11月始め、Googleはストレージ料金の値下げに踏み切った。
GFS改良が終わったのかは解らない。
しかし、この料金改定をみる限り作業がほぼ終了したことを予感させる。事実、このアナウンス(Blog)の中でストレージ価格競争の激化に対応するため、2年間、懸命にインフラ整備に取り組んだと述べている。 そしてこれまで年20㌦で10GB だった利用料が、今後は年5㌦で20GB というのだ。200GBでは年50㌦、1TBで年256㌦、最大は16TB(年4096㌦)まで拡張できる。概算すると、これまでの1/8~1/10程度だ。

これを月額料金制のAmazon S3の場合と比べてみよう。
S3では、利用スペースによって少しづつ割安になるが、最初の50TBまでは1GB当たり0.15㌦/月だ。これは安いようにも思えるが、計算すると1TBの月額は150㌦、1年だとにすると1,800㌦となる。何とGoogle新価格の7倍高いことが判る。

-自社開発ソフトウェアとハードウェアの連携-
どうしてこのような価格設定が出来たのか、それにはGFSとハードウェアの連携が見逃せない。新GFSによって将来への拡張性と使い勝手が保証され、ハードウェアの増強が可能となった。Googleと言えばソフトウェア企業のイメージが強いがそうではない。彼等のデータセンターにあるサーバーもストレージも全てGoogleが作ってきたものだ。全てを自社開発することで最適なソフトウェアとハードウェアの連携が可能となる。Moore’s Lawで有名なIC回路の集積度は18~24ヶ月でほぼ倍になるが、同じことはディスクストレージについても言える。SeagateのSVPだったMark Kryder の研究(Kryder's Law)でもドライブ当たりの容量はほぼリニアに伸びる。このディスクの大型化による低価格化を上手く利用しなければならない。

GFSの改良でGoogleのクラウドストレージ戦略は大きく前に進むことができる。
後はこれまで通り改良の進むディスクをストレージとして組み上げることだ。