トランザクション
コンピュータシステムではコンピュータ内で実行される、分けることのできない一連の情報処理の一単位を意味する。この一連の処理を分割して実行した場合、結果の整合性を保てなくなる。
一般的なトランザクションは、プログラム中心で分類すると、業務処理をプログラムした「アプリケーションプログラム」、利用者がそのプログラムにアクセスしたりデータを出し入れするために使う「ユーザインタフェース」、データが保管される場所である「永続性記憶資源(ストレージ)」、データが上記の各部を行き交うために必要な「各種I/O」といったものが実行される。
永続性記憶資源は、業務データを保管するため、ファイルやデータベースが使われる。複数の不揮発性データが更新の途中で処理が中断した場合に不揮発性データ値が中途半端な状態で残ってしまい、データを正常値に戻すことができなくなるためである。
トランザクション処理における永続性記憶資源の管理では、複数のデータ項目の更新操作列をすべて実行するか、まったく実行しないように制御する必要がある。これをアトミック実行という。実行前の状態に戻す処理を一般的なデータベース管理システムでは「ロールバック」という。バッチジョブのような処理形態でも、出力結果はアトミック実行の概念を満たさなければならない。たとえば、月末の領収証の一括印刷処理を行っているときにプリンタエラーでジョブが中断した場合でも、安易な位置から再実行してはならない。