従来はひとまとまりで片付けられていた、トランザクションログに記録される様々な更新操作を次のように分類しました。それぞれの操作を新たな手段で実現するための実装を行いました。データの変更操作もっとも大きな実装の変更は、データベース内のデータ更新操作に対して実施されました。高速データベース復旧では、トランザクションログをもとにした個別のREDO/UNDOの実施を廃止して、バージョンストアの情報を元に操作します。バージョンストア内の各データは、そのデータを生成したトランザクションIDを保持しているので、そのトランザクションの実行状態を識別することができます(コミット済み、中止、あるいは現在もアクティブなど)。トランザクションが中止されると、関連するデータ(バージョンストア内でそのトランザクションIDを保持しているデータ)は後続のトランザクションから無視され、それ以前にコミットされたデータがアクセスされるようになります(図1)。図1データベース復旧処理中の分析フェーズにおいて、対象となるすべてのトランザクションの状態を識別します。REDOフェーズでは、最後のコミットされたトランザクションIDをもとにデータがロールフォワードされます。UNDOフェーズでは、コミットされていないすべてのトランザクションの状態が中止と設定されます。この操作によって、これらのトランザクションIDと関連するすべてのデータにアクセスできなくなります。この動作変更によって、個別のトランザクションの変更操作をひとつずつ実行していた従来の方式と比較すると飛躍的に処理時間が短縮され、さらに大量のトランザクションへの対応が必要な場合であっても一定時間内に処理が完了できるようになりました。次のようなデータベースの内部構造を維持するための操作は、必要となる処理内容の複雑さからバージョン管理が不可能です。従来の復旧処理の方式では、これらがユーザートランザクション処理内で、ユーザーデータの変更と関連付けられ、その処理の多くの割合を占めることがあります(例:大量データのインポート処理による多くのページ割り当て、など)。高速データベース復旧ではこれらの処理はユーザートランザクションとは分離され、内部データ構造を更新してすぐにコミットを行う、非常に短いシステムトランザクションとして実施されます。ロールバックが必要な場合も、ユーザートランザクションの一部として処理されるのではなく、バックグラウンド処理として実行されます。論理的操作およびバージョンに依存しない操作データベース復旧時に発生する下記のような操作は、バージョン管理では実現できません。これらは、後述するSLogと呼ばれる追加のトランザクションログストリームを使用することによって実現します。(3/3)※この続きは、会員の方のみお読みいただけます(登録無料)。スムーズにお使いいただくための様々なお手伝いをしています。年間、データベース道を極めるために精進する毎日です。ランナーでもあります。EYACCの森島さんはいかにして生まれたのか318SAPが会津若松で中小企業のものづくりのイノベーションに取り組む理由296AWSでセキュリティを高めるために今すぐやるべき7つのこと262企業のデジタルシフトはIoT、5G、サブスクリプションが牽引。×ログインEメールパスワード※旧SEメンバーシップ会員の方は、同じ登録情報(Eメール&パスワード)でログインいただけます。パソコン「EnterpriseZine」(エンタープライズジン)は、翔泳社が運営する企業のIT活用とビジネス成長を支援するITリーダー向け専門メディアです。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。