Googleを支える技術 巨大システムの内側の世界

  • 西田圭介

Googleの中で何が行われているのかは, いくつかの論文で断片的に公開されているがまとまった形になったものはなかった. 本書は, 公開されている論文やさまざまなブログなどの情報を, 必要な技術解説を加え, 学部学生でも読めるように平易にまとめたものである. 読みやすくまとまっているので, だれにでもおすすめできる.

Googleというと検索技術が着目されることが多いが, 実際には検索を支える基盤技術が抜きん出ている. 具体的には数十万台にもおよぶ安価な計算機を用いて大規模で高信頼なシステムを構築する技術である.

日本のITゼネコン的発想では, 高信頼システムを構築するためには, まず各コンポーネントを高信頼にしてそれを組み合わせることになるが, そのような発想では, Googleのような規模のシステムを構築することは絶対に不可能である. コンポーネントの数が増大するにつれてそのいずれかがエラーを起こす確率がリニアに増大するため, 数万台規模になると常にいずれかのコンポーネントがエラーを起こしていることになるからである.

このような規模に対応するためには, 各コンポーネントに対しては信頼性を期待せず, 上位レイヤのソフトウェアで信頼性を担保するよう,根本的に発想を変えなければならない. このような技術を現在持っているのは, GoogleAmazonぐらいではないだろうか.

実際Web Crawlingの研究をしている知人の話では, crawlしたデータを長期間保管しておくことすらなかなか難しいのだそうだ. RAIDを組んでも, 台数が多くなると, しょっちゅうどこかが壊れて, ディスクを交換して再構成ばっかりしていることになるらしい. まあ, それはそうだろう.

いよいよ日本のIT産業の未来は暗いと思わざるを得ないのだが, さてさて. 「情報大航海」なんて, 2週遅れって感じだし. 嗚呼.