気になったことをざっとメモ
更新が冪等ではない = 呼び出すたびにインクリメントされる。
内部的に再試行した場合など、重複してリクエストされてカウントされてしまうことがある。
アトミックカウンターはカウントの誤差が許容されない場合にはふさわしくありません (銀行業務用のアプリケーションなど)。この場合は、アトミックカウンターの代わりに条件付き更新を使用する方が安全です。
condition-expression で更新対象の item が満たすべき状態を指定する。
get して、put する際に先ほど取得した値のまま変化してないかを condition-expression でチェックするような使い方。
比較演算子および関数リファレンス - Amazon DynamoDB
今の値より小さければ、という条件で更新すれば Max 値を保持できそう
失敗した条件付き書き込みは ConditionalCheckFailedException を返す
Amazon DynamoDB Transactions: 仕組み - Amazon DynamoDB
最大 100 書き込みアクション、 4MB