Q99 — AWS SAA-C03 第10章
第 99/100 問 | ← 第10章
Q699. ある企業が、ストレージとして Amazon DynamoDB テーブルを使用するアプリケーションを運用しています。ソリューションアーキテクトは、このテーブルに対する多くのリクエストが最新のデータを返していないことに気づきました。ただし、ユーザーからデータベースのパフォーマンスに関するその他の問題は報告されておらず、レイテンシも許容範囲内です。ソリューションアーキテクトが推奨すべき設計変更はどれですか?
- A. テーブルに読み取り専用レプリカ(read replicas)を追加する
- B. グローバルセカンダリインデックス(GSI)を使用する
- C. テーブルに対して強力な一貫性のある読み取り(strongly consistent reads)を要求する ✓
- D. テーブルに対して最終的な一貫性のある読み取り(eventually consistent reads)を要求する
正解: C. テーブルに対して強力な一貫性のある読み取り(strongly consistent reads)を要求する
解説
Amazon DynamoDB テーブルへのリクエストが最新のデータを返さないという課題に対処するには、ソリューションアーキテクトは以下の設計変更を推奨すべきです:C. テーブルに対して強力な一貫性のある読み取りを要求する。オプション C では、DynamoDB が常に最新のデータを返すことを保証します。DynamoDB のデフォルトの読み取り動作は「最終的な一貫性のある読み取り」であり、これは低レイテンシを実現しますが、直近の書き込み変更が反映されていない可能性があります。一方、強力な一貫性のある読み取りでは、読み取り操作が、それ以前のすべての書き込み操作が完了するまで待機されるため、返されるデータは必ず最新の状態になります。オプション A(読み取り専用レプリカの追加)およびオプション B(GSI の使用)は、最新データの取得という課題を直接解決しません。これらの機能は、読み取りキャパシティのスケーリングや特定属性へのインデックス化には有効ですが、返されるデータの一貫性を保証するものではありません。オプション D(最終的な一貫性のある読み取りの要求)は DynamoDB のデフォルト動作であり、直近の書き込み後に古くなったデータ(stale data)を返す可能性があるため、最新データの取得という要件には不適切です。したがって、最適な解決策は C です。これにより、アプリケーションに常に最新のデータが返されるようになり、リクエストが最新データを返さないという課題が解消されます。