読者です 読者をやめる 読者になる 読者になる

Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

Googleを支える技術

3ヶ月研修 Ruby

Googleを支える技術 ?巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)』を読んでみました。この本は、全部で6章構成で、各章は以下によると

book = [["第1章", "Googleの誕生", 3, 38],
        ["第2章", "Googleの大規模化", 39, 60],
        ["第3章", "Googleの分散ストレージ", 61, 134],
        ["第4章", "Googleの分散データ処理", 135, 184],
        ["第5章", "Googleの運用コスト", 185, 246],
        ["第6章", "Googleの開発体制", 247, 266]]

book.map!{|ary| ary << ary[3] - ary[2] + 1}
pages = book.inject(0){|sum, ary| sum + ary[4]}
book.map!{|ary| ary << ary[4].to_f / pages*100}
book.each do |ary|
  printf "%s %-25s => %4.1f\%\n", ary[0], ary[1], ary[5]
end

こんなページ比率です。

mmasa@debian:~/work/ruby$ ruby -Ke google_book.rb
第1章 Googleの誕生 => 13.6%
第2章 Googleの大規模化 => 8.3%
第3章 Googleの分散ストレージ => 28.0%
第4章 Googleの分散データ処理 => 18.9%
第5章 Googleの運用コスト => 23.5%
第6章 Googleの開発体制 => 7.6%

いつも使っているGoogleで使われている技術について分かりやすく書かれていてとても楽しく読むことができました。
1番ページ比率が高い、第3章はちょっと難しいなと感じました。2番目にページ比率が高いのが第5章です。ここでは、主にコンピュータの消費電力について書かれています。普段、1台のPCしか使うことのない自分にとっては消費電力のことなど考えたこともなかったのですが、Google規模位になるとコンピュータの消費電力が大きな運用コストになるんですね。なかでも、

  • GoogleIntelDellに呼びかけてマザーボードへと供給する電圧は12Vに統一する方向で新しいPCの企画作りが始まったとのこと
  • Googleが発電についても積極的な取組を行っていること

など自分が今まで持っていたGoogleのイメージとは違う側面も垣間見えて勉強になりました。