トランザクションとは?
トランザクションとは、「口座Aから1万円引いて、口座Bに1万円足す」のように、分けられない一連の処理をひとまとまりにした単位です。
大事なのは「全部成功か、全部なかったことにするか」のどちらかで、中途半端を許さないこと。すべて完了して確定することをコミット、途中で失敗して開始前の状態に戻すことをロールバックといいます。上の例で「Aから引いたのにBに足す前に障害が起きた」まま止まると、お金が消えてしまう——それを防ぐしくみです。
信頼できるトランザクションが満たすべき性質がACIDです。原子性(全部か無か)、一貫性(矛盾しない)、独立性(同時実行しても互いに干渉しない)、永続性(確定後は消えない)の頭文字です。独立性を保つためにロックを使い、その際にデッドロックが起こることがあります。
基本情報技術者試験では、コミット/ロールバック、ACID特性、排他制御(ロック)が問われます。