Googleを支える技術 ‾巨大システムの内側の世界 (WEB+DB PRESSプラスシリーズ)
- 技術評論社 (2008年3月28日発売)
- Amazon.co.jp ・本 (288ページ)
- / ISBN・EAN: 9784774134321
感想・レビュー・書評
-
Google内部の技術を公開されている範囲について簡単に解説されています。
わかり易いのですが逆に関連が良くわからなくなってしまった部分もあり。
この本が出てから約1年、執筆中から考えると1年半、参考資料が2007年以前のものだと考えると今は更に進化していそうです。
すごい・・・詳細をみるコメント0件をすべて表示 -
技術中心
-
Googleのシステムの技術的側面を解説している本。
-
現在のIT業界を牽引するとも言える企業のGoogle。<br>
そのGoogleのビジネスの根底にあるものは当然ITとしての基盤と技術。<br>
それを公開されている確かなる情報を基に、<br>
丁寧にわかりやすく解説、まとめてくれている。<br>
クラウドコンピュータから、CPUの電源効率まで、一挙大公開。<br>
<br>
元々がまとまっているから、要約しにくい・・・。<br>
以下ほぼ単語抜粋。<br>
<br>
○Google的意味のあるページの評価基準(今は昔)<br>
−PageRank:ページリンクを得点する<br>
−アンカーテキスト:アンカーされていたら得点する<br>
<br>
○インデックス構造:文字を数値にすることで二つのメリット<br>
−コンパクトになり、ディスクのシーケンス時間が短くなる<br>
−階層化させて、キーに結びつく値を意味を持たせられる<br>
<br>
○インデックス生成<br>
−docID:WEBページ固有の番号<br>
−wordID:WEBページ内に存在する単語<br>
−wordIDをdocIDと紐付けする。<br>
その要素は「位置」、「大きさ」、「その他」の3要素。<br>
<br>
○GFS:Goolge<br>File<br>System<br>
−clientはMasterと通信して読み書きを行う<br>
−Masterの下のチャンクはクラスタリング(レプリケート)されて、<br>
耐障害性を高めている。<br>
−チャンクの生死はMasterが管理<br>
−チャンクとMasterを足せば、論理的に容量は無限大<br>
−チャンクの書き込みミスは、パリティを入れて読み込み時に確認<br>
−たまたま再起動していたり、データの古いチャンクは、<br>
データの更新用シリアルナンバーでMasterから切り離される<br>
−Masterの障害はOperationLogをMaster同士がコピーして補完<br>
<br>
○BigTable<br>
−Googleのインデックスに特化した、<br>
非常に簡易なディスクをまたがる巨大なテーブル。<br>
−ただし中身は複雑で多次元構造となっている。<br>
<br>
総じて、Googleの検索という技術は、<br>
ITという技術にうまくモデリングできているところに妙があると思う。<br>
同じように現実世界の内容をITにうまくモデリングできれば、<br>
同じように稼ぐことができるのかもしれない。<br>
<br>
またモデリングのうまさだけでなく、<br>
この技術を他の分野でも使用できるようにしているところが、<br>
またGoogleの強さだろう。<br>
学びが多い。 -
本書では、そのGoogleのサービスが、どのように実現されているのかが示されています。
現在では「ググる」事はすでに生活に組み込まれていますが、
Googleの歴史や仕組みを理解することで、その思想に触れることができた気がします。 -
初心者向きの書籍ではなかった。アカデミックな話題も多い分、現場にいる人でも参考に成ると思う。スケールアウト戦略がこの検索エンジンの速さを生んでいるカラクリや管理方法までを紹介していたりと何かと参考になる。読み応え十分。
-
読み物としては面白いが、何か活用できるか、というと難しい・・・。
・GFS:分散型ファイルシステム。
利用側アプリに制約をかけて、条件を満たせば性能が出るようになっている。
・大きいファイルサイズが前提。
・ロックしないで済むように、主に「追記」の処理をする。
・書き込みより、読込の方が頻繁におきる。
・Bigtable: データベースシステム
・Chubby:分散ロック管理サービス
排他制御をするための所謂ロック変数を提供するサーバ。
数KB程度のデータを対象。
・MapReduce:データ編集を分散環境で行う為のアルゴリズム
Map: 入力データを分割
Reduce: 分割したデータを統合
の2つのフェーズを経由する。
・Sawzall: 分散環境を制御するためのGoogle独自のスクリプト言語
Hadoop: オープンソースで上記を再現するプロジェクト
・GFS ⇒ HDFS
・Bigtable ⇒ HBase
・Sawzall ⇒ Pig
[参考] 解説記事
http://codezine.jp/article/detail/2448
[参考] Google Code University
http://code.google.com/edu/
-
実用としては、参考にならないかもしれないけれど
こんな世界があるのだ、という感じ。 -
Googleの技術について詳しく書かれていることが非常に興味深い。
でも、専門的過ぎてシステム屋以外の人が読むのはムリ。
システム屋の私もテクニカルな内容の部分はかなり読み飛ばしたぐらい。
システム屋以外の人は最後の方に載っている開発体制の部分だけ
立ち読みするのことをお勧め。
新しい組織のあり方として、刺激を受けるはず。
(借り物) -
Googleのシステムについて知りたいので読みました。
勉強になりました。