トランザクションとは?
トランザクションは、IT業界やビジネスシーンで使われる言葉です。取引・売買・処理を意味する英語の、「transaction」を語源としています。
IT業界で使われるトランザクションは、ソフトウエアやデータベースの処理形式のことで、ビジネスでは取引における商行為を指します。
ここでは、トランザクションの意味について詳しくみていきましょう。
■2つの意味がある
トランザクションには、データベースの処理形式と一連の商取引という、2つの意味があります。
1.「データベースの処理形式」
IT業界におけるトランザクションとは、データベースやオンライン取引などのシステムで、一連の操作を処理する仕組みを指します。
ソフトウエアがデータを処理する際、お互いに関連する複数の処理をまとめ、一体不可分の処理単位として扱います。
トランザクションでは複数の処理をまとめて扱い、一連のすべての処理が問題なく行われた場合にだけ「成功」とみなされます。どこかに問題があった場合は失敗となり、元の状態に戻る仕組みです。
たとえば、資金を口座間で移動する場合、出金と入金を個別に処理すると、片方の口座から出金後にエラーが発生した場合、出金した資金が浮いてしまいます。
そのような事態を避けるため、トランザクション処理ではすべての処理が完了するまで結果を確定しません。
途中で失敗したら、それ以前の処理もすべて取り消す処理が行われるため、入金が失敗したら出金処理も取り消されます。つまり、処理が始まる前の状態に戻されるということです。
2.「一連の商取引」
ビジネスにおけるトランザクションは、売買など「商品を渡して代金を受け取る」という一連の処理を指します。
たとえば、商品の購入では商品を選んで購入手続きを行い、支払いをするまでがトランザクションです。支払いが完了するまでは商品の引き渡しが行われず、取引は成り立ちません。
ビジネスにおいてトランザクションは、取引を円滑に進めるために欠かせない考え方です。
■トランザクションの語源
トランザクションの語源は英語の「transaction」で、処理や取引など複数の意味があります。transactionを使った、ビジネス上の表現も少なくありません。
主に、次のような表現があります。
・transaction agreement:売買契約
・transaction balance:取引残高
・transaction fee:取引手数料
・transaction between banks:銀行間取引
トランザクションの処理に必要な条件
データベースの処理で行うトランザクションの処理には、以下の4つの条件が必要です。
・Atomicity(原子性)
・Consistency(一貫性)
・Isolation(独立性)
・Durability(永続性)
「Atomicity(原子性)」とは、「トランザクションをすべて実行するか、まったく実行しないかのいずれかで終了する」という特性です。中途半端に一部だけ実行することを許容しないことを表します。
「Consistency(一貫性)」とは、トランザクションの終了状態に関わらず、データベースの整合性が保たれているという特性です。
たとえば、トランザクション処理中に何らかのエラーが生じて処理が中断された場合、元の状態に戻すことでトランザクションを無効にし、データベースの状態を保ちます。
「Isolation(独立性)」とは、複数のトランザクションを同時に実行しても、それぞれのトランザクションは互いに影響を受けないという特性です。
「Durability(永続性)」は、トランザクションの完了後、障害が発生しても更新内容は保証されるという特性です。
トランザクションの事例
トランザクションは、具体的な事例をみると理解が深まります。トランザクションの代表的な事例は銀行口座間の振替のほかにATMの預金引き出し、オンラインショップでの購入などがあげられます。仮想通貨で行われる送金処理も、トランザクションのひとつです。
ここでは、トランザクションの具体的事例を3つご紹介します。
■ATMの預金引き出し
金融機関のATMでは、キャッシュカードを入れて暗証番号を入力し、引き出したい金額を入力して預金を引き出します。預金からお金が引き出されると口座から引き出した金額が差し引かれ、残高が更新されます。この一連の処理が、トランザクションです。
もし一連の流れのどこかでエラーが発生し、入力した金額が引き出せなかった場合、処理は取り消され、最初から処理が行われなかったとみなされます。
■オンラインショップの購入
オンラインショップでは、商品を購入すると支払いが完了する前に在庫数が更新されて商品の在庫数が減少します。その後、支払いが完了するまでが一連のトランザクション処理です。
しかし、支払いが完了しなかった場合には初めから注文がなかったことになり、在庫数は元に戻ります。
クレジットカード決済でも、トランザクション処理が行われます。顧客がクレジットカードで支払いをする場合、クレジットカード会社に信用照会をしてその結果により注文が完了する流れです。
その間に注文が失敗した場合、注文は初めから取り消されます。クレジットカードの請求だけされるということはありません。
■仮想通貨の送金処理
仮想通貨の送金で使われているブロックチェーンは、トランザクション処理と関係があります。ブロックチェーンとは、取引履歴を暗号技術によって1本の鎖のようにつなげ、正確な取引履歴を維持する技術です。
ある取引について改ざんするためには、それより新しい取引についてすべて改ざんしなければならない仕組みであり、データの改ざんは容易ではありません。
仮想通貨の送金処理はトランザクションで行われており、トランザクションの取引データはブロックチェーンに追加されます。そのため、ブロックチェーンで公開されるトランザクションの情報は、改ざんされる心配がありません。
トランザクションの2つの意味を理解しよう
トランザクションとは、データベースの処理と一連の商取引という2つの意味があります。データベースの処理という意味で使われるトランザクションは、ATMの引き出しや口座振替、オンラインショッピングなど、日常生活のさまざまなシーンで使われています。
記事でご紹介した事例も参考に、トランザクションの理解を深めましょう。
▼あわせて読みたい