『Web開発者のための大規模サービス技術入門』三日目
スケーリングの要所
・スケールアップ
高価で速いハードウェアを買って性能アップ
・スケールアウト
安価で普通の性能のハードウェアを並べてシステム全体の性能を稼ぐ
現在はスケールアウトが主流
・コストが安い
・システム構成が柔軟
CPU負荷(APサーバ)の場合はスケールアウトは簡単
・データを持っていないので横展開してアクセスを分散するだけでOK
I/O負荷(DBサーバ)の場合はスケールアウトは複雑
・データ書き込みは分散できない。データ同期ができない
大規模データを扱うための基礎知識
3つの勘所
1.いかにメモリで済ませる事が出来るかが重要
・1日目で説明したとおりディスクI/Oは遅いため
2.データ量の増加に強いアルゴリズムを使う
・線形検索をlogオーダアルゴリズムを適用するなど
3.テクニックを使う
・圧縮や検索技術など
基礎知識
1.OSのキャッシュ
2.分散を考慮してRDBMSを運用する
3.大規模な環境でアルゴリズムとデータ構造をを使っていく