あるフィンテック企業は、リアルタイム決済処理システムを AWS 上に構築しています。以下の要件があります。 ・決済セッションデータへのマイクロ秒オーダーの超低レイテンシアクセスが必要 ・データはキャッシュではなくプライマリデータストアとして扱い、永続化が必要 ・障害が発生してもコミット済みデータを失わない強い耐久性保証が必要 ・Redis の Sorted Set や Hash などのネイティブデータ構造を活用したい ・マルチ AZ 構成での高可用性が必要 これらすべての要件を最も満たす AWS サービスはどれですか?
Amazon MemoryDB for Redis はマルチ AZ トランザクションログによってすべての書き込みを永続化し、プライマリデータベースとしての強い耐久性を保証します。マイクロ秒レイテンシ、Redis ネイティブデータ構造(Sorted Set、Hash 等)、マルチ AZ 高可用性もすべて備えます。 選択肢Aの Amazon ElastiCache for Redis(クラスターモード無効)は揮発性キャッシュとして設計されており、ノード障害時にデータが失われる可能性があります。プライマリデータストアとしての耐久性保証がありません。 選択肢Bの Amazon ElastiCache for Redis(クラスターモード有効)もキャッシュ用途のサービスであり、バックアップは非同期のためコミット済みデータのロスリスクが残ります。MemoryDB のような強い永続性保証は提供されません。 選択肢Dの Amazon DynamoDB with DAX は DynamoDB のキャッシュレイヤーであり、Redis ネイティブのデータ構造は使用できません。また DAX はキャッシュであり、プライマリデータは DynamoDB に格納される別アーキテクチャです。