DEAデータストアの管理
あるゲーム会社は、プレイヤーのゲーム状態・アイテム情報・リーダーボードスコアを Amazon DynamoDB に格納しています。
リリース後のピーク時にはプレイヤー数が急増し、DynamoDB の読み取りキャパシティを大幅に増加させてもレイテンシが数ミリ秒かかる状態が続き、リアルタイムのゲーム体験に影響が出ています。
以下の要件を満たすソリューションを選択してください。
・読み取りレイテンシをマイクロ秒単位に短縮する
・既存の DynamoDB API コードへの変更を最小限に抑える
・結果整合性(Eventual Consistency)の読み取りで対応可能
AAmazon DynamoDB Accelerator(DAX)クラスターを作成し、アプリケーションの接続先を DAX エンドポイントに切り替える
✓ 正解
DAXはDynamoDB専用のインメモリキャッシュサービスで、マイクロ秒レベルの読み取りレイテンシを実現します。DAX SDKはDynamoDB SDKと互換性があり、接続エンドポイントをDAXクラスターに変更するだけで既存コードをほぼそのまま利用でき、最小限の変更で導入できます。
BAmazon ElastiCache for Memcached を導入し、アプリケーションにキャッシュヒット・ミスのロジックを追加実装する
ElastiCache for Memcachedは汎用キャッシュとして有効ですが、アプリケーション側でキャッシュヒット・ミスのロジックやDynamoDBとの整合性管理を明示的に実装する必要があり、コード変更が大きくなります。
CDynamoDB の読み取りキャパシティモードをプロビジョンドからオンデマンドに切り替える
読み取りキャパシティモードをオンデマンドに切り替えてもスロットリングを防ぎ容量を自動調整するだけで、レイテンシ自体をマイクロ秒に短縮する効果はありません。
DDynamoDB グローバルセカンダリインデックス(GSI)を追加し、読み取りを複数のインデックスに分散させる
GSIを追加しても特定のアクセスパターンのクエリ効率を改善するにとどまり、キャッシュではないためレイテンシを大幅に短縮する手段にはなりません。
解説
選択肢AのDAXはDynamoDB専用のインメモリキャッシュサービスで、マイクロ秒レベルの読み取りレイテンシを実現します。DAX SDKはDynamoDB SDKと互換性があり、接続エンドポイントをDAXクラスターに変更するだけで既存コードをほぼそのまま利用でき、最小限の変更で導入できます。
選択肢BはElastiCache for Memcachedは汎用キャッシュとして有効ですが、アプリケーション側でキャッシュヒット・ミスのロジックやDynamoDBとの整合性管理を明示的に実装する必要があり、コード変更が大きくなります。
選択肢Cは読み取りキャパシティモードをオンデマンドに切り替えてもスロットリングを防ぎ容量を自動調整するだけで、レイテンシ自体をマイクロ秒に短縮する効果はありません。
選択肢DはGSIを追加しても特定のアクセスパターンのクエリ効率を改善するにとどまり、キャッシュではないためレイテンシを大幅に短縮する手段にはなりません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →