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