UNDOとREDOデータベース

2020年最初のブログ、ハッハッハ

データが変更される前に、トランザクションが失敗した場合(ロールバック)をロールバックするために使用できる値をログに記録する元に戻します。

データが正常に更新されているトランザクションで書き込まれていないデータファイルを復元するために使用することができ、変更された値は、ロギングデータブロックでやり直し。

元に戻すことにより、/やり直し操作を元に戻すとやり直しプロセスインタフェースの動作を実現することができます。

やり直し操作は、この変更を再実装するために参照しながら、元に戻すの変更は、による変化へのプログラムの動作を実行して、ユーザーのステップの前に復元されます。

データの記録と記録操作:実装元に戻す/やり直しの操作は、2つのカテゴリに分類されます。

データは、記録情報の編集ウィンドウが開いているときに、元のセーブデータ、手段、および結果をユーザ操作データは、ここで編集データ情報が発生する可能性があり、すべてのデータウィンドウの変更を意味し、すべての時間を記録します。データコントロールを対応するユーザ情報の編集ウィンドウに渡される前に、手順を実行する場合は、前の操作を取り消しますこのアプローチは、すべてのデータに基づいて、エンドユーザーにデータが、とにかく、毎回交換が変更されているかを検討する必要はありません、時間のためのスペースを変更することがあります。データの量がそれぞれ比較的小さいに格納されている場合、これはより便利であるが、グラフィックス、ビデオ、およびその他の情報などを含むデータの量は、この方法は、メモリのよりコストがある場合。

操作記録情報編集ウィンドウを意味する、特定の操作及び動作データを変更する動作を含む各ユーザの記録動作、開放され、ここでデータは操作が両方の操作を繰り返すことができる復元します。ユーザ操作の逆記録処理に応じて元に戻す動作プログラムを実行し、情報編集ウインドウの変更、およびユーザの操作は、ユーザの操作履歴に応じたときのREDO手順を繰り返して操作を行うにはこのアプローチは、時間の交換間隔に基づいて、より少ない録画番組情報は、各ユーザのみ(例えば、どのようなコンテンツの前およびコントロールを編集した後である制御編集するユーザとして)操作の種類と関連付けられた動作データを記録する必要があり、操作に関係のない他のデータを記録する必要はありません。記録されたデータよりもこのアプローチは確かに複雑であるが、倹約メモリよりも良くなります。

操作があった場合には、前方スキャンログファイルが、この目標を達成することができない場合は、リカバリ戦略システムの障害が発生する前に、複数の元に戻すには、あなたはとてもスキャンログファイルをエコーに、最初の失敗したトランザクションにデータを復元する必要があります。データ数での動作のためにやり直した後、それはスキャンログファイルを転送する必要がありますので、最後に成功したトランザクションにデータを復旧する必要があります。元に戻すには、提出した操作がキャンセルされている企業の成功を保証することはできません、とやり直しは企業が成功した2つの性を保証トランザクションの原子性を組み合わせて、操作が完了し提出した(ことを保証することができませんかの操作を行うかどうか);長に提出変更は恒久的にやり直しを実装しなければならないとして、それはトランザクションの持続可能性を確保できるようやり直しは(そのトランザクションを保証することができます提出した後、取引、データベースへの変更を永続的になります)。

公開された143元の記事 ウォン称賛78 ビュー40000 +

おすすめ

転載: blog.csdn.net/KK_2018/article/details/103793045