IT用語集 › データベース › 冪等な書き込み

冪等な書き込み

データベース Svenska → 更新: 2026-10-23

何回実行しても結果が同じになる操作。UPDATE users SET email='x' WHERE id=1は冪等(5回実行しても結果は同じ)だが、UPDATE counter SET n = n + 1は冪等ではない。

HTTPの意味論では、PUTは定義上冪等で、POSTはそうではない。RESTのAPI設計でも、リソースの置き換えには冪等なPUTが推奨される。Stripeで知られるのが冪等キーの方式で、クライアントが論理的な操作ごとにUUIDを生成し、サーバーはそのキーを引いて重複を排除する(典型的にはRedisに24時間のTTLで保存)。ネットワークがタイムアウトしても、二重課金の心配なく安全に再試行できる。UPSERT(INSERT ... ON CONFLICT)は冪等で、Sagaパターンの補償アクションも冪等でなければならない。

← 用語集に戻る