高トラフィックの e コマースサイトで、フラッシュセール時に急激なアクセス増加があります。通常時は 100 RPS、フラッシュセール時は 10,000 RPS に達します。バックエンドデータベースを守りながらスケールするアーキテクチャとして最も適切なものはどれですか?
- A. 複数の Cloud SQL リードレプリカを配置してすべての読み取りをリードレプリカに振り向ける
- B. Cloud Spanner をプライマリデータベースとして採用し、ノード数を増やす
- C. Memorystore(Redis)をキャッシュとして活用し、Cloud SQL の読み取り負荷を低減する
- D. Cloud SQL の CPU とメモリを最大値にアップグレードして対処する
解答と解説を見る
正解: C
Memorystore(Redis)を商品情報・カート情報などの読み取りキャッシュとして活用することで、フラッシュセール時のデータベース読み取り負荷を大幅に削減できます。キャッシュヒット率が高ければ、DB へのアクセスは一部の書き込みと キャッシュミス分のみになります。Cloud SQL の垂直スケールアップは上限があり、100x のトラフィック増加を吸収するには限界があります。Cloud Spanner は高トラフィックに対応できますが、移行コストが高く、キャッシュと組み合わせた方がより効果的です。リードレプリカのみでは 100x のスケールに対応しきれない場合があり、レプリカ追加にも遅延が生じます。
📚 関連サービスの解説: Cloud SQL