トランザクション管理
「ここから ここまでワンセット」な処理を実現するよ
簡単に書くよ
トランザクション管理(読:トランザクションカンリ 英:transaction management)とは
「ここから ここまでワンセット」な処理(トランザクション処理)が、ちゃんと「ここから ここまでワンセット」になるように管理すること
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「トランザクション」について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
トランザクションは「ここから ここまでワンセット」な処理単位です。
例えば、そうですね。
ピヨ太君がピヨ子ケーキショップにケーキを買いに行きました。
ピヨ太君はケーキを買います。
ピヨ太君のやることは
1.商品を受け取る
2.代金を払う
の2つです。
この2つはワンセットです。
どちらか片方だけでは成立しません。
商品だけ受け取ってお金を払わなければ泥棒です。
商品を受け取らずにお金だけ払ったのではピヨ太君はケーキが食べられません。
両方揃って、はじめて「ケーキを買う」という行為が成立します。
このような
「ここから ここまでワンセット」な処理単位
がトランザクションです。
小難しい言い方をすると「分割不可な一連の処理」です。
以上を踏まえて
トランザクション処理が、ちゃんと「ここから ここまでワンセット」になるように管理する
のが「トランザクション管理」です。
管理するための機能を指している場合も あります。
例えば、そうですね。
ピヨ太君がピヨ子ケーキショップでケーキを買いました。
この内容をピヨ太君はデータベースに記録します。
「なんで、そんなことをするの?」なんて聞いてはいけません。
説明の都合上です。
まずは……そうですね。
ピヨ太君はピヨ太データベースに「商品を受け取った」という内容を記録しました。
次に、ピヨ太データベースに「お金を払った」という内容を記録しました。
そうすると、ピヨ太データベースには
1.商品を受け取った
2.お金を払った
の2つの内容が記録されます。
ここで ちょっと考えてみてください。
ピヨ太データベースに「お金を払った」という内容を記録するのに失敗したら、どうなるでしょう。
そうですね。
1.商品を受け取った
の内容だけが記録されます。
……が、それでは困ります。
「商品を受け取った」と「お金を払った」の2つはワンセットです。
1つだけ記録されている状況は、よろしくありません。
そこで「お金を払った」を記録するのに失敗したら「商品を受け取った」の記録も消します。
一旦なかったことにして、必要に応じて最初からやり直すのです。
このように、トランザクション処理では
1.処理が全部うまくいったら、やったことにする
2.処理が途中で失敗したら全部なかったことにする
ことが求められます。
そうしないとワンセットになりませんからね。
……面倒くさいですね。
そうです。
面倒くさいのです。
トランザクション処理を実現するには、あれやこれやと面倒くさいことを考えたり、やってあげたりする必要があります。
この面倒くさいことをやって
トランザクション処理が、ちゃんと「ここから ここまでワンセット」になるように管理する
のがトランザクション管理です。
なお、トランザクション処理は
1.Atomicity(原子性)
2.Consistency(一貫性)
3.Isolation(独立性)
4.Durability(永続性)
の4つの特性を持っているべきだよ!と言われます。
この4つの特性を、カッコ付けて「ACID特性」と言ったりします。
※ACID特性の詳細が気になる方は、用語「ACID特性」の説明を ご覧ください。
気が向いたら、併せて覚えてあげてください。
一言でまとめるよ
まぁ「トランザクション管理」って単語が出てきたら「『ここから ここまでワンセット』を実現するために頑張るんだな~」と お考えください。
おまけ
■訳してみるよ
「transaction(トランザクション)」の意味は「処理」とか「取引」とか「売買」とかです。
「管理」は日本語ですね。
何となく くっつけると
取引管理
となります。
■検索してみる?






