読み終えた。 Google の使っている各種技術を外の人が公開されている資料から分析した結果を解説している。作者の人は技術的バックグラウンドがしっかりした人だけど、内容はかなり平易な表現で書かれているので文系の人でも十分理解できると思う。コード類はサンプル関連の一部で取り上げられるぐらいで、どれも補助的なもの。 コンピュータサイエンス を専門としない理系の学部生向けの講義に丁度よいぐらいの内容だと思った。分散コンピューティングの学術的視点からすると最先端というわけではないけど、いまどきの学生にとっても大変身近な Google の仕組みについての内容だし、分散コンピューティングってこうなっているのかという雰囲気は掴めるのではないかと思う。 コンピュータサイエンス を専攻している学部生ぐらいだったら、挙げられている要素技術を実装してみましょうという感じになるのかな。個人的にも非常にそそられる内容だったので、手元の Linux boxに Hadoop を入れて色々といじってみているところ。要素技術を見ていて思うのは、 Google というのは決して魔法を使っているわけでも無くてそこに有る技術を適切に組み合わせて出来ているのだという事。GFSにしても一般的な 分散ファイルシステム と比べるとかなり制限の強いもののようだし、生で使うには不便だろう。そこで、その上で動くデータベースである BigTable があったり、ロックや小さいファイルを扱うChubbyがあったり。それらを組み合わせることで、全体として使い易いシステムにしている。 Google の技術をもってしても多目的 分散ファイルシステム を作るというのは現実的なアプローチじゃないと判断したんだね、と妙に納得してしまった。徹底したtoolkitアプローチだ、 unix 的とも言える。 Microsoft とかだと WinFS みたいに巨大なプロダクトを全力で作っていくようなアプローチが多いように思うが、やはりこの違いは製品を外販していく会社とそうでない会社の違いなのかな。 Google の要素技術はどれも単体で売るには中途半端だし、全てまとめると独特すぎる世界なのでニッチになってしまいそう。これだけの要素技術をブレずに淡々と作っていく姿勢も凄いが、こんな独特な物を社内の標準環境として使っていける従業員を揃えられるのは流石。日本のエンジニアの人で Google に行った人はほとんどがblogの更新頻度が落ちるのだけど、社内がすげー楽しいんだろうな、やはり。世界には Google 以外にあと4つのコンピュータ クラウド が出来るという比喩があるが、二番手以降がこの規模について行けるのだろうか。データセンターの展開の話などを読んでいると、不安にすらなってきた。