DEAデータストアの管理
あるオンラインゲーム会社がリアルタイムランキングシステムを構築しています。以下の要件があります。
・ミリ秒未満のレイテンシでのスコア読み取り・書き込み
・Redisのソート済みセット(Sorted Set)を使ったランキング管理
・ノード障害時のデータロスが許容されない(完全な耐久性が必要)
・キャッシュ層ではなくプライマリデータストアとして使用する
最適なAWSサービスはどれですか?
AAmazon ElastiCache for Memcached(マルチノードクラスター)
ElastiCache for MemcachedはSorted Setなどの複雑なデータ構造をサポートせず、永続化機能もないため要件を満たしません。
BAmazon ElastiCache for Redis(クラスターモード有効)
ElastiCache for Redisはクラスターモード有効でも、非同期レプリケーションのためフェイルオーバー時に一部データが失われる可能性があります。AOFを有効にしても「完全なデータロスゼロ」は保証されず、キャッシュ用途として設計されたサービスです。
CAmazon MemoryDB for Redis
✓ 正解
Amazon MemoryDBはプライマリデータベースとして設計されたサービスで、マルチAZトランザクションログへの書き込み完了後にクライアントへ応答することで完全な耐久性を保証します。Redisと完全互換のSorted Setをはじめとする全データ構造をサポートし、マイクロ秒単位の読み取りレイテンシを実現します。
DAmazon DynamoDB with Amazon DynamoDB Accelerator(DAX)
DynamoDB + DAXはDAXがキャッシュ層として機能するため、Sorted Setのようなデータ構造はネイティブにサポートされておらず、ランキングロジックをアプリケーション側で実装する必要があります。
解説
Amazon MemoryDBはプライマリデータベースとして設計されたサービスで、マルチAZトランザクションログへの書き込み完了後にクライアントへ応答することで完全な耐久性を保証します。Redisと完全互換のSorted Setをはじめとする全データ構造をサポートし、マイクロ秒単位の読み取りレイテンシを実現します。
選択肢BのElastiCache for Redisはクラスターモード有効でも、非同期レプリケーションのためフェイルオーバー時に一部データが失われる可能性があります。AOFを有効にしても「完全なデータロスゼロ」は保証されず、キャッシュ用途として設計されたサービスです。
選択肢AのElastiCache for MemcachedはSorted Setなどの複雑なデータ構造をサポートせず、永続化機能もないため要件を満たしません。
選択肢DのDynamoDB + DAXはDAXがキャッシュ層として機能するため、Sorted Setのようなデータ構造はネイティブにサポートされておらず、ランキングロジックをアプリケーション側で実装する必要があります。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDEAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →