DynamoDBがHTTPリクエストを受け取りテーブルにデータを書き込むまで1秒以内のタイムラグがあるようです。
項目を読み込む場合、このタイムラグに対して、以下の2つの考え方があります。
・結果生合成のある読み込み
・強力な生合成のある読み込み
結果生合成のある読み込み
結果生合成のある読み込みは、テーブルへ書き込み結果が反映されていない状態で項目の取得を行うので、最新の結果が得られない可能性があります。
強力な生合成のある読み込み
強力な生合成のある読み込みは、テーブルへ書き込み結果が反映されるのを待って項目の取得を行うので、最新の結果が得られます。
また、以下のようなデメリットがあります。
・書き込みを待つので、ネットワーク障害により、書き込みが完了しない状態が発生し、この間に項目の取得を行うと DynamoDB は HTTPレスポンス 500 のコードを返却する可能性があります。
・書き込みを待つので、レイテンシーが高くなる可能性があります。
・グローバルセカンダリインデックス (GSI) では、強力な整合性のある読み込みはサポートされていません。
・強力な整合性のある読み込みでは、結果整合性のある読み込みよりも多くのスループット容量が使用されます。
最後に
次回は、テーブル、属性の命名ルールについて説明します。