田中慎司のレビュー一覧
-
Posted by ブクログ
実務的なコードとかは書かれていない。大規模なサービスを構築するときのノウハウについて書かれている。
実践に移すことはないが興味があったので。
1回 大規模Webサービスの開発オリエンテーション
どの程度が大規模Webサービスなのか、あと概要。
2回 大規模データ処理入門
はてなブックマークを例にしたデータ処理の入門
データをメモリに載せることができないので遅くなる。計測してボトムネックになっているところを探して対策する。
3回 OSのキャッシュと分散
OSのキャッシュ機構をつかう。サーバーを複数持って分散させる。
4回 DBのスケールアウト戦略
MySQLの分散ノウハウ
5回 大規模データ処理[実践]入門
省略
6回 [課題]圧縮プログラミング
省略
7回 アルゴリズムの実用化
アルゴリズムの選択は大事。例Suffyx Array(接尾辞書配列)Trie(トライ木)
8回 [課題]はてなキーワードリンクの実装
省略
9回 全文検索技術に挑戦
grep型、Suffix型、転置インデックス法
10回 [課題]全文検索エンジンの作成
省略
11回 大規模データ処理を支えるサーバ/インフラ入門
クラウド、自前どっち?
12回 スケーラビリティの確保に必要な考え方
まずは負荷を計測すること
13回 冗長性の確保、システムの安定性
基本サーバー台数を増やす。CPUの稼働率に余裕を持たせる。
14回 効率向上作戦
冗長性を高めると稼働率が落ちる。そこで仮想化技術を使う(VMware,Virtual PC,Parallels,Xen)
15回 Webサービスとネットワーク
ネットワークに階層構造を持たせる
特別編 今どきのWebサービス構築に求められる実践技術
省略
2010年ごろの本ですでにこれだけの対策が必要なんですね。今頃はどうやっているのでしょう? -
Posted by ブクログ
はてなのインターンシップでの教育、講義内容をベースに、大規模サービス技術の解説を行っている本。
大規模サービスというと海外が先行しているイメージですが、この本の内容も十分すごくて、大規模サービスを提供するシステムを構築する際の様々な工夫、ノウハウを知ることが出来ます。といいますか、ここまで情報をまとめて本として出せるのがすごいですね。
工夫点としては、メモリ、キャッシュの有効活用といった基礎的だけどよく効く内容から、MySQL のインデックスの効果、スケールアウト戦略、圧縮や計算量のオーダを落とす工夫など。著者たちが実際に大規模システムを構築、運用してきた経験、苦労から得られたノウハウなので、生々しいです。実際にこうやったらこうなった、だからこういう教訓が得られたという話題が多くて、試行錯誤の過程も見られるのが読んでいて楽しいですね。
また、アルゴリズムの知識や選択に関する話題も多めです。検索エンジンの実装についても載せられており、知見に富んだ内容となっています。実装の前の章で、転置インデックス、形態素解析、再現率と適合率といった解説から入るので、理解しやすかったです。
更に、終盤に運用面の情報として、スケーラビリティや可用性を高める工夫、稼動監視の効率化や安価で高速なハードの検討といったインフラ面の話題も載せられています。 -
Posted by ブクログ
WEBサービスの環境構築とか設定方法といったハウツー本ではない。
大量データ、大量アクセスを捌け、且つ柔軟に拡張可能なシステムを設計するのに必要な考え方、ノウハウが盛りだくさん。
↑のために情報系の大学でやるようなコンピュータの基本動作原理等も解説してくれている良書だと思う。
アプリケーション開発者向けに書かれている(はてなの新人研修講義が元ネタらしい)けどインフラエンジニアが読んでも非常に為になる。
コンピュータの基本動作原理については
小田圭二さんのこれ↓と一緒に読むと更に分かりやすいかも。
「絵で見てわかるOS/ストレージ/ネットワーク データベースはこう使っている」