DynamoDBの陳腐化データ表示を解決する方法

 

トラブル内容

DynamoDBを利用して顧客のセッションデータを管理しています。ユーザーがデータベースにアクセスした際に陳腐化したデータが表示されるというクレームが届いています。

 

対応

  1. dynamo DB のデータ整合性モデルを変更する

 

理由

Amazon DynamoDB からデータを読み込むとき、ユーザーはその読み込みに対して結果的に整合性のある読み込みを設定するか、強い整合性を設定するかを指定できます。結果整合性モデルを選択すると、読み込みスループットが最大限に向上します。ただし、結果整合性のある読み込みには、最新の書き込み結果が反映されない可能性があります。データの全コピーの整合は通常 1 秒以内に行われます。短時間後に読み込みを繰り返すことによって、更新されたデータが返されます。今回の場合も更新したデータが反映される前に読込をしてしまい陳腐化したデータが閲覧されたものと考えられます。よって、結果整合性モデルを強い整合性モデルに変更することが適切な対応となります。

DynamoDB には結果整合性のある読み込みに加えて、強い整合性のある読み込みをリクエストする柔軟性と制御が用意されています。強い整合性のある読み込みの結果には、読み込みの前に適切な応答を受け取ったすべての書き込みが反映されています