Q45 — AWS SAA-C03 第12章

第 45/100 問 | ← 第12章

Q845. ある企業のアプリケーションは、複数のデータソースからデータを受信しています。データ量と1件あたりのサイズは変動し、今後さらに増加すると予想されています。現在の最大サイズは700 KBです。さらにデータソースが追加されるにつれて、データ量およびデータサイズは継続的に増加しています。この企業は、アプリケーションのプライマリデータベースとしてAmazon DynamoDBを採用することを決定しました。ソリューションアーキテクトは、大規模なデータサイズを処理できるソリューションを特定する必要があります。これらの要件を、最も運用効率の高い方法で満たすソリューションはどれですか?

正解: B. 大きなデータをAmazon S3バケット内のオブジェクトとして保存します。DynamoDBテーブル内では、S3内のデータのURLを指す属性を持つアイテムを作成します。

解説

複数のデータソースからデータを受信し、Amazon DynamoDBをプライマリデータベースとして使用するアプリケーションにおいて、大規模なデータサイズを効率的に扱うには、以下のソリューションが推奨されます: B. 大きなデータをAmazon S3バケット内のオブジェクトとして保存し、DynamoDBテーブル内のアイテムに、そのS3 URLを指す属性を設定する。 理由:このアプローチは、両サービスの強みを活かし、大規模データを運用効率よく処理できます。 Amazon S3は大規模オブジェクトの保存・取得に特化しており、DynamoDBのアイテムサイズ制限(400 KB)を超えるデータを扱うのに最適です。大きなデータをS3に格納し、DynamoDBにはそのS3 URLを参照するメタデータのみを保持することで、サイズ制限の懸念を回避しながら、高速なクエリと柔軟なデータ管理が可能になります。 一方、選択肢Aは、DynamoDBとDocumentDBの2つの異なるデータベースを運用・同期させる必要があり、運用負荷と複雑性が高まります。選択肢Cは、同一パーティションキーによる分割書き込みにより、ホットパーティションやクエリ・整合性の管理が困難になる可能性があります。選択肢Dのgzip圧縮はストレージ容量削減には有効ですが、DynamoDBのアイテムサイズ制限そのものは解消せず、追加の処理オーバーヘッドも発生します。 したがって、大規模データをAmazon S3に格納し、DynamoDBにはS3 URLを含むメタデータを保持するというアプローチが、各サービスの特性を最大限に活かした、最も運用効率の高いソリューションです。