トランザクションとは
トランザクション(英: transaction)は、商取引や売買、業務処理などを意味する言葉で、主にビジネスや
情報システムにおいて用いられる概念です。特に、
コンピュータの分野では、一連の処理がまとまりを持ち、切り離して実行することができない不可分なものとして位置付けられています。このトランザクションが適切に管理されないと、結果の整合性が損なわれる恐れがあります。
トランザクション処理の重要性
コンピュータシステムにおいては、トランザクションは情報処理の核となる単位です。業務に関わるさまざまなプログラムやデータがトランザクションに関連し、それに基づいて処理が進められます。この際、アプリケーションプログラム、
ユーザインタフェース、永続性記憶資源(ストレージ)、各種I/Oなどの要素が関与します。これらの要素が連携することで、トランザクション処理が成り立ちます。
エンドユーザーがデータの入力や出力を行う際、トランザクションの中で処理が完了するかどうかは非常に重要です。特に、永久にデータが保管されるストレージにおいては、業務データがファイルや
データベースに保持されているため、更新処理が正常に終了しないとデータが不完全な状態で残る可能性があります。
このため、トランザクション処理においては、すべての操作が成功するか、まったく実行しないかのいずれかを選択する必要があります。この制御を「アトミック実行」と呼びます。トランザクションが中断した場合、データを元の状態に戻す処理は「ロールバック」と呼ばれます。
オンライントランザクション処理 (OLTP)
近年では、ネットワークを介した
コンピュータトランザクション処理が一般化し、これをオンライントランザクション処理(OLTP)と呼びます。OLTPは、離れた場所からの
コンピュータ利用を可能にし、システムの効率性を向上させます。一般的には、対話型で行われることが多く、大量のデータを一括で処理するバッチ処理も存在します。
OLTPは、分散処理と結びつくことがあります。複数の
コンピュータを活用して、一つのトランザクションを処理する場合や、複数のデータストレージを用いた処理がこれにあたります。これにより、処理の効率性や柔軟性が高まります。
ACID特性
トランザクション処理において、重要な技術的要件として「ACID特性」が挙げられます。これは、Atomicity(原子性)、Consistency(一貫性)、Isolation(独立性)、Durability(永続性)を指し、トランザクションが整合性を保ちながら処理されるための指針となります。
実際の利用例
例えば、
銀行のATMを利用して決済を行う際、トランザクションが発生します。利用者がATMでの操作を通じて、
銀行のシステム内で口座処理が行われ、その結果がリアルタイムで示されるという一連の流れが、トランザクション処理によって成り立っています。これにより、利用者は安全かつ正確な取引が可能となります。
関連項目
- - トランザクション処理
- - オンライントランザクション処理
- - トランザクションモニター
- - データ完全性
- - ソフトウェアトランザクショナルメモリ
以上、トランザクションの概要とその重要性、関連する技術について説明しました。