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

後退復帰

pointこの用語のポイント

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

pointロールバックを意図している場合が多いよ

スポンサーリンク

簡単に書くよ

後退復帰(読:コウタイフッキ 英:backward recovery)とは

(おかしくなったときに)やりかけの処理を取り消して、やる前の状態に戻すこと
ですが

「ロールバック」のこと
を指している場合も多いです。
ロールバックは

「ここから ここまでワンセット」な処理(トランザクション処理)において、あれやこれやと処理した結果を取り消して、やらなかったことにすること
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

データベース
トランザクション
コミット
ロールバック


について説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

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

後退復帰

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

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

後退復帰2

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

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


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

後退復帰3

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

後退復帰4

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

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


の3つです。

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

後退復帰5

このような

「ここから ここまでワンセット」な処理単位

がトランザクションです。
小難しい言い方をすると「分割不可な一連の処理」です。

後退復帰6

次に行きましょう。

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

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

後退復帰7

このような

トランザクション処理の結果を確定させる処理

を「コミット」と言います。

後退復帰8

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

後退復帰9

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

後退復帰10

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

後退復帰11

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

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

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

ロールバックはコミットの逆です。

やりかけの「ここから ここまでワンセット」な処理を取り消して、何もしなかった状態に戻す処理

です。

後退復帰12

「トランザクション」「コミット」「ロールバック」の3点セットは、データベースの話で よく出てきます。

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

ピヨ太君の出社作業は

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


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

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

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

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

後退復帰13

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

後退復帰14

このような

やりかけの「ここから ここまでワンセット」な処理を取り消して、やらなかった状態に戻す

のがロールバックです。

後退復帰15

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

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

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

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

以上を踏まえて、本題に入ります。

サクっと一言で説明すると

(おかしくなったときに)やりかけの処理を取り消して、やる前の状態に戻す

のが「後退復帰」です。
バックワードリカバリ」とも呼ばれます。

後退復帰16

ただし、多くの場合、

「ロールバック」と同じ意味で使われている用語

です。

後退復帰17

後退することで復帰するのが後退復帰です。
厳密に考えると、ロールバック(トランザクション処理の取り消し)以外にも該当しそうな気はします。

例えば「建てている最中の家に構造的な欠陥があったから、壊して更地に戻す」だって「後退復帰」と呼べそうです。
後退する(壊して更地に戻す)ことで復帰して(家を建てる前の状態に戻して)いますからね。

とはいえ、多くの場合、ロールバックを指しています。
「ロールバック=後退復帰」と思っておいても基本的には困らないはずです。


image piyo2

一言でまとめるよ

まぁ「後退復帰」って単語が出てきたら「やりかけの処理を取り消すんだな~」だと お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像072
書籍画像052

おまけ

■違いの分かるピヨピヨ





書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
つくって、壊して、直して学ぶ Git&GitHub 入門
ウォーターサーバーのキャッチコピーを100本考える方法