[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ロールバック (rollback)

pointこの用語のポイント

pointトランザクション処理のキャンセルだよ

pointやりかけの処理を取り消すよ

pointデーターベースの話で出てくるよ

スポンサーリンク

簡単に書くよ

ロールバック (rollback)とは

やりかけの処理を取り消すこと。
もう少し具体的に書くと

データベースのトランザクション処理において、あれやこれやと処理した結果を取り消して、やらなかったことにすること
です。

image piyo

詳しく書くよ

順番に見ていきましょう。
まずは「データベース」と「トランザクション」あとは「コミット」について説明します。
「そんなの説明されなくても知ってるよ!」な人は、適当に読み飛ばしてください。

データベースは「データを入れておく箱」です。
突っ込んで考えると混乱するかもしれません。
何となくのフィーリングで理解してください。

ロールバック

トランザクションは「ここからここまでワンセット」な処理単位です。

例えば、そうですね。
ピヨ太君がピヨピヨカンパニーに出社するとしましょう。

ピヨ太君はピヨピヨカンパニービルに到着すると

1.私服からスーツに着替える
2.タイムカードを押す
3.コーヒーを飲みながらケーキを食べる


の3つの行動をします。
この3つの行動が、ピヨ太君が出社した状態になるためにやる作業です。
いわば、ピヨ太君の「出社作業」です。

ロールバック2

出社作業が終わったら、ピヨ太君はピヨ太ママに「ピヨ太です。出社しました」と連絡を入れます。
これでピヨ太君は出社した状態になります。

ロールバック3

繰り返しになりますが、ピヨ太君の出社作業は

1.私服からスーツに着替える
2.タイムカードを押す
3.コーヒーを飲みながらケーキを食べる


の3つの行動です。

この3つの行動は、どれか一つでも欠けてはダメです。
すべての行動を一連の流れで行う必要があります。

ロールバック4

このような「ここからここまでワンセット」な処理単位が「トランザクション」です。
小難しい表現を使うと「分割不可な一連の処理」です。
「トランザクション」という用語は、データベースの話でよく出てきます。

ロールバック5

次に行きましょう。

出社作業を終えたピヨ太君は、ピヨ太ママに「出社しました」と連絡を入れました。
この連絡を入れたことによって、ピヨ太君は出社した状態になりました。

これは「出社作業を完了する作業」です。
言い換えると「出社を確定させる作業」とも言えます。

ロールバック6

このような「トランザクション処理の結果を確定させる処理」を「コミット」と言います。
「コミット」という用語も、データベースの話でよく出てきます。

ロールバック7

ピヨ太君の出社作業は、やっている最中は「出社中」です。
対外的には、出社したことには、なっていません。

ロールバック8

ピヨ太君はピヨ太ママに「出社しました」と連絡を入れました。
これでピヨ太君は、対外的にも「出社済み」になりました。

ロールバック9

ピヨ太ママに連絡を入れる作業がコミットに相当します。

ロールバック10

トランザクション処理は「ここからここまでワンセット」な処理です。
当たり前ですが、やっている途中はやりかけです。
対外的には、やったことには、なっていません。

コミットをすることによって、対外的にも、やったことになります。
トランザクション処理の結果が本体に反映されます。

一連の「ここからここまでワンセット」な処理が終わり「やるべきことはやり終わったから、やり終わったことにするよ!」と対外的に宣言するのがコミットです。

以上を踏まえて、コミットの逆、やりかけの「ここからここまでワンセット」な処理を取り消して、何もしなかった状態に戻すのが「ロールバック」です。
「ロールバック」という用語も、データベースの話でよく出てきます。

ロールバック11

先ほどのピヨ太君の例を思い出してください。

ピヨ太君の出社作業は

1.私服からスーツに着替える
2.タイムカードを押す
3.コーヒーを飲みながらケーキを食べる


の3つの行動でした。
これが終わってピヨ太ママに「出社しました」と連絡を入れると出社済みになります。

ピヨ太君は毎日順調に出社作業をしていました。

ところが、ある日のことです。

ピヨ太君のタイムカードが見当たりませんでした。
これではタイムカードが押せません。

ロールバック12

ふて腐れたピヨ太君は、私服に着替えて帰ってしまいました。
つまり、出社作業を取り消して、ピヨピヨカンパニービルに来る前の状態に戻ってしまったわけです

ロールバック13

このような、やりかけの「ここからここまでワンセット」な処理を取り消して、やらなかった状態に戻すのがロールバックです。

ロールバック14

処理というのは、いつでも上手くいくとは、かぎりません。

トランザクション処理も同じです。
やっている最中で何らかの理由により失敗することがあります。

処理が失敗するのは仕方ありません。
ですが、やりかけの状態で止まってしまうのは、とても中途半端です。

そこで、やりかけの処理結果を捨てて、やる前の状態に戻します。
「中途半端な状態で残るくらいなら何も残ってない方がマシだ!」の心意気です。

この「やりかけの処理結果を捨てて、やる前の状態に戻す」作業がロールバックです。

image piyo2

一言でまとめるよ

まぁ「ロールバック」って単語が出てきたら「やりかけの処理を取り消すことなんだな~」だと、お考えください。

一番上に戻るよ
スポンサーリンク