書き込みと運用

注目を集めるのは読み取りですが、正しさと運用上の痛みが宿るのは書き込みです。スキャンする UPDATE … WHERE はなく、列をまたぐ一意制約もなく、データを作り直す ALTER TABLE もありません。そうした保証は、条件付き書き込みとキー設計から自分で組み立てます。

このセクションは、本番で手を伸ばすことになる書き込みパターンと、それらを誤ったときに続く運用上の問題 — 失敗したマイグレーション、ホットキー — を扱います。

8 件中 0 件読了クイズ
DynamoDBのバッチ操作
DynamoDBのバッチ操作 — BatchGetItemは1回の呼び出しで100項目を読み、BatchWriteItemは25項目を書く。なぜバッチはトランザクションではないのか、そして未処理項目の再試行。
中級読了 5 分
DynamoDBで複数のアイテムを削除する方法
DynamoDBで複数のアイテムを削除する方法 — BatchWriteItem、TransactWriteItems、PartiQLバッチ、TTL — そしてDELETE ... WHERE文が存在しない理由。
初級読了 7 分
DynamoDBのReturnValues:古いまたは新しいアイテムを取得する
DynamoDBのReturnValuesは、PutItem、UpdateItem、DeleteItemから2回目の読み取りなしで古いまたは新しいアイテムを返す — 5つの選択肢と、それぞれが役立つ場面。
中級読了 3 分
DynamoDBのアトミックカウンター
DynamoDBのアトミックカウンターがADD更新式でどう動くか、なぜ冪等でないのか、そしていつ代わりに条件付き更新に手を伸ばすべきか。
中級読了 5 分
DynamoDB で複数の属性に一意性を課す
DynamoDB で複数の属性に一意制約を課す方法 — メール AND ユーザー名の一意性を、マーカー項目と条件付きの TransactWriteItems で保証する。
上級読了 6 分
ダウンタイムなしの DynamoDB 移行
ダウンタイムなしの DynamoDB 移行 — 遅延バックフィル、オンライン GSI、デュアルライトを使って、ライブテーブルに新しいエンティティ型とアクセスパターンを追加する方法。
上級読了 6 分
DynamoDB のホットパーティション
DynamoDB のホットパーティションとは、1つのパーティションキーがトラフィックの不均衡な割合を吸収してスロットルすることです。見つけ方と、設計で回避する方法を解説します。
中級読了 8 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

並行更新を書くならアトミックカウンタから始めてください。スキーマ変更を前に途方に暮れているなら、マイグレーションへ飛んでください。

DynoTable を試すと、条件付き書き込みを実行し、結果をライブで確認できます。