Part 8
スケールの理論
- 置き場所 速さと一貫性
- アプリ 必要な処理
- 台数 容量を増やす
Part 7 は、1 台を使い切るための理論でした。 ここからは、置き方と増やし方の話です。
どこに置くか、どのツールに置くか、そして台数を増やすと何が起きるか。 どの手にも代償が付いていて、知らずに払うと戻り道が高くつきます。
この Part の所要時間は 3〜4 時間が目安です。 終えると、データ配置、データストア、スケールアウト、レプリケーションの選択肢を、その制約とともに比較できます。 新しい開発環境は必要ありません。
- データをどこに置くか プロセス内メモリ、共有キャッシュ、データベースという 3 つの置き場所を、速さ・一貫性・消え方で使い分けます。
- ツールはアクセスパターンで選ぶ 万能型の RDB を正としたうえで、キー引き・全文検索・類似検索といったアクセスパターンごとに特化したツールを検討します。
- 台数を増やすと何が起きるか リソースを増やしたときの効率を測り、単一マシンだから速い手法がスケールを塞ぐ仕組みを見ます。
- 増やすほど遅くなることがある リソースを増やしすぎると容量が落ちる現象を、競合と協調の 2 つの係数で表し、線形にスケールするとは何かに答えます。
- 書き込み分散は難しい レプリケーションで読みを増やし、シャーディングで書き込みを分ける仕組みと、その代償を CAP 定理まで含めて整理します。
- クラウドは代償をどう買い取るか Aurora、Spanner、Aurora DSQL を前章の言葉で解剖し、マネージドな分散データベースが何を肩代わりし、どんな費用が残るかを見ます。