紙の本
Google の周辺技術をかじりたいひとには適切な本
2009/09/21 17:11
2人中、2人の方がこのレビューが役に立ったと投票しています。
投稿者:Kana - この投稿者のレビュー一覧を見る
Google の研究者が書いた英語の論文を日本語でまとめている. 専門的な内容の論文をできるだけわかりやすく解説している. Google のしくみに興味はあるが原論文を読もうとはおもわないひとにはよい本である. ただし,Google は現在の検索アルゴリズムについてはあきらかにしていないので,どちらかといえば周縁的な内容だということができる. しかし,検索技術だけが Google のすごさでないことはもちろんであり,知るべきことがいろいろ書いてある.
投稿元:
レビューを見る
買ったときに斜め読みして以来、放っておいたのだが、近々真面目に Hadoop で遊んでみようと思って読み返した。RDBMS をはじめとする汎用のミドル・ウェアを使うのも便利だけど、やっぱり「用途を絞り込んで単純化する」のも大切だよなぁ。
電源管理のところで、最近知った「12v に統一」の話が詳細に書かれていて、ビックリした。あっれー、一回は読んでたはずなのになぁ...。
あと、Advanced Topics in Programming Languages の TechTalk ちゃんと見とく。
投稿元:
レビューを見る
初心者向きの書籍ではなかった。アカデミックな話題も多い分、現場にいる人でも参考に成ると思う。スケールアウト戦略がこの検索エンジンの速さを生んでいるカラクリや管理方法までを紹介していたりと何かと参考になる。読み応え十分。
投稿元:
レビューを見る
何であんなにGoogle先生はすばやく検索結果を表示してくれるのかを
不思議に思っている人は読むべき本。
SQLをはじめとしたデータベース、関数型プログラミング言語、若干のハードウェアの知識があるとより楽しい。
ページランクについてはほとんど語られない。
投稿元:
レビューを見る
Googleのシステムってどうなってんの?というのは素直な興味としてあるので、読んでみました。
私自信プログラマではないので、きちんと理解できないところはありましたが、全体としてなんとなく納得。消費電力の抑制が大きなテーマのひとつになるっなんていうのは非常によく分かります。CPUだけの話ではなく、大規模ネットワークの通信機器も同じように消費電力の問題に直面しつつありますし。
また、テスティングやドキュメンテーションを非常にしっかりやっているところなど、まったく当たり前のことなのですが、感心です。20%ルールなどが有名ですが、具体的な開発ルールがしっかりと整備されているところが強みなような気がしました。
投稿元:
レビューを見る
現在の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の強さだろう。
学びが多い。
投稿元:
レビューを見る
3月17日読了。世界中のあらゆるWebページを検索するモンスター企業/システムであるGoogleが、どのような哲学・技術で検索のランキング付け、分散ストレージやデータの処理や設置・電力コストの対応を行っているかについて。「ハードウェアは壊れるもの」という前提を置き、ソフトウェアレベルで分散/冗長化の処理を行う、GFSなるファイルシステムにより多次元かつアプリしだいでどんなデータも突っ込めるデータ構造を用いる、アプリ側の負荷を極力減らす思想のmap/reduceなどのデータアクセスの仕組みなど、確かにGoogleの開発者が「20%ルール」などの企業文化に基づいて作っちゃったこのシステムは、現在のコンピューターシステムの常に数歩先を行く、未来を実現している存在なのかもしれないなあ・・・などと思ったり。ただこのような大規模システムを実現するためにはラック設置のための広大な敷地や、莫大かつ安定した電力供給、信頼性の高い自前の光ファイバーネットワークが必要のようだ。数台のPCからスタートして「虚業」に等しいGoogleは、現実世界も変えてしまったということか。
投稿元:
レビューを見る
運用コスト、開発体制の章がおもしろかった。
PSUの効率が悪いので(何種類もの電圧を作り出している)独自開発をしている。団体も立ち上げている。
マシンが増えれば電力も平準化される。
HDD故障は最初のころは、やや壊れやすく、一通りのものが壊れれば、生き残ったものは利用頻度に関係なく動き続ける。
投稿元:
レビューを見る
スケールアウトを考慮すると
インフラだけでなくアプリでもかなり考慮が必要ですね
電気代については今まで考えたことなかったー
消費電力ベースのパフォーマンスは目鱗
投稿元:
レビューを見る
Googleが世界中に分散して持っている、数十万台のコンピューターがどのような仕組みで動いているかということをテーマに解説した本。といっても、その技術の本当のコアの部分は、やはり秘密のベールに隠されているので、Googleがカンファレンスなどで一般に公開しているドキュメントを元に、その情報をまとめた内容になっている。
著者自身がGoogleの開発者でも関係者でもないため、多くの内容は「〜だそうです」「〜とのことです」という、伝聞にもとづいた、あまり自信なさげな言い方で歯切れが悪く、その点が読んでいてフラストレーションになった。
後半は、コスト構造についての説明で、そこはやたらと細かく消費電力の計算などが説明されているのだけれど、Googleの技術とは直接関係ないことなので、こういうところだけ詳しく書かれても・・という感じで、あまり意味があると思えなかった。
しかし、前半部分の章で説明されている、検索エンジン用のインデックスデータの持ち方や、数千台規模のコンピュータによる分散処理の方法などは、かなり勉強になるところが多く、それだけでも読む価値はある。このGoogleの、システムのスケール拡大に対して極端に柔軟な設計は、本当に見事なものだと思う。
その多くは、Googleから公開されている情報なので、一般の人でも資料を探せばネット上で見つけることが出来る内容なのだけれども、それがわかりやすくまとめられている点で、とても役立つ本だった。
あるときは、Googleからの大量アクセスに気づいたWebサイトの管理者から「やあ。うちのサイトをよく見に来てくれてるね。気に入ってもらえたかな?」というメッセージが届いたり。(p.20)
一般的に、コンピュータシステムの性能を向上させるには二つの方法があります。一つはスケールアップで、より優れたハードウェアを導入するという方法です。もう一つはスケールアウトで、こちらはハードウェアの数を増やす方法です。(p.42)
GFS(Google File System)では、「ファイルは常にバックアップされた状態」にあります。バックアップという作業を特別に行わずとも、システムが常に複数のコピーを保持し続けます。(p.66)
明らかな傾向として、ディスクドライブの温度が低いほど故障率が高まるという驚くべき結果です。多くのドライブは25〜30度前後に保たれていたようですが、実は30〜40度あたりの高い温度のほうが故障しにくくなるようです。(p.229)
googleでは仕事は与えられるものではなく、自分で見つけ出すものであるようです。マネージャーによって一方的に仕事を割り振られるということは基本的になく、開発者は数あるプロジェクトの中から自分に合ったものを受け持つか、あるいは自分から新しいプロジェクトを提案することになります。誰も見向きもしないような魅力のないプロジェクトは忘れ去られてなくなります。こうして開発者自身によるプロジェクトの自然淘汰が行われ、それを生き残ったものだけがGoogleのサービスとして私たちの前に提供されることになります。(p.249)
投稿元:
レビューを見る
googleの検索レスポンスは恐ろしく速い。私は仕事柄、どんなソフトを見ても、なんとなくその構造を想像できるが、googleだけは全くわからない。なぜ、あれほど堅牢に、あれほど正確、あれほど速いのか?それに答えるのが本書である。 まず、最初に一般的な検索サイトの技術要件をて定義し、googleの検索システムの概要説明を行う。大枠のアーキテクチャがなんとなくわかったところで、システムの重要な概念、モジュールであるgfs、bigtabel、MapReduceなどの詳細を解説。ここでのキーワードは、「大容量」である。googleのシステムは、全世界からダウンロードしてきた大量データに特化したアーキテクチャになっている。もう一つのキーワードは、「安いPCを大量に使う」である。安い故に低パフォーマンスのPCを、ネットワークを使用した超並列的分散アーキテクチャでつなぎ合わせ恐ろしいほどのパフォーマンスを安価に実現する。恐るべきgoogleの技術力。 その後、本書では、googleのコストについての推測を試みる。あれだけのデータセンターを持ってしまうと電気代が年間100億円、PCが300億円と読む。結構な額だが、売り上げ規模から考えればゴミみたいなものだと思う。しかし、ここでもgoogle魂発揮で、いかに電気代を下げるかと技術的試みを死に物狂いでやっているらしい。恐るべきgoogleのカイゼン魂。 最後に、ソフト開発に代表されるgoogleのマネージメントに言及する。個人の自主性を重んじる、20%の時間は現在の仕事以外に使う、などの良くあるプラクティス(でも普通の会社は実行できていない)が掲げられている。 全体を通しての感想は、「さすがgoogle。ここまでやるか!」。一つ一つは大したことやっていないが、細かい工夫を山ほど行い最高の企業になっていると思う。
投稿元:
レビューを見る
本書では、そのGoogleのサービスが、どのように実現されているのかが示されています。
現在では「ググる」事はすでに生活に組み込まれていますが、
Googleの歴史や仕組みを理解することで、その思想に触れることができた気がします。
投稿元:
レビューを見る
3/31:サーバーの数やデータ量の数、データセンターの広さにただただ圧倒。工場や設備が要るHW関連は既製品で安く済ませ、本業のロジック部分はOS、ファイルシステム(これにはびっくり)、データベースまで自社開発とは考え方が合理的で素敵ですね。CPUの電力量といっても数十万台あつまれば年間数十億円の電気代になるのですね。ミクロからマクロへ...いろんな企業努力が垣間見えました。ここ十年くらいで猛烈に発展したGoogleは隆盛を極めた今から先の10年も発展することができるのだろうか。収益の基本はなんだろうか、広告?広告ってそんなに儲かるの?って思ったよ。ムムム。
-------------------------------
3/25:G氏の本棚にあり、気になったので借りてみた。
投稿元:
レビューを見る
Googleの検索システムと共に、巨大なストレージ空間の説明がされている。
検索も初期のものと、改善されたものの比較がされており、改善後は容易にスケールすることができているのが面白いと思った。
投稿元:
レビューを見る
Googleの技術について詳しく書かれていることが非常に興味深い。
でも、専門的過ぎてシステム屋以外の人が読むのはムリ。
システム屋の私もテクニカルな内容の部分はかなり読み飛ばしたぐらい。
システム屋以外の人は最後の方に載っている開発体制の部分だけ
立ち読みするのことをお勧め。
新しい組織のあり方として、刺激を受けるはず。
(借り物)