【Web3用語集】トランザクションとは|解説
Web3.0とよばれるITについての話題の中で、意味がわからない専門用語などはありませんか。この記事ではデータ管理などのシステムに関わる話題で頻出される「トランザクション」という単語について、意味や定義を用語表と合わせて解説していきます。
トランザクションとは|定義
「トランザクション」(transaction)は商取引、売買、執行、取扱、議事録などの意味を持つ単語であり、ビジネスのシーンでよく使用されます。IT用語として扱う場合は、「処理」を意味する部分が強くなります。
IT用語での「トランザクション」は、分けることのできない情報処理をグループ化すること、また、グループ化したひとまとまりを1単位として扱うことを示します。こうした情報処理を「トランザクション処理」ともいい、「Transaction Processing」の頭文字をとって「TP」と略称します。
1グループとして管理されたトランザクション処理は「すべて成功」か「すべて失敗」のどちらかにならないといけません。1つのミスもなく完遂されれば「成功」となり、途中で不具合などがあった場合は必ず「失敗」扱いになります。
トランザクションとは|解説
トランザクションの具体例
前述の通りトランザクションは、処理の結果が必ず「すべて成功」か「すべて失敗」のどちらかになります。一連の処理が完全に一貫して行われなければならず、途中までは成功したので次にやるときはそこから続行することなどができないようになっています。この特徴の説明には、よく金融機関での例えが使われます。
例えば、Aの口座からBの口座へお金を移すという処理をする場合です。Aの口座では出金の処理、Bの口座では入金の処理がされます。この時、片方だけ処理が失敗した場合に、もう片方の処理が成功してしまうと、あるはずのお金が消失したり、無から突然発生してしまうという矛盾が生じます。そのため、両方の処理が完全に成功しない場合はすべて失敗として扱い、再度はじめからやり直すようになっているのです。
トランザクションに関連する用語
「トランザクション」とよく同時に使われる用語を説明します。
トランザクション処理に限りませんが、成功して完了した処理を「コミット」(Commit)、失敗による処理の取り消しを「ロールバック」(Rollback)、処理を始める前にデータを保存しておくことを「バックアップ」(Backup)と言います。
TPモニタ
トランザクション処理を実行することを専門にしたソフトウェアをTPモニタと言います。TPモニタは主にデータベース管理システムなどによく使われています。
ACID特性
ACID特性とは、トランザクション処理のもっている特徴の頭文字をとって現した言葉です。これらの特徴が無ければ、振り込んだお金が届かず消えてしまったり、金額が違ったりする可能性ができてしまいます。
- Atomicity:原子性(不可分性)……一連の処理は「完了」か「失敗」かの2通りの結果にしかならず、分割されない。
- Consistency:一貫性(整合性)……処理によってアクセスしたデータには、ルールに従った正しい値への変更がなされていなければならない。
- Isolation:独立性(隔離性)……処理の実行中は他からの影響を受けず、隔離されていなければならない。
- Durability:耐久性(永続性)……処理の最中にシステム障害などのアクシデントがあったとしても処理が完了した場合は、出された結果は永続的に保障されていなければならない。
分散トランザクション
トランザクション処理の際に、参照するデータベースが複数あることを分散トランザクションと言います。分散トランザクションでは、ACID特性の原子性でもある、処理を分割してはいけないことを保証するのが難しく、途中で処理が中断されてロールバックする可能性も高くなります。