Googleの本「Googleを支える技術 ~巨大システムの内側の世界」
西田 圭介 (著) ,技術評論社 (2008/3/28)
Googleのシステムを論文などから調べわかりやすく解説している本。
正直、ここまですごいシステム構成だと想像もつかなかった。
「日本のすべてのPCよりも多いサーバを使用し、アルファベットごとにインデックスサーバが作られ、サーバーが壊れてもいいように物理的に離れた場所に複数のコピーを置く」
みたいな中途半端で怪しい知識から一歩前進した。
「とにかく、ひたすら、分散・分散・分散!!!」
この本からのGoogleのシステムの印象は、「そこまで、そんなとこまで分散しているのか!?」だ。
ストレージ(HDD?)の分散、データベースの分散、プログラムの処理の分散、Webサーバの分散・・・。さまざまな層で分散処理が行われている。
分散処理では、データの保護(物理的に離れた場所のサーバーに複数のコピー)、処理の高速化(1回の検索で数百、数千台のサーバーで同時に検索)、ネットワークの高速化(物理的に近いサーバーに接続)などが行われているらしい。
いったい、1回のGoogle検索で何台のサーバーが動くのか?
1つのDBに入りきらないようなデータを扱った仕事をしたことがないけど、分散処理の難しさは十分に伝わってくる。
「電力のチューニング」
巨大なデータセンター、膨大なサーバーを動かす電力はとてつもなくでデカイ、電気代も大変らしい。
Googleでは、価格、性能、電気代を考慮したCPUの選択から、電気代を節約するための電源の改造、ピーク電力の削減などを行っている。電気代、データセンターの設備代はピーク電力に左右され、電力はCPUの使用率により変化する。そこで、処理の時間を均等に割り振るとか、ピーク電力に近づくと処理速度を落とすとかして電力をチューニングしているらしい。
・・・・・・・・・・・・・・・・・・・・・・・・・・・
他、さまざまな方向からGoogleのシステムについて解説しているこの本。理系ではない人(自分)にとって多少難しいor理解できない部分もあるが、Googleのシステムを例題に分散処置の勉強ができる、コストパフォーマンスがものすごい高い本だと思う。Googleのソフトウェア開発環境についても触れているので、是非読んでほしい。◎
