楽観的同時実行制御(OCC) • ロックを使わずにトランザクションを進行させ、競合が発生した場合に解決 • 分散環境でのスケーラビリティ向上 • 失敗時のリトライ処理の実装が必要 BEGIN ; UPDATE accounts SET balance = balance - 30, version = version + 1 WHERE id = 1 AND version = 1 ; COMMIT ; BEGIN ; UPDATE accounts SET balance = balance + 50, version = version + 1 WHERE id = 1 AND version = 1 ; COMMIT ; 失敗 成功 トランザクションA トランザクションB 同じデータを更新