JP2004501449A - 主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法及び装置 - Google Patents

主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法及び装置 Download PDF

Info

Publication number
JP2004501449A
JP2004501449A JP2002503047A JP2002503047A JP2004501449A JP 2004501449 A JP2004501449 A JP 2004501449A JP 2002503047 A JP2002503047 A JP 2002503047A JP 2002503047 A JP2002503047 A JP 2002503047A JP 2004501449 A JP2004501449 A JP 2004501449A
Authority
JP
Japan
Prior art keywords
log
main memory
database
checkpointing
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002503047A
Other languages
English (en)
Other versions
JP4813004B2 (ja
Inventor
サン、キュン、チャ
ジュ、チャン、リー
キ、ホン、キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Transact In Memory Inc
Original Assignee
Transact In Memory Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Transact In Memory Inc filed Critical Transact In Memory Inc
Publication of JP2004501449A publication Critical patent/JP2004501449A/ja
Application granted granted Critical
Publication of JP4813004B2 publication Critical patent/JP4813004B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/964Database arrangement
    • Y10S707/966Distributed
    • Y10S707/967Peer-to-peer
    • Y10S707/968Partitioning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

【課題】トランザクション処理システムで発生する障害を復旧するに使用されるロギング方法において並列的な演算を可能にさせること。
【解決手段】本発明による主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法は、データベースを主メモリーに保存し、主メモリーデータベースに対する並列的な回復のためにログレコードを保存するための一つ又は複数個のログディスクと、主メモリーデータベースを保存するための一つ又は複数個のバックアップディスクとを含む主メモリートランザクション処理システムのロギング方式において、ログレコードはある更新演算が行われる場合、これに対する更新前のイメージと更新後のイメージ間のXOR結果からなり、前記ログレコードとデータベースイメージ間のXOR演算を通じてシステムを復旧することを特徴とする。

Description

【0001】
【発明の属する技術分野】
本発明は主メモリートランザクション処理システムにおいて回復のためのロギング方法及び装置に関する。
【0002】
【従来の技術】
トランザクション処理システムは障害の発生時にも管理中のデータの一貫性や持続性が補償されなければならない。データの一貫性とは、トランザクションが行われる時にデータは常にある一貫した状態から他の一貫した状態に変更されるべきである性質を云う。また、データの持続性とは、完了したトランザクションにより変更されたデータはシステム障害時にも常にそのまま維持されるべきである性質を云う。
【0003】
データベースの一貫性や持続性を保持するため、大部分のトランザクションシステムはロギングと称する方法を使用するが、この方法は各更新演算に関する情報からログレコードを構成してログファイルに保存する方法である。
障害が発生すると、完了していないトランザクションのログレコードに対しては該当更新演算をアンドゥーすることでデータベースの一貫性を維持させ、完了したトランザクションのログレコードに対しては該当更新演算をリドゥーすることでデータベースの持続性を維持させる。
【0004】
ログのみを用いてデータベースを復旧する場合、システム稼動後に生成された全てのレコードに対してリドゥー又はアンドゥー演算を実行すべき必要から、あまりにも多量のログを読み込まなければならないという短所があった。
そこで、所謂チェックポインティングという方法を用いてデータベースを一定の時間間隔でバックアップディスクに保存して、システムの再開始時には一番最近成功したチェックポインティングの以後に生成されたログのみを読んでも済むようにする。一般的なチェックポインティングの場合には、データベースの各ページがダーティフラッグと呼ばれるデータを管理して、一番最近成功したチェックポインティングの以後に行われたトランザクションにより変更されたパージのみバックアップディスクに保存するようにして、チェックポインティング時に保存すべきデータの量を減らす。
【0005】
図1はデータベースを全て主メモリー上に保存する主メモリーデータベースシステムで使用される既存の回復構造に関する図面である。一般的には2つのバックアップディスク101,102と一つのログディスク103が使用される。
一回のチェックポインティングによってただ一つのバックアップディスクのみが更新され、毎チェックポインティングごとにバックアップディスクが変わりつつ更新される。このために、各データベースページごとに2つのダーティフラッグが存在して、一つのトランザクションが一つのページを更新させる時、2つのフラッグを共にセットする。そして、一つのチェックポインティングが行われると、そのページを一番目のパックアップディスクに保存した後、一番目のダーティフラッグをリセットする。同様に、後に続く他の一つのチェックポインティングはそのページを二番目のバックアップディスクに保存した後、二番目のダーティフラッグをリセットする。
【0006】
図2はシステム障害の発生時に既存の回復構造で使用する再開始の過程に関する図面である。図2に示すように、再開始の過程は一番最近成功したチェックポインティングにより保存されたバックアップを主メモリーに読み込む過程(以下、″BR″)201と、読み込まれたバックアップを用いてデータベースを部分的に復旧する過程(以下、″BP″)202と、ログをログディスクから主メモリーに読み込む過程(以下、″LR″)203と、読み込まれたログレコードを部分的に復旧されたデータベースに適用する過程(以下、″LP″)204とから構成されている。
【0007】
図3はシステムの再開始時に既存の回復構造で使用される二重経路ログの適用に関する図面である。
図3に示すように、まず、ログアンカーに保存された情報を用いてチェックポイント開始ログを読み込む(300)。ルーザートランザクションを区分するために、TIDとラストLSNというフィールドを有するルーザートランザクションテーブル(LTT)が管理される。このテーブルはトランザクション開始ログレコードに保存された活動トランザクションのリストを用いて初期化される(301)。
既存の回復演算では交換性及び結合性が保障されないので、ログを正方向にスキャンし、ログレコードを読み込む(302)。
【0008】
読み込んだログがトランザクション開始ログである場合(303)、ルーザートランザクションテーブルで対応する一つのエントリーを生成するようにする(306)。読み込んだログがトランザクション終了ログである場合は、ルーザートランザクションテーブルで対応する一つのエントリーを削除するようにする(309)。
【0009】
一貫した状態のデータベースに復旧するために、完了したトランザクションのログレコードはリドゥーを行い、システム障害の時点で活動中であったトランザクションのログは全てアンドゥーを行う必要がある。このために、チェックポインティング開始ログのレコードからログのアンドまでスキャンしながら更新ログインの場合(305)、ログレコードに対してリドゥー演算を行い、対応するルーザートランザクションテーブルエントリのLSNフィールドを更新する(308)。ログのアンドに到達した時(309)、LTTにまだ残っているトランザクションがルーザートランザクションである。一つのルーザートランザクションの一番最近のログレコードは対応するLTTエントリーのラストLSNフィールドからその位置を見付けることができ、そのトランザクションの他のレコードは見付けたログレコードのラストLSNフィールドから連鎖的にその位置を見付けられる(310)。
【0010】
【発明が解決しようとする課題】
しかしながら、既存の物理的なロギング方法を使用する時には、全てのログレコードはLP過程でその生成された順序通りに適用されるべきである。即ち、先に生成されたログが先にリドゥーされるべきである。このような条件はリドゥーやアンドゥー演算が交換的であるか結合的でないからであって、データベースシステムの設計時に相当な制約をもたらす。
【0011】
全体のデータベースを主メモリー上に保存する主メモリーデータベースシステムではログディスクに接近する方式がシステムの性能上主な障害となる。このような障害を減らすために、複数のログディスクを使用して並列的にロギングする構造が考えられるが、既存の物理的なロギング方法を使用した場合、システムの再開始時にLP過程でログレコードの生成順序を把握して、その順序通りに適用しなければならないオーバーヘッドのため実際には使用し難い。
従って、複数個のログディスクが存在する環境でログに対する効果的な並列的演算が行われ得るようにしたロギング方法が必要である。
【0012】
そこで、本発明の目的は、トランザクション処理システムで発生する障害を復旧するのに使用されるロギング方法において並列的な演算を可能にさせることにある。
このような目的を用いて、本発明では交換的で結合的な回復演算が許容可能なディファレンシャルロギング方法を使用する。この方法ではある更新演算の発生時に主メモリーデータベースの更新前のイメージと更新後のイメージ間のXOR演算の結果をログレコードで保存し、保存されたログレコードとデータベースイメージ間のXOR演算を行うことによってリドゥーやアンドゥー演算を行う。
【0013】
【課題を解決するための手段】
上記目的を達成するために、本発明による主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法は、データベースを主メモリーに保存し、主メモリーデータベースに対する並列的な回復のためにログレコードを保存するための一つ又は複数個のログディスクと、主メモリーデータベースを保存するための一つ又は複数個のバックアップディスクとを含む主メモリートランザクション処理システムのロギング方式において、ログレコードはある更新演算が行われる場合、これに対する更新前のイメージと更新後のイメージ間のXOR結果からなり、前記ログレコードとデータベースイメージ間のXOR演算を通じてシステムを復旧することを特徴とする。
【0014】
一方、本発明によるシステムは、データベースを保存するための主メモリー、主メモリーデータベースの並列的な回復のためのログレコードを保存する一つ又は複数個のログディスク、主メモリーデータベースのコピー本を保存する一つ又は複数個のバックアップディスク、ある更新演算が行われる場合、これに対する更新前のイメージと更新後のイメージ間のXOR結果をログ本体に保存するログを生成するための手段及び、ディファレンシャルログとデータベースイメージ間のXORからなり、ディファレンシャルログレコードとデータベースイメージ間のXOR演算を通じてシステムを復旧する手段とを含むことを特徴とする。
【0015】
【発明の実施の形態】
以下、添付の図面に基づいて本発明による主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法及び装置の望ましい実施形態を詳細に説明する。
【0016】
図4は本発明で使用される更新ログレコードとデータベースページの構造を示す図面である。本発明は一つのデータベースが固定された大きさを有する複数個のページから構成され、一つのページは再び複数個のスロットから構成される保存構造を有している。他の方式の保存構造を有するシステムに本発明を実施するためには多少の修正が必要であるが、これは、本発明に記述された内容から明白に類推可能である。本発明の一実施形態では、トランザクションの開始、トランザクションの終了、更新、チェックポイントの開始、チェックポイントの終了など少なくとも5つの類型のログレコードを使用する。
トランザクション開始のログレコードとトランザクション終了のログレコードは一つのトランザクションの開始や終了を、チェックポイント開始のログレコードとチェックポイント終了のログレコードは一つのチェックポインティングの開始や終了を記録するのに使用される。
【0017】
一つの更新演算を記録するのに使用される更新ログレコードは、一つのログレコードと一つのログ本体とから構成される。図4は本発明の一実施形態で使用されるログヘッダーの構造に関する図面である。
″LSN(Log Sequence Number)″フィールドにはログレコードの認識番号を保存時に一般的にはディスク上でログレコードの物理的な住所が用いられる。
″TID(Transaction ID)″フィールドには現在ログレコードを生成したトランザクションの認識番号を保存する。″PrevLSN″フィールドには同一のトランザクションによって一番最近生成されたログの認識番号を保存して、そのトランザクションを撤回する必要がある場合、そのトランザクションで発生した以前のログを迅速に見付けられるようにし、″Type″フィールドにはログレコードのタイプを保存する。
【0018】
″Backup ID″フィールドには、ログレコードと更新されたページとの間の関係を保存するが、このフィールドはパージチェックポインティングが使用される場合にのみ必要である。これに対しては図8で詳細に説明する。
そして、″Page ID″フィールドには更新されたページの一連の番号を保存し、″Offset″フィールドにはそのページ内で実際に更新された領域までのオフセットを、″Size″フィールドには実際に更新された領域の大きさを保存する。
【0019】
更新された領域の更新前のイメージと更新後のイメージとをログ本体に保存する既存の物理的なロギングとは異なり、ディファレンシャルロギングでは更新前のイメージと更新後のイメージ間のXOR結果をログ本体に保存する。例えば、更新前のイメージが″0011″であり、更新後のイメージが″0101″であれば、本発明ではディファレンシャルログの本体に″0110″というXOR結果を保存する。
【0020】
図5は再開始過程の間にディファレンシャルログレコードをデータベースに適用する演算を例示した図面である。″Page ID″と″Offset″フィールドからログレコードを適用するデータベース上の位置を探した後、該当イメージとログレコードの本体をXORして、その結果を前記データベースの位置に保存することでリドゥーやアンドゥー演算を行うようになる。この場合、既存の物理的なロギングとは異なり、同一の演算によってリドゥーやアンドゥー演算が行われる。
【0021】
図6a乃至図6eは本発明のディファレンシャルロギングと既存の物理的なロギングとを比較した図面である。既存の物理的なロギングでリドゥー演算は交換的であるか結合的ではないため、ログレコードは生成順に適用されるべきである。図6aに示すように、3つのトランザクションT1,T2,T3が処理された後、システムの障害が発生した場合を例に挙げると、このトランザクションはデータベース内にある4バイトの定数が0,7,6,14の順に更新された。図6bと図6cはそれぞれ物理的なロギングとディファレンシャルロギングが使用された時、スロットのイメージが変更されることにより生成されるログレコードを示す図面である。物理的なログレコードは更新前のイメージと更新後のイメージとを含む反面、ディファレンシャルロギングは更新前のイメージと更新後のイメージ間のXORの差異のみを含めている。
【0022】
図6dに示すように、システムの障害後にログレコードが生成された順序通りにリドゥーすると両者共にきちんと回復可能である。この際、物理的なロギングでのリドゥー演算は、ログ本体に保存された更新後のイメージを対応するスロットにコピーすることで行われる。しかしながら、ログレコードが生成された順序とは異なってリドゥーすると、物理的なロギングでは正確な回復が不可能である反面、ディファレンシャルロギングでは正確な回復が可能である。
【0023】
図6eはそれぞれ異なる順序でログレコードがリドゥーされる過程を示す図面である。
このようなディファレンシャルロギングはデータベースが主メモリーに常住する主メモリーデータベースだけでなく、データベースがディスクに常住するディスクデータベースにも適用可能である。
【0024】
一貫性のチェックポインティングにはトランザクション一貫性のチェックポインティングと演算一貫性のチェックポインティングとがある。トランザクション一貫性のチェックポインティングは、チェックポインティングの途中にどんな更新トランザクションも進行しないように抑えるチェックポインティング方式である。即ち、現在進行中の更新トランザクションが全て終わるまで待ってからチェックポインティングを開始させ、チェックポインティングが終わるまではどんな更新トランザクションも開始しないようにする。同様に、演算一貫性のチェックポインティングはチェックポインティングの途中にどんな更新演算も進行しないように抑えるチェックポインティング方式である。このような一貫性のチェックポインティングがディファレンシャルロギングと共に使用される場合、図3の二重経路ログの適用もきちんと行われ得る。
【0025】
図7は本発明で一貫性のチェックポインティング技法を用いて生成されたバックアップから、単一経路ログの適用を用いてデータベースを復旧する過程に関する図面である。
図7で、CTT(Committed Transaction Table)は終了ログのあるトランザクションの集合を意味し、RTT(Rolled−back Transaction Table)は終了ログのないルーザートランザクションの集合を意味する。図7に示すように、まず、CTTを空いた状態に初期化する(701)。逆方向にログをスキャンし(702)、リドゥーを行う場合、ログレコードタイプを判断してトランザクション終了ログの場合(704)、トランザクション認識番号をCTTに保存し(707)、トランザクション開始ログの場合(705)、CTTから該当トランザクションの一連の番号を削除する(708)。更新ログの場合(706)、CTTが該当トランザクションの一連の番号を有していればこれをリドゥーする(709)。チェックポイント終了ログの場合(703)、対応するチェックポイント開始ログを読み込み、これに保存された活動トランザクションリストでATT(aborted transaction table)を初期化した後(701)、ATTに存在するトランザクションのうちCTTにも存在するトランザクションを削除する(711)。ATTに残った各トランザクションに対しては、チェックポイント開始ログから逆方向にスキャンし、各更新ログをアンドゥーする(712)。
【0026】
本発明は、ログ適用の過程が一度のログスキャンで行われるようにした長所を有する。即ち、ログはログの生成順序とは逆方向にスキャンされる。この場合、あるトランザクションの更新ログレコードに出会う前にそのトランザクションの終了ログレコードに先に出会うことになるので、撤回したトランザクションのログレコードは適用する必要がなくなる。即ち、再開始過程においてただ完了したトランザクションの更新ログのみを適用し、撤回したトランザクションの更新ログはスキップする。同様な理由から、トランザクション終了レコードを有していないルーザートランザクションの更新ログもまたそのままスキップすることができる。
【0027】
既存の物理的なロギングではログレコードが生成された順序通りにリドゥーしなければならないので、生成された順序と同方向にログをスキャンする。あるトランザクションの終了ログレコードに出会う前にそのトランザクションの更新ログレコードに出会うようになっているため、そのトランザクションが完了したトランザクションであるか、撤回したトランザクションであるかが予め分からない。従って、一番目のスキャンでは全トランザクションの更新ログをリドゥーした後、逆方向に進行する二番目のスキャンで撤回したトランザクションのログをアンドゥーする。
【0028】
図8は本発明で他の更新演算の実行を中止させないままバックアップを生成するパージチェックポインティング過程に関する図面である。パージチェックポインティングは上記した一貫性のチェックポインティングとは異なり、チェックポインティングの途中にも他のトランザクションや演算の実行を許容する。
従って、パージチェックポインティングがディファレンシャルロギングと共に使用される場合、正確な回復のためには2つの同期化の問題が考慮されるべきである。
【0029】
第一に、チェックポインティングと更新演算とが同時に同一のページをバックアップし且つ更新している場合、そのページはその更新演算の更新前のイメージと更新後のイメージとが混合されたままバックアップディスクに保存されるので、正確な回復は不可能である。
この問題を解決するため、本発明はチェックポインティングと更新演算が接近しようとするページをロックした状態でバックアップするか更新させる。
【0030】
第二に、ある更新演算に対するログレコードが形成された後、その更新が発生したページがバックアップディスクに保存された時、システムの再開始時にそのログレコードを再びデータベースに適用すると正確な回復が不可能である。
即ち、事前イメージと事後イメージ間のディファレンシャルロギングが適用された後、事後イメージに再びディファレンシャルロギングを適用してしまう結果が出ることがある。この問題を解決するために、各ログレコードに対して再開始時にそのレコードをデータベースに適用すべきか否かが判断可能な情報が各ページ809と各ログレコードごとに″Backup ID″という名で保存される。
【0031】
図8を参照して、ディファレンシャルロギングを適用するためのパージチェックポインティング過程を説明する。
ディファレンシャルロギングを適用したパージチェックポインティング過程では、ダーティページに対するイメージを非同期的にバックアップディスクに反映する過程において、一般的なパージチェックポインティング過程とは異なった過程を行う。図8で、左側の部分は従来のパージチェックポインティング過程と同様であるので詳細な説明を省略し、ディファレンシャルロギングを適用するために行われる右側の部分に対して説明する。
【0032】
図8に示すように、まず、各ページに対してロックを獲得する(800)。ロックを獲得した状態でページ内の″Backup ID″フィールドを現在のバックアップ認識番号でセッティングする(801)。
現在、バックアップ認識番号に対応するダーティフラッグがセッティングされていない場合にはロックを解除する(805)。現在、バックアップ認識番号に対応するダーティフラッグがセッティングされていれば(802)、現在のバックアップ認識番号に対応するダーティフラッグをリセットし(803)、現在のページを現在のバックアップディスクに非同期的に記録した後(804)、ページに対するロックを解除する(805)。ロックを解除した後には従来のパージチェックポインティングのような過程が進行する。
【0033】
図9はディファレンシャルロギングが図8のパージチェックポインティングと共に使用されるための更新過程に関する図面である。
図9に示すように、まず、更新したいページに対するロックを獲得する(901)。上記したような2つの同期化の問題を解決するため、ロックを獲得した状態で、更新ログを生成し(902)、ページヘッダーの″Backup ID″フィールドをログヘッダーでコピーする(903)。コピーが行われると、ページを更新し(904)。ページヘッダーのダーティフラッグをセッティングする(905)。更新ログをログバッファに挿入すると(906)、ページに対するロックを解除する(907)。この過程で2つのバックアップに対して2つのダーティフラッグが各ページごとに管理される。
【0034】
図10はパージチェックポインティングにより生成されたバックアップからデータベースを復旧する、修正した二重経路ログの適用に関する図面である。
図3の二重経路ログの適用に比べて図10は、チェックポインティング開始ログのレコードから同一のチェックポインティングのチェックポインティング終了ログのレコードの間に記録されたログレコードに対して他の演算を行うという点が異なる。このログレコードに対しては、ページに保存された″Backup ID″とログレコードに保存された″Backup ID″とを比較する。この両値が同一であれば、そのページがバックアップされる前にそのログレコードが生成されたことを意味するので、ログレコードをページに適用しない。しかし、もし両値が相異すると、反対の場合を意味するので、ログレコードをページに適用する(1002)。チェックポイント終了ログの場合には図3と同様な過程を進ませる(1001)。
【0035】
図11は本発明でパージチェックポインティングにより生成されたバックアップからデータベースを復旧する、修正した単一経路ログの適用に関する図面である。図7の単一経路ログの適用に比べて図11は、チェックポインティング開始ログのレコードから同一のチェックポインティングのチェックポインティング終了ログレコードの間に記録されたログレコードに対して他の演算を行うという点が異なる。このログレコードに対しては、ページに保存された″Backup ID″とログレコードに保存された″Backup ID″とを比較する(1101)。この両値が同一であり且つ、そのログレコードが完了したトランザクションのログであれば、そのレコードはリドゥーされるべきである(1103)。仮に、両値が異なり且つ、そのログレコードが撤回したトランザクションのログであれば、そのレコードはアンドゥーされるべきである(1102)。残りの場合に対してはログレコードをスキップする。
【0036】
図12は本発明でログレコードを複数個のログディスクに分配して並列的なロギングを可能にさせるロギング構造の一実施形態に関する図面である。物理的なロギングとは異なり、ディファレンシャルロギングはその回復演算が交換的で且つ結合的であるため、任意のログディスクでログレコードを自由に分配させてもオーバーヘッドがかかることなく再開始することができる。この実施形態では、ログレコードがトランザクション識別番号を基準に複数個のログディスクに分配され、各ログディスク1203は互いに異なるログ管理者1201とログバッファ1202を有する。あるトランザクションが開始すると、ログ管理者は負荷が最も少ないログディスクにそのトランザクションを割り当てるし、後ほどそのトランザクションから発生するログレコードは割り当てられたログディスクに保存される。
【0037】
図13は本発明で複数個のログディスクから並列的に再開始する再開始構造の一実施形態に関する図面である。図2に示すように、再開始の過程はBR,BP,LR,LPの4つの段階から構成される。この実施形態では再開始の速度を高めるため3つの種類の並列化を導入する。一番目は、異なったバックアップローダー(BL)1302を各バックアップディスク1307ごとに生成して、パイプラインでBR1303とBP1301を行う方法である。この際、各BLは互いに独立的に動作する。二番目は、異なったログローダー(LL)1305を各ログディスク1308ごとに生成して、パイプラインでLR1306とLP1304を行う方法である。この際、各LLは互いに独立的に動作する。三番目は、BLとLLとが同時に実行されるようにする方法である。
【0038】
図14は本発明で複数個のログディスク及びバックアップディスクを使用して、できるだけ迅速にデータベースを再開始できる並列的な再開始過程に関する図面である。まず、データベースを0に初期化する(1401)。0はXOR演算の恒等元であるため、バックアップデータを主メモリーにコピーする代わりにXOR演算を行うことによってBPプロセスが行えるようにする。次いで、一つのバックアップディスクと一つのログディスクに対してそれぞれ一つのBLと一つのLLが生成され、独立的に動作する(1402,1403)。
【0039】
図15は図14の並列的な再開始の過程で使用されるバックアップローダー(BL)モジュールの一実施形態に関する図面である。BLはBRプロセス1504とBPプロセス1502をパイプラインで行う。BRプロセスはバックアップディスク1505から各ページを読み込んでページバッファ1503に保存し、BPプロセスはそのバッファから一ページずつ読み込んで主メモリーデータベースにXOR演算を通じて適用する(1501)。
【0040】
図16はシステムの再開始時に同一の時間の間一つのプロセッサが処理可能なログ量より一つのディスクが伝送できるログ量が多い時、図14の並列的な再開始の過程で使用されるログローダー(LL)モジュールの一実施形態に関する図面である。この実施形態では複数個のLPプロセス(1602)が同時に行われる。LLはLRとLPプロセスの他にも、LPプロセスが読み込んだログレコードを複数個のLPプロセスに分配してあげるプロセス1604を含む。この際、それぞれのLPプロセスは二重経路ログの適用である場合にはLTTを、単一経路ログの適用である場合にはCTTとATTを独立的に管理する(1601)。
【0041】
図17はシステムの再開始時に同一の時間の間一つのプロセッサが処理可能なログ量より一つのディスクが伝送できるログ量が少ない時、図14の並列的な再開始の過程で使用されるログローダー(LL)モジュールの一実施形態に関する図面である。図16の実施形態において、ディスパーチャープロセスはLPプロセスが増加するほど性能上の障害となる。また、それぞれのログレコードキューに対して、ログを入力及び出力する過程において、ロックしたりアンロックしたりするようなオーバーヘッドがかかる。このような問題を解決するため、この実施形態ではLPプロセスがログバッファに保存された各ログレコードが含めているトランザクション識別番号を読み込み、どんなLPプロセスで割り当てられるべきかを決定するようにする。一例として、3つのLPプロセスが存在する場合、一番目のプロセスはトランザクション識別番号を3に分けて、0が残るログレコードのみ持っていけるようにすることができる。この実施形態で各ログバッファは一つのカウンターを有するが、このカウンターはLRプロセスがログバッファにログを入力する毎にリセットするようにする。
そして、LPプロセスがその読み込んだバッファページを一回スキャンする時一つずつ増加するようにし、カウンターの値がLPプロセスの数と同一になった時、そのバッファページを捨てられる。
【0042】
上記では本発明の望ましい実施形態に基づいてその内容を記述したが、本発明はこの実施形態のみに限るものではない。
【0043】
【発明の効果】
本発明で新たに提案された技法のディファレンシャルロギングを用いる場合、ロギング性能及び再開始性能の顕著な向上を期待できる。ディファレンシャルロギングがそのような性能向上を可能にさせる最も大きな理由は、ディファレンシャルロギングの交換性と結合性にある。複数のログディスクと多重プロセッサが存在する環境で既存のロギング方式を使用する場合、正確な回復のためには、ロギング時に複数のログディスクを十分に活用できないか、再開始時にログの生成順序を把握するためのオーバーヘッドがかかる。
しかしながら、ディファレンシャルロギングを使用した場合、ログを任意にログディスクに分配可能であるので、複数のログディスクを十分に活用できるだけでなく、再開始時にもログ生成順序の把握のためのオーバーヘッドがかかることがない。
そして、再開始時に各ログディスク間の並列的な再開始が可能であるだけでなく、ログを処理する過程とバックアップデータベースをメモリーでアップする過程を並列的に行えるので、再開始時間の相当な節減が期待される。
【0044】
また、ディファレンシャルロギングではリドゥーとアンドゥーとの区分がないので、単一経路の再開始の技法が可能である。このような再開始の技法を用いる場合、CLRを形成する必要がなく、パージチェックポイント中でなければトランザクションの実行中に取り消されたものに対してはログをディスクに保存する必要がなくなる。従って、単一経路の再開始の技法は、再開始性能の向上だけでなく、トランザクション取り消し率の高い環境でロギング性能の向上にも寄与できる。
【0045】
ディファレンシャルロギングは変更前のイメージと変更後のイメージとを共に保存する物理的なロギングとは異なり、これらの間の差異のみを保存するので、物理的なロギングに比べてログ量を半分近く減らすことができる。また、ディファレンシャルログは変更された部分のみビット1に表れるので、RLE(Run Length Encoding)を使用すると早い速度で高い圧縮率が得られる。このようなログ量の減少はロギング性能と再開始性能の向上に寄与することができる。
【0046】
以上のようなディファレンシャルロギングの発明は電子商取引サーバー、工程制御、通信システムなどで使用される主メモリーデータ管理システムに活用され、ロギング及び再開始の性能を大きく向上させられることが期待させる。
【図面の簡単な説明】
【図1】
データベースを全て主メモリー上に保存する主メモリーデータベースシステムで使用される既存の回復構造に関する図面。
【図2】
システム障害の発生時に既存の回復構造で使用する再開始過程に関する図面。
【図3】
システムの再開始時に既存の回復構造で使用される二重経路ログの適用に関する図面。
【図4】
データベースで発生した更新演算から更新ログレコードを生成するために本発明で使用する構造に対する図面。
【図5】
本発明で再開始の過程中に更新ログレコードを用いて行うリドゥー又はアンドゥー演算を例示した図面。
【図6】
本発明のディファレンシャルロギング方式と既存の物理的なロギング方式とを比較した図面。
【図7】
本発明で一貫性チェックポインティング技法を用いて生成されたバックアップから、単一経路ログを適用することでデータベースを復旧する過程に関する図面。
【図8】
本発明で他の更新演算の実行を中止させないままバックアップを生成するパージチェックポインティング過程に関する図面。
【図9】
本発明でパージチェックポインティングと共に使用される更新過程に関する図面。
【図10】
本発明でパージチェックポインティングにより生成されたバックアップから、修正した二重経路ログを適用してデータベースを復旧する過程に関する図面。
【図11】
本発明でパージチェックポインティングにより生成されたバックアップから、修正した単一経路ログを適用してデータベースを復旧する過程に関する図面。
【図12】
本発明でログレコードを複数個のログディスクに分配して並列的なロギングを可能にさせるロギング構造の一実施形態に関する図面。
【図13】
本発明で複数個のログディスクから並列的に再開始する再開始構造の一実施形態に関する図面。
【図14】
本発明で複数個のログディスク及びバックアップディスクを使用してできるだけ迅速にデータベースを再開始できる並列的な再開始過程に関する図面。
【図15】
図14の並列的な再開始過程で使用されるバックアップローダー(BL)モジュールの一実施形態に関する図面。
【図16】
システムの再開始時に同一の時間の間一つのプロセッサが処理可能なログ量より一つのディスクが伝送できるログ量が多い時、図14の並列的な再開始の過程で使用されるログローダー(LL)モジュールの一実施形態に関する図面。
【図17】
システムの再開始時に同一の時間の間、一つのプロセッサが処理可能なログ量より一つのディスクが伝送できるログ量が少ない時、図14の並列的な再開始の過程で使用されるログローダー(LL)モジュールの一実施形態に関する図面。

Claims (36)

  1. データベースを主メモリーに保存し、主メモリーデータベースに対する並列的な回復のためにログレコードを保存するための一つ又は複数個のログディスクと、主メモリーデータベースを保存するための一つ又は複数個のバックアップディスクとを含む主メモリートランザクション処理システムのロギング方式において、ログレコードはある更新演算が行われる場合、これに対する更新前のイメージと更新後のイメージ間のXOR結果からなり、前記ログレコードとデータベースイメージ間のXOR演算を通じてシステムを復旧することを特徴とする主メモリーデータ管理システムで列的な回復演算のためのディファレンシャルロギング方法。
  2. 前記データベースは複数個の固定の大きさを有したページから構成されることを特徴とする請求項1記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  3. 前記ログレコードのログヘッダーはログの順次番号を保存する″LSN(Log Sequence Number)″、該当ログレコードを生成したトランザクションの一連番号を保存する″TID(Transaction ID)″、同一のトランザクションによって一番最近生成されたログの一連番号を保存する″Previous LSN″、ログレコードのタイプを保存する″Type″、パージチェックポインティングとの使用を可能にさせるため、ログレコードと更新されたページとの間の関係を保存する″Backup ID″、更新されたページの一連番号を保存する″Page ID″、更新されたページ内で更新された領域を示すための開始オフセットを保存する″Offset″及び、更新された領域の大きさを保存する″Size″を含むことを特徴とする請求項1記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  4. 前記XOR演算を通じたシステム復旧はチェックポインティング技法を用いて行われることを特徴とする請求項1記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  5. 前記チェックポインティングはトランザクション一貫性のチェックポインティング方式であることを特徴とする請求項4記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  6. 前記チェックポインティングは演算一貫性のチェックポインティング方式であることを特徴とする請求項4記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  7. 前記チェックポインティングはパージチェックポインティング方式であることを特徴とする請求項4記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  8. 前記チェックポインティングを用いたシステム復旧過程は一つ又は複数個のバックアップディスクからバックアップデータを主メモリーにローディングする段階及び、一つ又は複数個のログディスクからログを主メモリーにローディングする段階を含むことを特徴とする請求項4記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  9. 前記バックアップデータを主メモリーにローディングする段階及び、ログを主メモリーにローディングする段階は、データベースをパーティショニングして複数個のバックアップディスクに並列的にチェックポインティングを行い、また、並列的にローディングすることを特徴とする請求項8記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  10. 前記バックアップデータを主メモリーにローディングする段階及び、ログを主メモリーにローディングする段階は、一つ又は複数個のログディスクからログレコードを読み込み、これらを二重経路方式で適用して主メモリーデータベースを復旧することを特徴とする請求項8記載の方法。
  11. 前記二重経路方式を適用してログレコードを読み込む段階はパイプラインで行うことを特徴とする請求項10記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  12. 前記ログレコードを読み込む段階やこれらを適用する過程はパーティショニングにより並列的に行うことを特徴とする請求項10記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  13. 前記ログレコードを読み込む段階やこれらを適用する段階はパイプラインで行われ、パーティショニングにより並列的に行われることを特徴とする請求項10記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  14. 前記ログを主メモリーにローディングする段階は一つ又は複数個のログディスクからログレコードを読み込み、これらを単一経路の方式で適用し、主メモリーデータベースを復旧することを特徴とする請求項8記載の方法。
  15. ログレコードを読み込み、単一経路の方式でこれらを適用する段階はパイプラインで行うことを特徴とする請求項14記載の主メモリーデータベースを復旧することを特徴とする方法。
  16. 前記ログレコードを読み込み、単一経路の方式でこれらを適用する段階はパーティショニングにより並列的に行うことを特徴とする請求項14記載の主メモリーデータベースを復旧することを特徴とする方法。
  17. 前記ログレコードを読み込み、これらを適用する段階はパイプラインで行われ、パーティショニングにより並列的に行われることを特徴とする請求項14記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  18. 前記チェックポインティングを用いたシステム復旧過程の前に予め主メモリーデータベース領域を0に初期化する段階を更に含むことを特徴とする請求項8記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  19. 前記バックアップデータを主メモリーにローディングする段階は一つ又は複数個のバックアップディスクからバックアップデータを読み込み、これらをバックアップデータと主メモリーデータベース間のXOR演算を通じて適用することを特徴とする請求項18記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  20. 前記バックアップデータを読み込み、バックアップデータを適用する段階はパイプラインで行うことを特徴とする主メモリーデータベースを復旧することを特徴とする請求項19記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  21. 前記バックアップデータを読み込み、これらを適用する段階はパーティショニングによって並列的に行うことを特徴とする請求項19記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  22. 前記バックアップデータを読み込み、これらを適用する段階はパーティショニングによって並列的に行い、パイプラインで行うことを特徴とする請求項19記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  23. 前記バックアップデータをローディングする段階及び、ログをローディングする段階は並列化することを特徴とする請求項19記載の主メモリーデータ管理システムで並列的な回復演算のためのディファレンシャルロギング方法。
  24. データベースを保存するための主メモリー、主メモリーデータベースの並列的な回復のためのログレコードを保存する一つ又は複数個のログディスク、主メモリーデータベースのコピー本を保存する一つ又は複数個のバックアップディスク、ある更新演算が行われる場合、これに対する更新前のイメージと更新後のイメージ間のXOR結果をログ本体に保存するログを生成するための手段及び、ディファレンシャルログとデータベースイメージ間のXORからなり、ディファレンシャルログレコードとデータベースイメージ間のXOR演算を通じてシステムを復旧する手段とを含むことを特徴とする主メモリートランザクション処理システム。
  25. 前記データベースは複数個の固定の大きさを有したページを含むことを特徴とする請求項24記載の主メモリートランザクション処理システム。
  26. 一つ又は複数個のバックアップディスクにデータベースをバックアップするチェックポインティング手段を更に含むことを特徴とする請求項24記載の主メモリートランザクション処理システム。
  27. 前記チェックポインティング手段はトランザクション一貫性のチェックポインティング方式を使用することを特徴とする請求項26記載の主メモリートランザクション処理システム。
  28. 前記チェックポインティング手段は演算一貫性のチェックポインティング方式を使用することを特徴とする請求項26記載の主メモリートランザクション処理システム。
  29. 前記チェックポインティング手段はパージチェックポインティング方式を使用することを特徴とする請求項26記載の主メモリートランザクション処理システム。
  30. 前記チェックポインティング手段は再開始の過程時に一つ又は複数個のバックアップディスクからバックアップデータを主メモリーにローディングする手段及び、一つ又は複数個のログディスクからログを主メモリーにローディングする手段とを含むことを特徴とする請求項26記載の主メモリートランザクション処理システム。
  31. 前記バックアップデータを主メモリーにローディングする手段は、一つ又は複数個のバックアップデータからバックアップデータを読み込む手段と、これらをバックアップデータと主メモリーデータベース間のXOR演算を通じて適用する手段とを含むことを特徴とする請求項30記載の主メモリートランザクション処理システム。
  32. 前記ログをローディングする手段はログレコードを一つ又は複数個のログディスクから読み込む手段と、読み込んだログレコードを二重経路で主メモリーデータベースに適用する手段とを含むことを特徴とする請求項30記載の主メモリートランザクション処理システム。
  33. 前記ログをローディングする手段はログレコードを一つ又は複数個のログディスクから読み込む手段と、読み込んだログレコードを単一経路で主メモリーデータベースに適用する手段とを含むことを特徴とする請求項30記載の主メモリートランザクション処理システム。
  34. 主メモリーデータベースの並列的な回復のためのログレコードを保存する一つ又は複数個のログディスクと、主メモリーデータベースの一つのコピー本を保存する一つ又は複数個のバックアップディスクを備えたシステムにおいて、また、主メモリートランザクション処理システムにおいて、ある更新演算が行われる場合、これに対する更新前のイメージと更新後のイメージ間のXOR結果をログ本体に保存するログを生成する機能及び、前記生成されたログレコードとデータベースイメージ間のXOR演算を通じてシステムを復旧する機能を実現させるためのプログラムを記録したコンピュータで読み込める記録媒体。
  35. 前記記録媒体がCDであることを特徴とする請求項34記載の記録媒体。
  36. 前記記録媒体が磁気テープであることを特徴とする請求項34記載の記録媒体。
JP2002503047A 2000-06-07 2000-12-28 主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法及び装置 Expired - Lifetime JP4813004B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR10-2000-0031166A KR100390853B1 (ko) 2000-06-07 2000-06-07 주 메모리 트랜잭션 처리 시스템에서 병렬적 회복 연산을 위한 디퍼런셜 로깅 방법 및 장치
KR2000/31166 2000-06-07
PCT/KR2000/001542 WO2001095640A2 (en) 2000-06-07 2000-12-28 A method and system for highly-parallel logging and recovery operation in main-memory transaction processing systems

Publications (2)

Publication Number Publication Date
JP2004501449A true JP2004501449A (ja) 2004-01-15
JP4813004B2 JP4813004B2 (ja) 2011-11-09

Family

ID=19671343

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002503047A Expired - Lifetime JP4813004B2 (ja) 2000-06-07 2000-12-28 主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法及び装置

Country Status (9)

Country Link
US (1) US7065537B2 (ja)
EP (1) EP1320802B1 (ja)
JP (1) JP4813004B2 (ja)
KR (1) KR100390853B1 (ja)
CN (1) CN1205550C (ja)
AT (1) ATE292304T1 (ja)
AU (1) AU2001224081A1 (ja)
DE (1) DE60019173T2 (ja)
WO (1) WO2001095640A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635914B2 (en) 2020-07-30 2023-04-25 International Business Machines Corporation Locating data within tape systems using sub dataset headers

Families Citing this family (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7114049B2 (en) 1997-01-08 2006-09-26 Hitachi, Ltd. Adaptive remote copy in a heterogeneous environment
JP4689137B2 (ja) 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US7167962B2 (en) 1999-08-19 2007-01-23 Hitachi, Ltd. Remote copy for a storage controller with reduced data size
US7194590B2 (en) * 2001-02-28 2007-03-20 Hitachi, Ltd. Three data center adaptive remote copy
US7143252B2 (en) * 2001-05-10 2006-11-28 Hitachi, Ltd. Storage apparatus system and method of data backup
US7213114B2 (en) 2001-05-10 2007-05-01 Hitachi, Ltd. Remote copy for a storage controller in a heterogeneous environment
US20030041097A1 (en) * 2001-07-11 2003-02-27 Alexander Tormasov Distributed transactional network storage system
US7565379B2 (en) * 2002-08-01 2009-07-21 Edwina Lu Preventing change cycling using rules and redo tags in a redo log
JP3974538B2 (ja) 2003-02-20 2007-09-12 株式会社日立製作所 情報処理システム
CA2422176C (en) * 2003-03-14 2009-07-21 Ibm Canada Limited - Ibm Canada Limitee Method and apparatus for interrupting updates to a database to provide read-only access
US7380082B2 (en) * 2003-03-25 2008-05-27 Emc Corporation Reading virtual ordered writes at local storage device
US7181476B2 (en) 2003-04-30 2007-02-20 Oracle International Corporation Flashback database
US7484096B1 (en) 2003-05-28 2009-01-27 Microsoft Corporation Data validation using signatures and sampling
US7457791B1 (en) 2003-05-30 2008-11-25 Microsoft Corporation Using invariants to validate applications states
US8365193B2 (en) * 2003-08-14 2013-01-29 Oracle International Corporation Recoverable asynchronous message driven processing in a multi-node system
US7281023B2 (en) * 2003-12-15 2007-10-09 At&T Knowledge Ventures, L.P. Architecture of database application with robust online recoverability
US7650606B2 (en) * 2004-01-30 2010-01-19 International Business Machines Corporation System recovery
US7366801B2 (en) * 2004-01-30 2008-04-29 International Business Machines Corporation Method for buffering work requests
US8140348B2 (en) * 2004-01-30 2012-03-20 International Business Machines Corporation Method, system, and program for facilitating flow control
US20050181789A1 (en) * 2004-02-10 2005-08-18 Yach David P. Apparatus, and associated method, for locking and identifying a change list used pursuant to database synchronization operations in a radio communication system
US7334002B2 (en) * 2004-02-27 2008-02-19 Microsoft Corporation System and method for recovery units in databases
CN100375047C (zh) * 2004-03-17 2008-03-12 联想(北京)有限公司 一种计算机日志的管理方法
JP4452533B2 (ja) * 2004-03-19 2010-04-21 株式会社日立製作所 システムおよび記憶装置システム
US7484051B2 (en) * 2004-06-14 2009-01-27 International Business Machines Corporation Apparatus, system and method for reliably updating a data group in a read-before-write data replication environment using a comparison file
US7797483B1 (en) * 2004-06-23 2010-09-14 Emc Corporation Write interceptor for tracking changes to disk image
US20060020594A1 (en) * 2004-07-21 2006-01-26 Microsoft Corporation Hierarchical drift detection of data sets
US7613875B2 (en) * 2004-12-29 2009-11-03 Intel Corporation Apparatus and method for incremental package deployment
CN100369038C (zh) * 2005-02-24 2008-02-13 中兴通讯股份有限公司 一种实时数据库事务操作的实现方法
US8380686B2 (en) * 2005-03-14 2013-02-19 International Business Machines Corporation Transferring data from a primary data replication appliance in a primary data facility to a secondary data replication appliance in a secondary data facility
US8396746B1 (en) * 2005-03-18 2013-03-12 Google Inc. Privacy preserving personalized advertisement delivery system and method
US7555502B2 (en) * 2006-03-10 2009-06-30 Oracle International Corporation Detecting database events using recovery logs
CA2652115C (en) * 2006-05-12 2015-11-17 Goldengate Software, Inc. Apparatus and method for read consistency in a log mining system
JP4842703B2 (ja) * 2006-05-18 2011-12-21 株式会社日立製作所 ストレージシステム及びそのリカバリボリューム作成方法
CN100449501C (zh) * 2006-09-21 2009-01-07 上海交通大学 计算机网络数据恢复的方法
US7765361B2 (en) * 2006-11-21 2010-07-27 Microsoft Corporation Enforced transaction system recoverability on media without write-through
WO2008078207A2 (en) * 2006-12-22 2008-07-03 International Business Machines Corporation System and method for recovery of memory transactions
KR101431296B1 (ko) * 2007-01-11 2014-08-20 레드 밴드 리미티드 저장 장치에 저장된 컨텐츠의 인-플레이스 업데이트 방법 및 시스템
US20080222111A1 (en) * 2007-03-07 2008-09-11 Oracle International Corporation Database system with dynamic database caching
US7925630B1 (en) * 2007-03-30 2011-04-12 Symantec Corporation Method of inserting a validated time-image on the primary CDP subsystem in a continuous data protection and replication (CDP/R) subsystem
US9027025B2 (en) * 2007-04-17 2015-05-05 Oracle International Corporation Real-time database exception monitoring tool using instance eviction data
CN100464334C (zh) * 2007-06-06 2009-02-25 中国工商银行股份有限公司 应用于数据仓库的数据增量备份与恢复的方法
CN100454265C (zh) * 2007-06-07 2009-01-21 华为技术有限公司 镜像恢复方法、存储设备及网络系统
CN101251814B (zh) * 2008-02-04 2010-04-07 浙江大学 一种在操作系统中实现可信恢复系统的方法
WO2009107507A1 (en) * 2008-02-29 2009-09-03 Kabushiki Kaisha Toshiba Memory system
JP2009211215A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
CN101282207B (zh) * 2008-06-05 2012-06-27 成都市华为赛门铁克科技有限公司 数据更新的记录方法、装置和数据备份系统
KR101583716B1 (ko) * 2009-01-30 2016-01-08 삼성전자주식회사 비트 로깅을 이용한 데이터 복구 방법 및 그 장치
US9128895B2 (en) * 2009-02-19 2015-09-08 Oracle International Corporation Intelligent flood control management
US8281185B2 (en) * 2009-06-30 2012-10-02 Oracle America, Inc. Advice-based feedback for transactional execution
CN101625655B (zh) * 2009-08-20 2011-05-25 华中科技大学 一种内存数据库的并行恢复方法
US9165086B2 (en) 2010-01-20 2015-10-20 Oracle International Corporation Hybrid binary XML storage model for efficient XML processing
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
US8930321B2 (en) 2010-06-30 2015-01-06 Microsoft Corporation Logical recovery with unbundled transaction services
US8589361B2 (en) 2010-08-30 2013-11-19 Oracle International Corporation Reduced disk space standby
US8458530B2 (en) 2010-09-21 2013-06-04 Oracle International Corporation Continuous system health indicator for managing computer system alerts
IL208641A0 (en) * 2010-10-12 2010-12-30 Eci Telecom Ltd Method for accelerating start up of a computerized system
CN102456036A (zh) * 2010-10-20 2012-05-16 金蝶软件(中国)有限公司 一种操作撤销方法及系统
US8527546B2 (en) 2010-11-25 2013-09-03 International Business Machines Corporation Generating a checkpoint image for use with an in-memory database
US8688645B2 (en) * 2010-11-30 2014-04-01 Netapp, Inc. Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith
US8868514B2 (en) 2011-01-07 2014-10-21 Microsoft Corporation Transaction support for distributed data
US8818960B2 (en) * 2011-03-18 2014-08-26 Microsoft Corporation Tracking redo completion at a page level
US8719232B2 (en) * 2011-06-30 2014-05-06 Verisign, Inc. Systems and methods for data integrity checking
US9155320B2 (en) 2011-07-06 2015-10-13 International Business Machines Corporation Prefix-based leaf node storage for database system
CN103092742B (zh) 2011-10-31 2015-08-19 国际商业机器公司 程序日志记录优化方法和系统
US9092499B2 (en) 2012-01-20 2015-07-28 Blackberry Limited Synchronizing endpoint data stores having disparate schemas
US9075758B2 (en) 2012-03-19 2015-07-07 Samsung Electronics Co., Ltd. Removable storage device with transactional operation support and system including same
KR101984495B1 (ko) * 2012-03-19 2019-05-31 삼성전자 주식회사 이동식 저장 장치 및 이를 포함하는 시스템
US9003162B2 (en) 2012-06-20 2015-04-07 Microsoft Technology Licensing, Llc Structuring storage based on latch-free B-trees
US9619539B2 (en) * 2012-09-28 2017-04-11 Vmware, Inc. Automated document replication in a distributed computing system
US9129416B2 (en) * 2012-11-14 2015-09-08 Microsoft Technology Licensing, Llc Digital art undo and redo
US9304998B2 (en) 2012-12-19 2016-04-05 Microsoft Technology Licensing, Llc Main-memory database checkpointing
US9501501B2 (en) * 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
US9436561B2 (en) 2013-03-28 2016-09-06 Microsoft Technology Licensing, Llc Recovery processing using torn write detection
US9483361B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Information management cell with failover management capability
US9519591B2 (en) * 2013-06-22 2016-12-13 Microsoft Technology Licensing, Llc Latch-free, log-structured storage for multiple access methods
EP3039553A1 (en) 2013-08-29 2016-07-06 Hewlett Packard Enterprise Development LP Separating storage transaction logs
US9246935B2 (en) 2013-10-14 2016-01-26 Intuit Inc. Method and system for dynamic and comprehensive vulnerability management
US9313281B1 (en) 2013-11-13 2016-04-12 Intuit Inc. Method and system for creating and dynamically deploying resource specific discovery agents for determining the state of a cloud computing environment
US9558229B2 (en) * 2013-11-26 2017-01-31 Sap Se Transaction private log buffering for high performance of transaction processing
US9390239B2 (en) 2013-12-20 2016-07-12 Sap Se Software system template protection
US9501345B1 (en) 2013-12-23 2016-11-22 Intuit Inc. Method and system for creating enriched log data
US9323926B2 (en) 2013-12-30 2016-04-26 Intuit Inc. Method and system for intrusion and extrusion detection
CN103793297B (zh) * 2014-01-14 2017-10-20 上海上讯信息技术股份有限公司 基于分发模式的日志保护方法
US20150304343A1 (en) 2014-04-18 2015-10-22 Intuit Inc. Method and system for providing self-monitoring, self-reporting, and self-repairing virtual assets in a cloud computing environment
US9325726B2 (en) 2014-02-03 2016-04-26 Intuit Inc. Method and system for virtual asset assisted extrusion and intrusion detection in a cloud computing environment
US10757133B2 (en) 2014-02-21 2020-08-25 Intuit Inc. Method and system for creating and deploying virtual assets
US9866581B2 (en) 2014-06-30 2018-01-09 Intuit Inc. Method and system for secure delivery of information to computing environments
US9276945B2 (en) 2014-04-07 2016-03-01 Intuit Inc. Method and system for providing security aware applications
US9471439B2 (en) * 2014-03-13 2016-10-18 Sybase, Inc. Systems and methods for reducing load database time
WO2015140842A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 システムを監視する情報処理装置及び監視方法
US9245117B2 (en) 2014-03-31 2016-01-26 Intuit Inc. Method and system for comparing different versions of a cloud based application in a production environment using segregated backend systems
US9563518B2 (en) 2014-04-02 2017-02-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US11294700B2 (en) 2014-04-18 2022-04-05 Intuit Inc. Method and system for enabling self-monitoring virtual assets to correlate external events with characteristic patterns associated with the virtual assets
CN105022676B (zh) * 2014-04-22 2018-08-17 大唐软件技术股份有限公司 一种内存数据库重做日志文件的恢复方法和装置
US9374389B2 (en) 2014-04-25 2016-06-21 Intuit Inc. Method and system for ensuring an application conforms with security and regulatory controls prior to deployment
US9319415B2 (en) 2014-04-30 2016-04-19 Intuit Inc. Method and system for providing reference architecture pattern-based permissions management
US9900322B2 (en) 2014-04-30 2018-02-20 Intuit Inc. Method and system for providing permissions management
US9330263B2 (en) 2014-05-27 2016-05-03 Intuit Inc. Method and apparatus for automating the building of threat models for the public cloud
US9934008B2 (en) * 2014-06-18 2018-04-03 Netapp, Inc. Methods for facilitating persistent storage of in-memory databases and devices thereof
US20160019117A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Creating customized bootable image for client computing device from backup copy
US9514211B2 (en) 2014-07-20 2016-12-06 Microsoft Technology Licensing, Llc High throughput data modifications using blind update operations
US9473481B2 (en) 2014-07-31 2016-10-18 Intuit Inc. Method and system for providing a virtual asset perimeter
US10102082B2 (en) 2014-07-31 2018-10-16 Intuit Inc. Method and system for providing automated self-healing virtual assets
CN105376269B (zh) * 2014-08-11 2019-11-26 中国电信股份有限公司 虚拟机存储系统及其实现方法和装置
KR101690282B1 (ko) * 2014-11-12 2016-12-27 주식회사 알티베이스 테이블스페이스 속성 변경 방법 및 그 장치
CN105045679B (zh) * 2015-07-08 2018-01-30 安徽兆尹信息科技股份有限公司 一种用于金融管理网络系统的数据库备份与恢复方法
US9858310B2 (en) * 2015-09-14 2018-01-02 Sap Se Maintaining in-memory database consistency by parallelizing persistent data and log entries
CN105335098B (zh) * 2015-09-25 2019-03-26 华中科技大学 一种基于存储级内存的日志文件系统性能提高方法
US9747174B2 (en) 2015-12-11 2017-08-29 Microsoft Technology Licensing, Llc Tail of logs in persistent main memory
US9965538B2 (en) 2016-01-19 2018-05-08 Microsoft Technology Licensing, Llc Early thread return with secondary event writes
US10140150B2 (en) 2016-02-08 2018-11-27 Microsoft Technology Licensing, Llc Thread diversion awaiting log call return
US10474548B2 (en) 2016-09-30 2019-11-12 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines
CN108228678B (zh) 2016-12-22 2020-10-16 华为技术有限公司 一种多副本数据恢复方法及装置
CN108228382B (zh) * 2018-01-11 2021-08-10 成都信息工程大学 一种针对evenodd码单盘故障的数据恢复方法
US10572184B2 (en) * 2018-01-11 2020-02-25 International Business Machines Corporation Garbage collection in data storage systems
US20190354470A1 (en) * 2018-05-16 2019-11-21 Sap Se Reduced Database Backup Memory Usage
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US11416485B2 (en) 2019-03-28 2022-08-16 Sap Se Dynamic query expressions
US11360977B2 (en) 2019-04-01 2022-06-14 Sap Se Selectively allowing query optimization in query processing
CN110543386B (zh) * 2019-09-16 2022-06-10 上海达梦数据库有限公司 一种数据存储方法、装置、设备和存储介质
US11237924B2 (en) 2019-12-11 2022-02-01 Commvault Systems, Inc. Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager
CN113805798A (zh) * 2021-08-06 2021-12-17 卡斯柯信号有限公司 车载日志的空间优化存储方法、装置、电子设备及介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5375128A (en) * 1990-10-18 1994-12-20 Ibm Corporation (International Business Machines Corporation) Fast updating of DASD arrays using selective shadow writing of parity and data blocks, tracks, or cylinders
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
KR950011056B1 (ko) * 1992-12-22 1995-09-27 재단법인한국전자통신연구소 트랜잭션 처리시스템의 로그/회복관리방법
JPH06266597A (ja) * 1993-03-11 1994-09-22 Fujitsu Ltd ログ取得方式
JPH0812653B2 (ja) * 1993-07-19 1996-02-07 日本電気株式会社 トランザクション処理システム
US5594862A (en) * 1994-07-20 1997-01-14 Emc Corporation XOR controller for a storage subsystem
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
US5721918A (en) * 1996-02-06 1998-02-24 Telefonaktiebolaget Lm Ericsson Method and system for fast recovery of a primary store database using selective recovery by data type
US5893165A (en) * 1996-07-01 1999-04-06 Sun Microsystems, Inc. System and method for parallel execution of memory transactions using multiple memory models, including SSO, TSO, PSO and RMO
KR19980049353A (ko) * 1996-12-19 1998-09-15 양승택 분산 트랜잭션의 회복방법
US5878414A (en) * 1997-06-06 1999-03-02 International Business Machines Corp. Constructing a transaction serialization order based on parallel or distributed database log files
US6185577B1 (en) * 1998-06-23 2001-02-06 Oracle Corporation Method and apparatus for incremental undo
US6269381B1 (en) * 1998-06-30 2001-07-31 Emc Corporation Method and apparatus for backing up data before updating the data and for restoring from the backups
US6374264B1 (en) * 1998-09-04 2002-04-16 Lucent Technologies Inc. Method and apparatus for detecting and recovering from data corruption of a database via read prechecking and deferred maintenance of codewords
US6327671B1 (en) * 1998-11-18 2001-12-04 International Business Machines Corporation Delta compressed asynchronous remote copy
US6513093B1 (en) * 1999-08-11 2003-01-28 International Business Machines Corporation High reliability, high performance disk array storage system
US6618822B1 (en) * 2000-01-03 2003-09-09 Oracle International Corporation Method and mechanism for relational access of recovery logs in a database system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11635914B2 (en) 2020-07-30 2023-04-25 International Business Machines Corporation Locating data within tape systems using sub dataset headers

Also Published As

Publication number Publication date
KR20010112529A (ko) 2001-12-20
WO2001095640A2 (en) 2001-12-13
KR100390853B1 (ko) 2003-07-10
AU2001224081A1 (en) 2001-12-17
EP1320802A2 (en) 2003-06-25
US20020116404A1 (en) 2002-08-22
CN1454349A (zh) 2003-11-05
US7065537B2 (en) 2006-06-20
DE60019173T2 (de) 2006-01-26
EP1320802B1 (en) 2005-03-30
DE60019173D1 (de) 2005-05-04
ATE292304T1 (de) 2005-04-15
JP4813004B2 (ja) 2011-11-09
CN1205550C (zh) 2005-06-08
WO2001095640A3 (en) 2002-11-14

Similar Documents

Publication Publication Date Title
JP4813004B2 (ja) 主メモリートランザクション処理システムで並列的な回復演算のためのディファレンシャルロギング方法及び装置
US6061769A (en) Data set backup in a shared environment
EP0465019B1 (en) Method and apparatus for managing state identifiers for efficient recovery
EP0465018B1 (en) Method and apparatus for optimizing undo log usage
US5278982A (en) Log archive filtering method for transaction-consistent forward recovery from catastrophic media failures
US6993537B2 (en) Data recovery system
US5884328A (en) System and method for sychronizing a large database and its replica
US7107294B2 (en) Method and apparatus for interrupting updates to a database to provide read-only access
US6578041B1 (en) High speed on-line backup when using logical log operations
US4868744A (en) Method for restarting a long-running, fault-tolerant operation in a transaction-oriented data base system without burdening the system log
US6185699B1 (en) Method and apparatus providing system availability during DBMS restart recovery
US6493826B1 (en) Method and system for fault tolerant transaction-oriented data processing system
US7509351B2 (en) Logical logging to extend recovery
US20070100912A1 (en) Apparatus and method for creating a real time database replica
US11010256B1 (en) Method and system for implementing current, consistent, and complete backup copy by rolling a change log backwards against a storage device
US6944635B2 (en) Method for file deletion and recovery against system failures in database management system
JPS63307551A (ja) 先書きロギング型のトランザクシヨン向けシステム中のロールバツク方法
US6038569A (en) System for data structure loading with concurrent image copy
GB2301910A (en) Management of records on a computer system recovery log
JP2003223350A (ja) データベースシステム
EP0834128B1 (en) Data set backup in a shared environment
Lomet High speed on-line backup when using logical log operations
Bhattacharyya Database Management Systems
Satkar Crash Recovery.
Gukal et al. LU Logging-An E cient Transaction Recovery Method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060929

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061228

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070328

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090220

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090401

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110704

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110824

R150 Certificate of patent or registration of utility model

Ref document number: 4813004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070328

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081017

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term