SAA高性能なアーキテクチャの設計

あるソーシャルメディアプラットフォームは Amazon DynamoDB テーブルにユーザー投稿を保存しています。テーブルには 10 億件のアイテムがあり、毎秒 100,000 回の読み取りリクエストが発生します。読み取りの 80% は人気インフルエンサーの最新投稿 1,000 件に集中しているホットパーティション状態です。DynamoDB のコストを削減しながら読み取りレイテンシーを最小化するソリューションとして最適なものはどれですか?

A
DynamoDB Accelerator(DAX)クラスターを有効にしてホットアイテムをインメモリキャッシュする
✓ 正解
DAX は DynamoDB 専用のインメモリキャッシュで、ホットアイテムに対してマイクロ秒のレイテンシーを提供します。既存の DynamoDB API と完全互換でありアプリケーション変更が最小限で済みます。80% のアクセスが上位 1,000 件に集中しているためキャッシュヒット率が極めて高く、DynamoDB へのリクエスト数とコストが大幅に削減されます。
B
Amazon ElastiCache for Redis をアプリケーション層の前段に配置し、キャッシュアサイドパターンを実装する
ElastiCacheも機能しますが、アプリケーションコードの大幅な変更が必要です。
C
投稿の作成日時に Global Secondary Index(GSI)を作成して最新投稿へのクエリを最適化する
Global Secondary Index(GSI)はクエリパターンの最適化には有効ですがホットパーティション問題は解決しません。
D
DynamoDB のプロビジョニング済み読み取りキャパシティユニット(RCU)をピーク負荷に合わせて大幅に増やす
RCU の増加はコスト増加のみでキャッシュほどのレイテンシー改善はありません。

解説

DAX は DynamoDB 専用のインメモリキャッシュで、ホットアイテムに対してマイクロ秒のレイテンシーを提供します。既存の DynamoDB API と完全互換でありアプリケーション変更が最小限で済みます。80% のアクセスが上位 1,000 件に集中しているためキャッシュヒット率が極めて高く、DynamoDB へのリクエスト数とコストが大幅に削減されます。 選択肢BのElastiCacheも機能しますが、アプリケーションコードの大幅な変更が必要です。 選択肢CのGlobal Secondary Index(GSI)はクエリパターンの最適化には有効ですがホットパーティション問題は解決しません。 選択肢DのRCU の増加はコスト増加のみでキャッシュほどのレイテンシー改善はありません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSAAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
SAA の問題一覧に戻る