『Googleを支える技術』を読みました

ちょっと旬な時期は過ぎてしまった感は有りますが『Googleを支える技術』を読み終えました。

Google社員ではない西田圭介さんが外部に公開されている様々な情報を基にGoogleさんの基盤となる技術を分かり易く解説されていて、本を読む速度がかなり遅い私でも一気に読み終えることができました。
# それでも数週間掛かりましたが・・・。(劇汗)


Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)


個人的には、かなり以前、Unix上でTCP/IPのソケットを用いたネットワークプログラミングやIPCを用いてプロセス間通信を行うプログラミングを覚えた時以来の衝撃を感じる程(レベルが違い過ぎますが・・・)、Googleさんの各種サービスはこのような基盤の上で動作しているんだと感激してしまいました。


以下に記憶に残った記述を整理してみます。

  • 消費電力と処理性能のバランスが良い汎用的な部品を用いたサーバを利用している

クラスタウェア、RAIDなどの一般的な技術は用いずにシステムの可用性を高めるために、独自に下記のようなソフトウェアを開発したそうです。

  • GFS、BigTable、Chubby、MapReduceなど超大規模分散環境を実現する技術を独自に開発した

もう解説の必要がない程、有名なこれらのソフトウエアを用いることで負荷分散と高可用性を実現されています。

  • CPU負荷状況と消費電力には関連が有る

同じハードウェアならCPU負荷状況をログに残すことで、そのサーバの消費電力が算出できるそうです。

  • Googleのデータセンターには2種類が有る

ユーザからの検索リクエストに素早い応答を返すためのフロントエンドを担当するデータセンターと大量の処理を大量のサーバで分散させて実行するためのバックエンドを担当するデータセンターが有るそうで、これらが連携し1つの超巨大なコンピュータのように振舞っているとのことです。(@o@)


やはり一瞬で世界中の情報を検索可能なシステムの基盤はトンデモナイことになっているんですね〜。もう凡人エンジニアの私には追いつくことができない領域です。(>o<;