【感想・ネタバレ】Googleを支える技術 ……巨大システムの内側の世界のレビュー

あらすじ

たとえば,ふだんなにげなく行っているWeb検索。背後には,想像以上に膨大な計算,多数のコンピュータの働きがあります。
本書では,論文やWebなどで公開されているパブリックな情報をもとに,Googleの基盤システムについて技術的な側面から解説を試みています。世界規模のシステムにおける『分散ストレージ』『大規模データ処理』『運用コスト』など注目の話題を盛り込み,学部生をはじめ初学者の方々にもお読みいただけるように基礎知識から平易に説明します。

...続きを読む
\ レビュー投稿でポイントプレゼント / ※購入済みの作品が対象となります
レビューを書く

感情タグBEST3

Posted by ブクログ

最近(というほど最近でもないかもしれないけど)、BigDataなるキーワードが脚光を浴びているので、事前知識を得るために読んでみました。

ざっくりと概念的に、Google検索がどういうことをやっているのかということがわかるとともに、GFS、MapReduceという大規模分散データ処理を扱う仕組みがわかりました。
また、本書では基本的にざっくりとした構造・仕組みの説明をしているのですが、随所に原典論文URLが書かれていて、詳しく調べるのにも便利だと思います。(自分は、たぶんそこまで読み込まないけどw)

わかりやすく、内容も適度な詳細さですので、私はかなりの良書だと思います。

0
2012年03月04日

Posted by ブクログ

Googleの基本技術GFS、BigTable、Chubby、MapReduceなどに関する概要解説本。名前だけは聞いたことあったけど、詳しい内容については知らなかったので大変参考になった。最近Hadoopなどがはやってきているので、一見の価値あり。

0
2011年07月10日

Posted by ブクログ

最初に本書の内容はほぼ全てgoogleの発表した論文にあり、英語が読めない人にとってはいい本。
googceのシステムがどのようにして、分散化システムを構築し、そのハードウエアの持てるパワーをいかにひきだしているかがわかる。Googleの検索能力の早さは使用している人ならわかるが、それを支える技術力というのは想像を絶する。
中でも興味深いのは、Googleは
一度検索するとコーヒー2杯分のお湯が沸くといわれるほど電力消費が激しいと言われているが、そのサーバの電力は緻密に計算された上での、最低限の電力消費であり、最高に高いの電力効率で運営されている事がわかる。

0
2011年07月08日

Posted by ブクログ

スケールアウトを考慮すると
インフラだけでなくアプリでもかなり考慮が必要ですね

電気代については今まで考えたことなかったー
消費電力ベースのパフォーマンスは目鱗

0
2010年01月20日

Posted by ブクログ

現在のIT業界を牽引するとも言える企業のGoogle。
そのGoogleのビジネスの根底にあるものは当然ITとしての基盤と技術。
それを公開されている確かなる情報を基に、
丁寧にわかりやすく解説、まとめてくれている。
クラウドコンピュータから、CPUの電源効率まで、一挙大公開。

元々がまとまっているから、要約しにくい・・・。
以下ほぼ単語抜粋。

○Google的意味のあるページの評価基準(今は昔)
 −PageRank:ページリンクを得点する
 −アンカーテキスト:アンカーされていたら得点する

○インデックス構造:文字を数値にすることで二つのメリット
 −コンパクトになり、ディスクのシーケンス時間が短くなる
 −階層化させて、キーに結びつく値を意味を持たせられる

○インデックス生成
 −docID:WEBページ固有の番号
 −wordID:WEBページ内に存在する単語
 −wordIDをdocIDと紐付けする。
  その要素は「位置」、「大きさ」、「その他」の3要素。

○GFS:GoolgeFileSystem
 −clientはMasterと通信して読み書きを行う
 −Masterの下のチャンクはクラスタリング(レプリケート)されて、
  耐障害性を高めている。
 −チャンクの生死はMasterが管理
 −チャンクとMasterを足せば、論理的に容量は無限大
 −チャンクの書き込みミスは、パリティを入れて読み込み時に確認
 −たまたま再起動していたり、データの古いチャンクは、
  データの更新用シリアルナンバーでMasterから切り離される
 −Masterの障害はOperationLogをMaster同士がコピーして補完

○BigTable
 −Googleのインデックスに特化した、
  非常に簡易なディスクをまたがる巨大なテーブル。
 −ただし中身は複雑で多次元構造となっている。

総じて、Googleの検索という技術は、
ITという技術にうまくモデリングできているところに妙があると思う。
同じように現実世界の内容をITにうまくモデリングできれば、
同じように稼ぐことができるのかもしれない。

またモデリングのうまさだけでなく、
この技術を他の分野でも使用できるようにしているところが、
またGoogleの強さだろう。
学びが多い。

0
2009年10月07日

Posted by ブクログ

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

0
2018年10月23日

Posted by ブクログ

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

0
2018年10月07日

Posted by ブクログ

ネタバレ

「ハードディスクはいつ壊れるか」
年間平均故障率(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を使用している

0
2018年05月19日

Posted by ブクログ

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

0
2015年07月19日

Posted by ブクログ

技術者にとって興味深い内容がたくさん書いてある。
ただ、実際にそこで開発に携わらない限り必要なさそうな
詳細な記述まであって、ところどころ難解な箇所がある。

0
2013年08月07日

Posted by ブクログ

ネタバレ

フォトリーディングNo.53

目的:Google技術をおさらい

トリガーワード:Web検索エンジン、インデックス、クローラ、ランキング、データセンター、クラスタ、分散、GFS、マスタ、チャンクサーバ、クライアント、レコード、スナップショット、障害対策、ビッグテーブル、タブレットサーバ、キャッシュ、コミットログChubby、バックアップ、ロック、イベント、MapReduce、キー、値、シャッフル、分散、grep、分散ソート、アグリゲータ、電力、クロック周波数、SMART値、開発、コードレビュー

質問:①インデックスをどのようにつくって使うのか?
②Googleの初見重要そうな技術は?

~20120616ポストレビューここまで~
~20120619アクティベーションここから~

質問に対するまとめ:
①クローラが収集してリポジトリに格納したWebページを取り出し、インデックスを生成する。
A:構造解析(URIとWeb情報)→B:単語処理(ページ内の単語の位置、装飾)→C(リンク情報(アンカーテキスト)→Dランキング情報(ページランク、アンカーテキスト、単語の位置大きさ)の4つのインデックスを順に追って生成し、検索サーバから利用者へ渡す。
②GFS:Google File System:分散ファイルシステム。多数のマシンで巨大ストレージ。インデックスの更新、参照などに。
ビッグテーブル:GFSより小さなデータを読み書き。DBと多次元マップを合わせたようなデータモデル。クローラの集めたページの格納などに。Google AnalyticsやGoogle Earthにも。
MapReduce:分散処理の基礎技術。インデックス生成過程や分散grep、分散ソートに。Mapでデータから新データを生成し、Reduceでまとめあげる。Key&Vallue。

雑感:知らない用語、内容多数。サービスだけでなく、裏の技術も意識する必要あり。Google云々以前の前提知識が不足しているので、分散処理などは理解しておく。

0
2013年01月01日

Posted by ブクログ

ネタバレ

Googleを支える仕組みを、ソフト、ハードだけでなく、組織の仕組みまで含めて解説。
ためになる内容が多いんだけど、特に序盤から中盤は教科書っぽくて読みづらい。もっと興味の強くなった時にまた読みたいかも。

0
2012年11月13日

Posted by ブクログ

世界的に使われているGoogleのシステムアーキテクチャ概要を解説した本である。細かな話が出てくるため、非常に読みにくく理解しにくいが、大まかに言うと、安価なPCレベルの機器を大量に利用することでスケールアウトしている点、GFSという分散ファイルシステムを利用している点、MapReduceによる分散データ処理、障害が起こることを前提とした運用設計などが特徴としてあげられる。

0
2012年06月14日

Posted by ブクログ

MapReduceの仕組みや検索エンジンの仕組みが書かれた良書。
執筆時点でここまで書けるのはすごい。著者を尊敬する。

0
2012年05月31日

Posted by ブクログ

ネタバレ

〇感想
 ・良かったところ:
   ・世界中のウェブから高速でデータを検索する
    Googleの技術を知ることができた。

    Googleはウェブから事前にページを探し、
    検索に適する形式で内部データベースに保存しておく。
    それをベースにユーザーのキーワードで検索する。
  
    それを支えるのが、インデックスや分散コンピューティング。
    Google=検索エンジンとしか考えず、
    中身については知らなかったが、理解が深まった。   

 ・悪いところ
  ・プログラミングを記載して多くのページを割いているが、
   クローラなど重要なことを詳しく書くべき。
   プログラミングを書く本ではない。

〇本の内容
 ・クローラ
 ・インデックス
 ・MapReduce
 ・Googleのデータセンターの構成

0
2012年03月12日

Posted by ブクログ

分散技術のあたりは専門的な内容となっていて結構頭を使った.技術的に理解はできても絶対自分じゃ実装できないだろうなーって思いながら読んでいた.最後の章のGoogleの開発体制とか面白かった.運営って難しいのね.

0
2011年10月05日

Posted by ブクログ

Googleのサービスを作る上での技術が記載された本。

理解はある程度できるが個人レベルでは、ハードウェアの費用面で実際にその凄さを試すことが難しい。

とはいえ、そのさわりだけでも理解することで自分のスキルアップになるだろう。

無料のVirtualBox、VMWare環境と、LinuxOSで試すことができました。

0
2011年09月20日

Posted by ブクログ

グーグル。この巨大な検索エンジンを支えているシステムを解説したのが本書です。正直、僕はこの本の3割程度しか分かりませんでしたがそれでも最新のテクノロジーを組み合わせているということはよく分かりました。

僕はもともと情報系の大学、もしくは専門学校を卒業していないので、ここに書かれていることは正直、専門外の門外漢に過ぎませんが、現在、自分がやっている商売に少しでも役立てることができるならと、そして、日ごろ自分が何気なく使っている検索エンジンのグーグルがどういったシステムで運用されているのだろうという興味からこの本を手にとって読んでいました。

内容はというと、いやはや、やっぱり難しい。ここにこうして感想なんぞをアップしてはおりますけれども、この段階でこの本に書かれていることの3割が分かったかどうかは自分でも非常に疑わしいものです。しかし、さすがIT業界のトップエリートをひた走る会社なだけのことはあるということだけはよく分かりました。このシステムを自宅のガレージで考案した、ラリー・ペイジとサーゲイ・ブリンの二人には本当に頭が下がります。

それでも、僕が唯一この本の中で分かったことはこのシステムを24時間365日休みなく運営するにはとてつもない電気代がかかるということだけでした。それと社員全体の人件費をほぼ広告収益で稼ぎ出すというのは、その裏でグーグルの社員の一人一人がどれだけ日ごろがんばっているのかを、僕に教えてくれるものでございました。

0
2011年09月19日

Posted by ブクログ

ネタバレ

インデックスの話などは押さえておきたい。(転置インデックスなど)
・当然だが、大規模化したシステムとそうで無いシステムは大きく違う。その典型が、GFSとwork queue
cpuバウンドな処理はwork queue 、ioバウンドな処理はGFSというように、スケールアップなシステムを作る。
・Googleなど大規模システムでは、①ソフトウェアでの信頼向上②大量なハードウェアでの負荷分散③コストパフォーマンスの高い安価なハードウェアという観点で大規模システムを作っている。
やはり、ソフトウェアのスキルが重要。
・gfsの概要が理解できた。大規模システムにはなくてはならない、ネットワークファイルシステムだと感じた。冗長性や、スケーラビリティ技術が興味深い。チャンク単位での取り扱いや、マスターの動きなど興味深い。そういったシステムに自分も触れてみたい。
・大規模システムでは、レガシーなスキル、知識も大事だが、大規模を想定した自動運用などの工夫がかなり重要になってくる。そう考えると、今までの手法は通用しないことがよくありそうだ。
・分散dbのbigtableは興味深い。
クライアントはライブラリ経由でのアクセスで、抽象化されたアクセスを行う。唯一のロックが行ロックのようなことらしい。blob型のようなことらしい。xmlデータベースともちかいのかなぁ?
・bigtableのアルゴリズムが難しい。一度で理解できない。最大容量は2EBらしい。
・chubbyという分散ロックサービスがあるらしい。gfsやbigtableの機能を支える基盤技術のようで、排他制御を実現するみたい。また、分散ファイルシステムであり、変更がすぐに反映されるため、dnsサービスとしてもしようしているみたい。
・hadoopのところは興味深い。map とreduceの概要があり、これからどんどん勉強していきたい。
sawzallという分散処理で使われる言語があり、共通化が行われている。rdbmsのsqlみたいなもの。
・プロトコルバッファという、共通のプロセス間通信の仕組みがあるらしい。
・大規模分散システムはとても興味深い。hadoopとか、本当に勉強していきたい。hdfsやpigなどは、googleの分散処理システムのオープンソースプロジェクト。
・電力消費の説明は説得力がある。cpuは最大の消費で大体半分前後を占めているみたい。以前の自分で測定した時のものをみて納得。
『パソコン起動時稼働時80〜100W程度 アイドル時60W前後 電源オフ 5w
パソコンプライムPC
電源オフ 0w フル稼働 89w』
・動作クロックを上げるのは消費電力に大きな影響を与えるらしい。パフォーマンスを20%上げるには1.2*3乗で1.78倍の電力消費になるという話。故に、クロック周波数を上げるのは限度があり、マルチコアCPUの流れにいっている。
・電力消費のところはとても詳しく、かつ、計測データを用いた説得力あるせつめいだとおもった。また、実際の機器のデータシートを元にした電力見積もりと、最適化した電力設備設計ではコストが二倍ほど違うというのも、感心した。
・節電対策としてのクロック周波数のコントロールは確かに有効みたい。実際の変化を計測してみたいものだ。
・hddの故障頻度は温度や読み書き頻度に影響のあるという通説は、疑って見る必要があるらしい。また、smartで障害の予兆は多少分かるみたいだが、それでも64%程度で、残り36%はなかなか予兆がないみたい。なので、壊れても大丈夫なようにシステムを組んでおくことが大事

・全米のデータセンターのスケールにはテンションがあがる。ひとつのさいとあたりに、何十万台という規模のよう。

0
2011年07月07日

Posted by ブクログ

何かの役に立つかというとそうでもない、基本は「へー」と感心しっぱなしの内容。普段の開発と根本的に違うなーとか思いながら読みました。
話のネタにはなるかなーと言う感じです。正直、詳細は理解が及んでません。

0
2011年04月05日

Posted by ブクログ

世界最大規模のWeb企業であるGoogleともなると、その規模の大きさから様々な面で特別な配慮をしなければならなくなる。数十万台にもなるサーバの性能を引き出し、また冗長性を保つためのGFS,Bigtable,Chubby,MapReduceなどの分散処理ソフトウェアの解説や、それらサーバの電力消費量を下げるための工夫など、タイトルの通りGoogleを支える技術が上手くまとまっている。
読み物としても十分おもしろい。

0
2011年03月30日

Posted by ブクログ

Googleほどの存在が使う技術というのは、本当に自分が想像もつかないような技術をもっていて、とてもとても理解しがたいところなのかと思っていました。しかし、これを読んでみると、少なくとも「想像はつく」レベルなんだと感じました。自分の立ってる地面の先には、どんなに遠くても同じ地面に Googleはいるのだと。

かといってGoogleたいしたことない、と言ってるわけではありません。
われわれには想像することしかできないことを、Googleはとてつもない規模・精度・技術で、愚直に実行しているのです。
やはり、Google。

0
2010年04月05日

Posted by ブクログ

Googleで使われている技術を公開されている論文を元に詳細に解説した本。高度な内容をわかりやすく伝えていて読みやすい。クラウドのプラットフォームとしても使われ始めたGoogleの基礎を学べる本として価値は高いと思う。

0
2010年01月10日

Posted by ブクログ

Googleのシステムってどうなってんの?というのは素直な興味としてあるので、読んでみました。

私自信プログラマではないので、きちんと理解できないところはありましたが、全体としてなんとなく納得。消費電力の抑制が大きなテーマのひとつになるっなんていうのは非常によく分かります。CPUだけの話ではなく、大規模ネットワークの通信機器も同じように消費電力の問題に直面しつつありますし。

また、テスティングやドキュメンテーションを非常にしっかりやっているところなど、まったく当たり前のことなのですが、感心です。20%ルールなどが有名ですが、具体的な開発ルールがしっかりと整備されているところが強みなような気がしました。

0
2009年12月26日

Posted by ブクログ

平易な表現でGoogleの基盤技術について述べられていて、おおまかにでもGoogleの全容の一端を垣間みれた気がする。イノベーティブな感覚が醸成される一冊。

0
2014年01月15日

Posted by ブクログ

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

0
2014年05月08日

Posted by ブクログ

「ググる。。。」今や当たり前の言葉となってるけど、、、
ググるを実現する為に綿密に設計された技術が背景にあることを学びました。

あらゆる技術がよぅ考えられてるが、GoogleのGoogleによるGoogleのための技術やろなぁと思いました。。。(´A`)

収穫としては☆☆☆

0
2012年02月25日

Posted by ブクログ

Facebookは映画ソーシャルネットワークを見て、その生い立ちを理解したが、Googleについてはほぼ毎日使っている割には、その仕組みを知らなかったので読んでみた。先日、欧州出張の際、ネット接続条件が悪い中Googleだけはそこそこ動いた記憶があったが、Googleシステムの強さの舞台裏の一部を本書で知ることができた。
また、後半、消費電力の話が出てきたのは、今後のITインフラの課題の一つを垣間見ることができ、印象に残った。

0
2011年05月06日

Posted by ブクログ

参考にはなる本ですね。詳細な技術説明がほとんどなので、正直半分程度しか理解できませんでしたが…ただ、概念というか大まかな思想と構成はよくわかりました。こういう観点で書かれている本って少ないので、希少な情報ではありますね。Webの中の人はたしなんでおくべきかと。SEOなんかのヒントになることもありそうな。

0
2011年03月30日

Posted by ブクログ

googleのしくみ本。概説よりも詳しいが、詳解というほど詳しくない微妙な位置づけ。前半はHadoop始める時に役立つかも。後半のハードの話は直近で使えそうなネタがいくつか。ただし実践データだけど科学的な論理付けは記してないという。うーむ。もう一押しあれば良書。

0
2018年10月20日

「IT・コンピュータ」ランキング