Googleを支える技術 ‾巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)

著者 :
  • 技術評論社
3.55
  • (48)
  • (114)
  • (173)
  • (12)
  • (3)
本棚登録 : 1363
感想 : 96
本ページはアフィリエイトプログラムによる収益を得ています
  • Amazon.co.jp ・本 (288ページ)
  • / ISBN・EAN: 9784774134321

作品紹介・あらすじ

Googleを支える基盤システムの数々について、論文やWebなどで公開されているパブリックな情報をもとに技術的な側面から解説を試みる。

感想・レビュー・書評

並び替え
表示形式
表示件数
絞り込み
  • 図書館で借りた。
    googleといっても、この本当時は「検索エンジンのgoogle」
    とは言え、どのようにシステムが拡大していったのか辿るのは面白い。

  • Googleの技術内容の概要がわかる

    ・検索エンジン
    ・クローリング
    ・分散ストレージ

  • 某バイナリアンはどんなところで仕事をするんじゃろ、という興味と、西田さんとお会いするので読んでおきたい! という2つの理由で読了。

    電力のところの考察が面白かった(一部、フェルミ推定に近い試算があって説得力を増していると思う)のと、最後の働き方の章はやはり興味深かった。

    あと、いろんな仕組みに対する名前付けがうまい会社だなーと思った。

  • Hadoopがバズりだした頃、、、だったかな。Hadoopの元はGoogleの研究論文だったりして、その論文などをベースに、Googleのとんでもねークラスタを解説した本。私自身はOracleのシングルノードでほげほげみたいな世界観で仕事してたので、すごい衝撃を受けた。

  • 購入:2008年4月8日 廃棄:2018年10月31日

  • googleの検索レスポンスは恐ろしく速い。私は仕事柄、どんなソフトを見ても、なんとなくその構造を想像できるが、googleだけは全くわからない。なぜ、あれほど堅牢に、あれほど正確、あれほど速いのか?それに答えるのが本書である。 まず、最初に一般的な検索サイトの技術要件をて定義し、googleの検索システムの概要説明を行う。大枠のアーキテクチャがなんとなくわかったところで、システムの重要な概念、モジュールであるgfs、bigtabel、MapReduceなどの詳細を解説。ここでのキーワードは、「大容量」である。googleのシステムは、全世界からダウンロードしてきた大量データに特化したアーキテクチャになっている。もう一つのキーワードは、「安いPCを大量に使う」である。安い故に低パフォーマンスのPCを、ネットワークを使用した超並列的分散アーキテクチャでつなぎ合わせ恐ろしいほどのパフォーマンスを安価に実現する。恐るべきgoogleの技術力。 その後、本書では、googleのコストについての推測を試みる。あれだけのデータセンターを持ってしまうと電気代が年間100億円、PCが300億円と読む。結構な額だが、売り上げ規模から考えればゴミみたいなものだと思う。しかし、ここでもgoogle魂発揮で、いかに電気代を下げるかと技術的試みを死に物狂いでやっているらしい。恐るべきgoogleのカイゼン魂。 最後に、ソフト開発に代表されるgoogleのマネージメントに言及する。個人の自主性を重んじる、20%の時間は現在の仕事以外に使う、などの良くあるプラクティス(でも普通の会社は実行できていない)が掲げられている。 全体を通しての感想は、「さすがgoogle。ここまでやるか!」。一つ一つは大したことやっていないが、細かい工夫を山ほど行い最高の企業になっていると思う。

  • Googleを支える技術の入り口を見せてくれる本。Googleでは細かい部分まで綿密に設計されていることがわかる。消費電力のくだりは新鮮であり勉強になった。

  • 「ハードディスクはいつ壊れるか」
    年間平均故障率(AFR)…いつどこで作られたかが重要
    利用頻度には相関がみられない
    温度は低い方が故障しやすい傾向(25℃以下)
    故障率に大きく影響するSMART値
    ①スキャンエラー、②リアロケーション数、③オフラインリアロケーション、④リアロケーション前のセクタ数(ProbationalCount)
    SMART値に関係なくいきなり壊れるものもある。
    すべてを予測するのは難しく、壊れる前提での設計が必要。

    「Googleのソフトウェア開発」
    小人数(2~6人)のプロジェクトチーム
    就業時間の20%を新しいことに費やす20%ルール
    コードレビューを通じてコーディングスタイルを統一
    1週間以上の作業を要することには設計ドキュメントを作成
    アイディアはDBに登録、オンライン投票で意見を認められると20%プロジェクトスタート
    基本設計文書
    ①背景・目的、②設計、③メンバー、④セキュリティ・プライバシーの考察等、⑤テスト・モニタプラン
    デモサイトで意見収集

    情報共有
    ①メーリングリスト・ブログ、②社内ポータル・Wiki・GoogleDocs

    プログラミング言語
    ①C++、②Java、③Python
    ちなみに2017/4は、
    ①C/C++、②Java/JavaScript、③Python、④Go、⑤TypeScript

    Googleのプロジェクト管理はWrikeを使用している

  • 前半はざっくりと検索システムの仕組みについて述べ、その後で Google でどのように実現しているかを解説。
    こういうシステム/アーキテクチャに興味がある人には、
    面白い本だと思います。

  • 技術の記述が深すぎて、結構難解。
    技術知識が読んでもさっぱり理解できないと思う。
    コアに理解している人は楽しいかも。

全96件中 1 - 10件を表示

著者プロフィール

西田 圭介 Keisuke Nishida
フリーランスのソフトウェアエンジニア。著書に『Googleを支える技術 巨大システムの内側の世界』(技術評論社、2008)、『ビッグデータを支える技術 刻々とデータが脈打つ自動化の世界』(技術評論社、2017)などがある。

「2022年 『ゲームから学ぶAI ——環境シミュレータ×深層強化学習で広がる世界』 で使われていた紹介文から引用しています。」

西田圭介の作品

  • 話題の本に出会えて、蔵書管理を手軽にできる!ブクログのアプリ AppStoreからダウンロード GooglePlayで手に入れよう
ツイートする
×