書き込みと運用

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

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

7 件中 0 件読了クイズ
DynamoDBバッチ操作:BatchGetItem & BatchWriteItem
DynamoDBのBatchGetItemとBatchWriteItem — 1往復あたり最大25/100アイテムの読み書き、なぜバッチがトランザクションではないのか、そして未処理アイテムの扱い方。
中級読了 5 分
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つのパーティションキーがトラフィックの不均衡な割合を引き受けてスロットリングする状態です。見つけ方と、それを設計で回避する方法を解説します。
中級読了 7 分
理解度チェッククイズに挑戦
このセクションで学んだ内容を確認しましょう。

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

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