AWS
DynamoDBで古い情報が返ってきてしまう場合の対応方法

はじめに

DynamoDBを使っていた際に、書き込みと読み込みを行うと古い情報が取得されることがあった

「強力な整合性のある読み込み」を使うようにする

公式ページのドキュメントを見るとデフォルトでは取得する際に情報が古い場合があるそうだ。

  1. 読み込み整合性

これを回避するには、プログラムで意図的に処理を遅らせるか、読み込み時のoptionでConsistentRead=Trueを指定する必要がある。以下、pyhotnでの例


dynamotable.get_item(Key=hash,ConsistentRead=True)

ただ、これには注意が必要で、

強力な整合性のある読み込みは、ネットワークの遅延または停止があった場合には利用できなくなる可能性があります。グローバルセカンダリインデックス (GSI) では、整合性のある読み込みがサポートされていません。

AWS ドキュメントより

とあるので、プログラムで遅延処理するのがいいのかな?