Q68 — AWS SAA-C03 第13章
第 68/100 問 | ← 第13章
Q968. ソーシャルメディア企業が、ユーザー活動の増加に対応するため、Amazon DynamoDB を基盤とするインフラストラクチャを拡張しようとしています。同社は、ユーザープロフィール、投稿、コメントという3種類のデータを管理しています。また、書き込み負荷の高いクエリに対して高いパフォーマンスを確保したいと考えています。新しいソリューションは、高い可用性を保証する必要があります。さらに、データベース層とアプリケーション層間のレイテンシを低く抑える必要があります。また、グローバルなユーザー向けに動的なトラフィックパターンにも対応できる必要があります。加えて、DynamoDB テーブル内のアイテムの変更履歴を追跡する必要があります。これらの要件を満たすソリューションのうち、運用上のオーバーヘッドが最も少ないものはどれですか?
- A. すべてのデータ型を格納する単一の DynamoDB テーブルを作成します。クエリにはグローバルセカンダリインデックス(GSI)を使用します。DynamoDB Auto Scaling を使用して、適応的なキャパシティを確保します。低レイテンシの実現および変更の追跡には Amazon Kinesis Data Streams を使用します。
- B. 各データ型ごとに個別の DynamoDB テーブルを使用します。すべてのテーブルでオンデマンドキャパシティモードを使用します。低レイテンシの実現には DynamoDB Accelerator(DAX)を使用します。変更の追跡には Amazon Kinesis Data Streams を使用します。
- C. DynamoDB グローバルテーブルを使用してデータを複数の AWS リージョンに分散し、低レイテンシを実現します。各データ型ごとに個別の DynamoDB テーブルを使用します。変更の追跡には Amazon DynamoDB Streams を使用します。 ✓
- D. すべてのデータ型を格納する単一の DynamoDB テーブルを作成します。低レイテンシの実現にはプロビジョニング済みキャパシティモードを使用します。クエリにはコンポジットソートキーを使用します。変更の追跡には Amazon Kinesis Data Firehose を使用します。
正解: C. DynamoDB グローバルテーブルを使用してデータを複数の AWS リージョンに分散し、低レイテンシを実現します。各データ型ごとに個別の DynamoDB テーブルを使用します。変更の追跡には Amazon DynamoDB Streams を使用します。
解説
正解は C です。「DynamoDB グローバルテーブルを使用してデータを複数の AWS リージョンに分散し、低レイテンシを実現します。各データ型ごとに個別の DynamoDB テーブルを使用します。変更の追跡には Amazon DynamoDB Streams を使用します。」理由は以下の通りです。 A:単一テーブル+GSI の設計では、書き込み負荷の高いワークロードにおいて最適なパフォーマンスが得られない可能性があります。GSI は書き込み時に追加のオーバーヘッドを発生させます。また、低レイテンシの実現には Kinesis Data Streams は不要であり、DAX や DynamoDB グローバルテーブルがより適した選択肢です。 B:オンデマンドキャパシティモードは、書き込み負荷の高いワークロードではコスト効率が必ずしも良くありません。また、変更の追跡には Kinesis Data Streams を使う必要はなく、DynamoDB Streams がこの用途に最適化されたネイティブサービスです。 C:DynamoDB グローバルテーブルは、グローバルに展開されたアプリケーション向けに高い可用性と低レイテンシを提供するように設計されています。各データ型ごとに個別のテーブルを使用することは、書き込み負荷の高いクエリに対するパフォーマンス向上に寄与します。また、DynamoDB Streams は、DynamoDB テーブル内のアイテム変更を追跡するための推奨される公式サービスです。 D:単一テーブル設計は、書き込み負荷の高いワークロードにおいてパフォーマンス面で課題を抱える可能性があります。また、変更の追跡には Kinesis Data Firehose ではなく、DynamoDB Streams が意図された目的に特化したサービスであり、推奨されます。 総合的に見て、オプション C の「DynamoDB グローバルテーブル+データ型ごとの個別テーブル+DynamoDB Streams」は、パフォーマンス、可用性、低レイテンシ、および運用簡易性のバランスが最も優れており、提示されたすべての要件を満たす最適なソリューションです。