LargeServiceTechnologyIntroBook
Web開発者のための大規模サービス技術入門 —データ構造、メモリ、OS、DB、サーバ/インフラ という本を献本頂きました。 技術評論社様 、 @naoya_ito さん、 @stanaka さん、ありがとうございます。
目次の詳細は 技術評論社様のサイト をご覧頂くとして、アウトラインは以下のようになっています。
-
第1回 大規模Webサービスの開発オリエンテーション―全体像を把握する
- Lesson 0 本書の源 ―本書で説明すること,しないこと
- Lesson 1 大規模なサービスと小規模なサービス
- Lesson 2 成長し続けるサービスと,大規模化の壁
- Lesson 3 サービス開発の現場
-
第2回 大規模データ処理入門 ―メモリとディスク,Webアプリケーションと負荷
- Lesson 4 はてなブックマークのデータ規模 ―データが大きいと処理に時間がかかる
- Lesson 5 大規模データ処理の難所 ―メモリとディスク
- Lesson 6 スケーリングの要所
- Lesson 7 大規模データを扱うための基礎知識
-
第3回 OSのキャッシュと分散 ―大きなデータを効率良く扱うしくみ
- Lesson 8 OSのキャッシュ機構
- Lesson 9 I/O負荷の軽減策
- Lesson 10 局所性を活かす分散
-
第4回 DBのスケールアウト戦略 ―分散を考慮したMySQLの運用
- Lesson 11 インデックスを正しく運用する ―分散を考慮したMySQL運用の大前提
- Lesson 12 MySQLの分散 ―スケーリング前提のシステム設計
- Lesson 13 MySQLのスケールアウトとパーティショニング
-
第5回 大規模データ処理[実践]入門 ―アプリケーション開発の勘所
- Lesson 14 用途特化型インデクシング ―大規模データを捌く
- Lesson 15 理論と実践の両側から取り組む
-
第6回 [課題]圧縮プログラミング ―データサイズ,I/O高速化との関係を意識する
- Lesson 16 [課題]整数データをコンパクトに持つ
- Lesson 17 VB Codeと速度感覚
- Lesson 18 課題の詳細と回答例
-
第7回 アルゴリズムの実用化 ―身近な例で見る理論・研究の実践投入
- Lesson 19 アルゴリズムと評価
- Lesson 20 はてなダイアリーのキーワードリンク
- Lesson 21 はてなブックマークの記事カテゴライズ
-
第8回 [課題]はてなキーワードリンクの実装 ―応用への道筋を知る
- Lesson 22 [課題]はてなキーワードリンクを作る
- Lesson 23 回答例と考え方
-
第9回 全文検索技術に挑戦 ―大規模データ処理のノウハウ満載
- Lesson 24 全文検索技術の応用範囲
- Lesson 25 検索システムのアーキテクチャ
- Lesson 26 検索エンジンの内部構造
-
第10回 [課題]全文検索エンジンの作成 ―基本部分,作り込み,速度と精度の追求
- Lesson 27 [課題]はてなブックマーク全文検索を作る
- Lesson 28 回答例と考え方
-
第11回 大規模データ処理を支えるサーバ/インフラ入門 ―Webサービスのバックエンド
- Lesson 29 エンタープライズ vs. Webサービス
- Lesson 30 クラウドvs.自前インフラ
-
第12回 スケーラビリティの確保に必要な考え方 ―規模の増大とシステムの拡張
- Lesson 31 レイヤとスケーラビリティ
- Lesson 32 負荷の把握,チューニング
-
第13回 冗長性の確保,システムの安定化 ―ほぼ100%の稼動率を実現するしくみ
- Lesson 33 冗長性の確保
- Lesson 34 システムの安定化
- Lesson 35 システムの安定化対策
-
第14回 効率向上作戦 ―ハードウェアのリソースの使用率を上げる
- Lesson 36 仮想化技術
- Lesson 37 ハードウェアと効率向上 ―低コストを実現する要素技術
-
第15回 Webサービスとネットワーク ―ネットワークで見えてくるサービスの成長
- Lesson 38 ネットワークの分岐点
- Lesson 39 さらなる上限へ
-
特別編 いまどきのWebサービス構築に求められる実践技術 ―大規模サービスに対応するために
- Special Lesson 1 ジョブキューシステム ―TheSchwartz、 Gearman
- Special Lesson 2 ストレージの選択 ―RDBMSかkey-valueストアか
- Special Lesson 3 キャッシュシステム ―Squid,Varnish
- Special Lesson 4 計算クラスタ ―Hadoop
ものすごいボリュームです。はてなさんで毎年行っているインターンシップのカリキュラムを書籍化したそうで、ペパボでは最近新卒採用を開始したんですが、これは新人教育用の教科書としても使えそうです。
特に、はてなさんで苦労した内容なんかもふんだんに盛り込まれており、理論だけに偏らず、具体的にどういったことで苦労して、それをどう克服しかた、という実践的な話はとても興味深く読ませて頂きました。こういう話ってなかなか書籍では出てこないんじゃないかと思います。
「24時間365日 サーバ/インフラを支える技術 — スケーラビリティ、ハイパフォーマンス、省力運用」 も、発売当時にペパボ内の技術者に、これは読んでおけと勧めたのですが、本書もやはり読むように勧めたいと思います。
併せて読みたい