古い記事
ランダムジャンプ
新しい記事
献本頂きました。ありがとうございます。
そうでなくとも絶対買う本ですが。

西田圭介 / Googleを支える技術 - 巨大システムの内側の世界


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



結論から言いますと、
Google のバックエンドの技術について
興味のあるIT系エンジニアや学生で、
英語よりも日本語を読むほうがはやい人は必読です。

グーグルについての技術的なトピックが
日本語でさくっと読めます。
Google 社員による英語論文やドキュメントを情報源とし、
それらを咀嚼して平易に解説しています。

「情報系の大学3年生程度の予備知識」を前提に
書かれているとのことで、
情報系の基礎的な語彙が分かっていれば、
確かに難解な話はありません。
数式も出てこないです。

第一章は検索の話で、クロール、インデックス、
ランキング、と Google に限らず基礎的な解説になっています
IIR で言うと19〜21章の内容にあたります)。

第二章はシステムの大規模化の話。
クラスタ、データセンターなど。
インデックスの分割が重要ですねえ。

第三章はシステムをスケールさせるための核となる技術である
分散ファイルシステム Google File System や
分散ストレージ(データベース) Bigtable、
分散ロックサービス Chubby などの話。
検索タスク全体に特化した設計になっているのが面白。

第四章は分散データ処理の話。
処理フレームワークである MapReduce や専用言語 Sawzall など
(MapReduce は IIR の第四章にも出てきます)。

第五章は運用コストの話。
消費電力を抑えたり、適切に電力配分したりなど。
HDDの故障予測とか。
私にとって疎い分野の話だったので非常に興味深かったです。

第六章は開発体制、開発環境の話。
少人数チームとかコードレビューとか
TechTalk とか TGIF とか。おまけ的です。

とにかく、この本の構成、方針は良いですね。
英語圏以外でこういう路線の技術書が読めるのは
日本だけなんじゃないかなあ、よく知らないけど。
ともかく、「日本語で読める」ってのは日本人にとって
学習の高速道路」を最高速でとばしてるようなものですので、
英語苦手なIT技術者はぜひぜひ読みましょう!
(それと並行して英語の勉強も!<自戒を込めて)


以下、本書の元ネタとなっている Google 発の英語論文リストです:
- The Anatomy of Large-Scale Hypertextual Web Search Engine (1998)
- Web Search for a Planet : The Google Cluster Architecture(2003)
- The Google File System (2003)
- Bigtable : A Distributed Storage System for Structured Data (2006)
- The Chubby lock service for loosely-coupled distributed system (2006)
- Paxos Made Live - An Engineering Perspective (2007)
- MapReduce : Simplified Data Processing on Large Cluster (2004)
- Interpreting the Data : Parallel Analysis with Sawzall (2005)
- The Price of Performance : An Economic Case for Chip Multiprocessing (2005)
- Power Provisioning for Warehouse-sized Computer (2007)
- Failure Trends in a Large Disk Drive Population (2007)


関連書籍:

デビッド ヴァイス / Google誕生 - ガレージで生まれたサーチ・モンスター


ジョン・バッテル / ザ・サーチ グーグルが世界を変えた


ジェフ・ルート, 佐々木俊尚 / 検索エンジン戦争