Googleを支える技術 - 読了
タイトルの通り、Googleの利用者に意識させないようにしている"裏側"を解説した本。
ページ数は約270ページとそれほど多くはないが、内容密度が濃く読み応えのある本でした。
全6章構成で、次のようになってます。
目次
- 第1章 Googleの誕生
- 第2章 Googleの大規模化
- 第3章 Googleの分散ストレージ
- 第4章 Googleの分散データ処理
- 第5章 Googleの運用コスト
- 第6章 Googleの開発体制
読んだ、とは言ってもサーバーサイドの技術に明るくないので正直第3章は途中でギブ><
その他は実に面白く読めた。次は第3章も、あるいは本書の内容全般を十分咀嚼していくステップが必要か。
サーバー管理者にとっては大変参考になる章が多いのではないでしょうか。ただ、サーバー管理していない人にとっても例えば大量のデータ処理に関しての章があったり、運用コスト(ハードウェア代や電気代など)を抑えるためのあれこれなどGoogleの見えざる姿を垣間みたい方にオススメな一冊。
Googleの規模になると無視出来ないスケーラビリティ、拡張の問題がある。
俺自身全く考えることなく、普通にスケールするんじゃね?とか思っていたけれどそんな単純な比例関係にあるわけがない。スケールさせるにはいろいろな問題をクリアしなければいけず、本書にはその辺のことが書かれており大変興味深い。大規模コンピューティングの先端に触れられた気がします。
本書を読もうと思ったきっかけはGoogleを支える技術(そのままw)を知りたかったし、また、本書のような"しっかり"とした構成でかつイラストの過不足なく配置されており、なにより元となる文献のURIが明記されており、"本"として魅力溢れている本書をスルーすることが出来なかったというのも大きい。そういった意味では、本という媒体自体が好きな人にもオススメな一冊。
あとは、実は3年次に物性の授業で、講義の最終課題としてなんでもいいから物性関係の題材を選びレポートとしてまとめろ、といったのがあったときに、俺は本書第5章の前半にあるようなCPUの動作電力やら仕組みについて簡単にまとめるといったことをした。ぶっちゃけ一夜漬けでよくやったと思うが、電子回路の本などもあたって調べたことがあった。そういったことも扱っているというのも興味を引かれた理由の一つだ。さすがにその頃は英語の文献を積極的にあたることはしなかったのでGoogleの文献に触れることはなかったけれども。
最後に各文献へのリンクを記載しておきます。
文献
Googlerたちによって書かれた論文ページのトップは次参照。
Papers Written by Googlers
第1章 Googleの誕生
第2章 Googleの大規模化
第3章 Googleの分散ストレージ
3.1 Google File System -- 分散ファイルシステム
3.2 Bigtable -- 分散ストレージシステム
[PDF]Bigtable: A Distributed Storage System for Structured Data
3.3 Chubby -- 分散ロックサービス
[PDF]The Chubby lock service for loosely-coupled distributed systems
[PDF]Paxos Made Live - An Engineering Perspective (2006 Invited Talk)
第4章 Googleの分散データ処理
4.1 MapReduce -- 分散処理のための基盤技術
[PDF]MapReduce: Simplified Data Processing on Large Clusters
4.2 Sawzall -- 手軽に分散処理するための専用言語
第5章 Googleの運用コスト
5.4 データセンターの電力配備
5.5 ハードディスクはいつ壊れるか
[PDF]Failure Trends in a Large Disk Drive Population