2008年6月11日水曜日

グーグルデータセンターの内側

ここまでくるとサーバの保守は生命工学にせまる、最先端の領域となる。

http://japan.cnet.com/special/story/0,2000056049,20374847,00.htm

Googleのような規模でサーバを運営するには、マシンを消耗品として扱う必要がある。サーバメーカーはハイエンドマシンが故障に強いことを誇りにしているが、Googleはフォールトトレラントソフトウェアに資金を投入する方を選んでいる。

やっかいな慣らし運転
各クラスタでは1年目に、1000件の個々のマシン故障が発生するのが一般的だ。ハードドライブ故障は数千件起こる。

Googleは本当に心からマルチコアマシンを気に入っている。われわれにとって、マルチコアマシンは、相互接続に優れたたくさんの小型マシンのようなもので、比較的使いやすい

シングルスレッドのパフォーマンスはGoogleにはまったく重要ではない。Googleには並列化可能な問題がたくさんある

Google成功の秘密
Dean氏は、Googleのソフトウェアの3つの中核となる要素、すなわち「GFS(Google File System)」「BigTable」「MapReduce」アルゴリズムについて説明した。

マシン故障はすべてGFSシステム、少なくともストレージレベルで処理される

すべてのデータに構造を提供するためにGoogleはBigTableを使用している。
Oracle、IBMといったメーカーの市販のデータベースは、 Googleには適さない。
1つには、Googleが要求する規模での運営ができないからだが、
 たとえ可能だとしても、費用がかかりすぎる

Bigtable is a distributed storage system for managing structured data.
MapReduce is a programming model and an associated implementation
 for processing and generating large data sets.

MapReduceは、Googleの持つデータを実質的に活用できるようにするもので、最初のバージョンは2003年に作成された。たとえば、 MapReduceでは、特定の単語がGoogleの検索インデックスに登場した回数、ある単語が表示されているウェブページのリスト、特定のウェブサイ トにリンクしているすべてのウェブサイトのリストを確認できる。

フォールトトレラントソフトウェア
言うまでもなく、MapReduceはGFSと同様に、サーバの問題を回避するために開発されたものである。

以前、1800台のサーバで構成されるクラスタでの保守作業中に、本格的なMapReduceの信頼性のテストが行われた。作業担当者が一度に80台のマ シンの電源を抜いたところ、残りの1720台のマシンがその穴を埋めた。「動作速度は少し落ちたが、すべて終了した」とDean氏は語る。

次世代データセンターの今後の課題
ほとんどの企業は、ジョブをサーバから別のサーバにスムーズに移動する方法を考えているが、Googleの課題はけたが違う。Googleはジョブをデータセンターから別のデータセンターに移動できるようにしたいと考えている。しかも自動的にだ。


Migration Python2.7への移行

1. 以前のプログラムのソースをダウンロードして、 app.xml を変更して deployする 503 python -V // まず Mac にインストールされている python のバージョンを確認 504 pwd 505 curl https://sdk.cl...