コンテンツへスキップ
uencoder

Undo Log

アンドゥログは変更前イメージを記録し、トランザクションのロールバックと古いバージョンの MVCC 読み取りに使われ、原子性と独立性を保証する。

目的

トランザクションのロールバックと多版読み取りの実装を理解し、ロールバック性能を分析する。

メカニズム

行を変更する前にアンドゥログ(旧値)を書く。ロールバックはアンドゥログに従って旧値を復元する。MVCC では、アンドゥチェーンがスナップショット読み取りに履歴バージョンを提供する。PostgreSQL はロールバックセグメント(旧)またはアンドゥログ(新)を使う。

ユースケース

  • トランザクションのロールバック設計
  • MVCC のバージョンチェーン
  • アトミック性の実装

関連ツール

References