DX Column

2021年10月26日

#トランザクション – 知ったかテックワード!君もIT博士

カテゴリー:

タグ:, ,

カエルの解説

「トランザクション」(Transaction)とは、本来は「取引」や「売買」という意味だけど、IT分野ではデータベースや業務システムで分割できない一連の処理のこと指している。

ウサギとカエルが「魔法のツボ」を売り買いする場合を考えてみよう。その取引きは、次のような複数のステップに分割できる。

  • ステップ1.注文する:ウサギが「魔法のツボ」を注文する ⇒ カエルは注文を受ける
  • ステップ2.支払う:ウサギが代金を支払う ⇒ カエルは代金を受け取る
  • ステップ3.受け取る:カエルが「魔法のツボ」を発送する ⇒ ウサギが商品を受け取る

代金を支払うと、ウサギの銀行口座の残高が減って、カエルの銀行口座の残高がその分だけ増えるよね。そして、商品を発送すると、カエルの在庫がひとつ減って、ウサギの持ち物がひとつ増える。このような一連の取引が1つのトランザクションになるんだ。

もしも何らかのトラブルがあって、ウサギが「魔法のツボ」を受け取れなかった場合、ウサギの銀行口座の残高が減ったまま、カエルの銀行口座の残高が増えたままなのは困るよね。

そこでトランザクションのどこかが失敗したら、全部の処理をキャンセルして元に戻すんだ。このようにやりかけのトランザクションをキャンセルする処理を「ロールバック」(Rollback)と呼ぶ。

トランザクションは、データベースや業務システムで複数のデータをまとめて処理する場合に利用される。ネットワークを介して複数のコンピュータが処理を行うオンライン取引システムは、オンライントランザクション(OLTP:Online Transaction Processing)に対応している。こうしたオンライントランザクションを実現するミドルウェアをTPモニター(Transaction Processing Monitor)という。

関連ページ

おまけのコント

ウサギ:魔法のツボを手に入れたヨ。

カエル:なんか、それっぽいな。

ウサギ:こするとランプの魔人が出てきて、なんでも願いをかなえてくれるんだ。

カエル:ツボだけどな。それに、ホコリだらけじゃないか。

ウサギ:ゴホッゴホ。はぁ、はぁ、ハックション!

カエル:うぁーっ!ツボから煙が!

大魔王:呼ばれて、とび出て、パンパカパーン!

カエル:誰だお前は!

大魔王:わしはトランザクション大魔王でごじゃる。

ウサギ:大魔王だって?じゃあ、願いを叶えてくれるのか!

大魔王:もちろんですよ、ご主人様。

ウサギ:じゃあ、世界一の金持ちウサギにしてくれ。

大魔王:お安い御用。アラビン、ドビン、ヒゲチョビ~ン!

カエル:あ、10円玉が出てきた。

ウサギ:たったこれだけ?

大魔王:お金を持ってるウサギは、世界であなただけでごじゃる。

ウサギ:そんなのダメダメ。やりなおし。

大魔王:しょうがないなぁ。それ、ロールバ~ック。

カエル:あ、10円玉が消えた。

ウサギ:ちゃんと、世界レベルの金持ちにしてくれよ。

大魔王:そうならそうと最初から言うでごじゃる。 アラビン、ドビン、ヒゲチョビ~ン!

カエル:今度は、ワラしべが1本でてきた。

ウサギ:これ、どーするんだよ。

大魔神:簡単でごじゃる。まず、 ワラの先にカナブンを結び付けて歩いていく。

カエル: ワラしべにカナブン!

大魔神:すると、大泣きする赤ん坊がそのワラしべを欲しがるので、ミカンと交換でゆずってやる。

ウサギ:ふむふむ、それから。

大魔神: すると、喉の乾いた商人がミカンが欲しいと言うので上等な反物と交換して。さらに、通りすがりのサムライが土産に反物を欲しがるので馬と交換する。

カエル:それからどーなるの。

大魔神:すると、大きなお屋敷からビル・ゲイツが出てきて、今から出かけるので馬が欲しいと言うので、屋敷と馬を交換するでごじゃる。

ウサギ:世界レベルのお金持ちになれるじゃないか!

カエル:ロールバックしたほうが良くないか。