*概要 [#s6fbeaa2] -ちゃんと大規模システム設計できるようにね *リンク [#y95a0ac5] -ハーバードのスケーラビリティの授業 https://www.youtube.com/watch?v=-W9F__D3oY4 -https://www.interviewbit.com/courses/system-design/ *キャッシュ [#ja285508] -App-Cache-DBのつながりの時、AppがDBに直接読み書きするのではなく、Cacheを用意することによって定数倍高速化するテク --Cacheはメモリ、DBはディスクなので速度が1000倍くらい違うことが重要 -方式 |名前|やること|メリット|デメリット|h |ライトスルー|毎書き込み時、同期的にCache, DBに書き込み|同じデータの読み書きが高速に行われる場合良い。実装楽。|毎書き込みのレイテンシ遅い| |ライトアラウンド|毎書き込み時、同期的にDBに書き込み。読込で失敗したらDBからキャッシュにのせる|ライトスルーよりはレイテンシ少ない。|レイテンシ遅い。同じデータの読み書きが高速に行われる場合は悪い。| |ライトバック|毎書き込み時、同期的にCacheに書き込む。暇を見つけて非同期的にDBに書き込む|毎書き込みのレイテンシ早い。正常系のパフォ最強|Cacheが落ちるとデータがロスるのでレプリカ作っておいて多重化しないといけない。実装大変| |