ホーム用語辞典 > トランザクション

トランザクションとは?

トランザクションとは、「口座Aから1万円引いて、口座Bに1万円足す」のように、分けられない一連の処理をひとまとまりにした単位です。

大事なのは「全部成功か、全部なかったことにするか」のどちらかで、中途半端を許さないこと。すべて完了して確定することをコミット、途中で失敗して開始前の状態に戻すことをロールバックといいます。上の例で「Aから引いたのにBに足す前に障害が起きた」まま止まると、お金が消えてしまう——それを防ぐしくみです。

トランザクション:全部成功か、全部なかったことにするか 1つの処理(分けられない) ① 口座Aから1万円引く ② 口座Bへ1万円足す ✓ 両方成功したら → コミット(確定) ✗ 途中で失敗したら → ロールバック(元に戻す)
図:トランザクションは「全部成功=コミット」か「途中失敗=ロールバックで開始前に戻す」の二択。中途半端を許さない

信頼できるトランザクションが満たすべき性質がACIDです。原子性(全部か無か)、一貫性(矛盾しない)、独立性(同時実行しても互いに干渉しない)、永続性(確定後は消えない)の頭文字です。独立性を保つためにロックを使い、その際にデッドロックが起こることがあります。

基本情報技術者試験では、コミット/ロールバック、ACID特性、排他制御(ロック)が問われます。

🔗 関連:デッドロック正規化SQL入門用語辞典トップ