JP2007531155A - データベースバックアップの整合性チェックのためのシステムおよび方法 - Google Patents

データベースバックアップの整合性チェックのためのシステムおよび方法 Download PDF

Info

Publication number
JP2007531155A
JP2007531155A JP2007506124A JP2007506124A JP2007531155A JP 2007531155 A JP2007531155 A JP 2007531155A JP 2007506124 A JP2007506124 A JP 2007506124A JP 2007506124 A JP2007506124 A JP 2007506124A JP 2007531155 A JP2007531155 A JP 2007531155A
Authority
JP
Japan
Prior art keywords
database
backup
page
pages
view
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
JP2007506124A
Other languages
English (en)
Other versions
JP4598055B2 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2007531155A publication Critical patent/JP2007531155A/ja
Application granted granted Critical
Publication of JP4598055B2 publication Critical patent/JP4598055B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • 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
    • 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/99955Archiving or backup

Abstract

データベースのデータベースバックアップに対する整合性チェックを実行するための方法が、データベースバックアップからの元のデータベースの完全な回復を要することなしに実行される。代わりに、データベースビューが、既存の完全なデータベースバックアップの諸部分のトランザクション整合性のあるビューを提供するためのより小さいストレージ要件のツールとして使用されることが可能である。データベースビューは、データベースバックアップおよびトランザクションログとの組合せで、データベースバックアップからの元のデータベースの完全な再構成なしにデータベースバックアップに対して整合性チェックを実行するのに必要な、すべての情報を含む。整合性チェックは、データベースバックアップとともにデータベースビューに対して実行されて、完全なデータベースバックアップの整合性を確認し、データベース回復スキームに向上した信頼性を加えることが可能である。

Description

本出願は、参照により全体が本明細書に組み込まれている、2004年3月31日に出願した米国特許出願第10/814459号の優先権を主張する。
次の引用文献の一部の主題が、本出願と共通する。すなわち、
本発明は、一般に、コンピュータデータベースの分野に関する。より詳細には、本発明は、データベースバックアップ整合性確認システムに関する。
最新のデータベースは、クリティカルな商取引を把握しておくのにユーザを支援する重要なツールになり得る。多くのケースで、データベース損失は、企業に被害甚大(disastrous)である可能性がある。データベース損失は、多数の原因から、すなわち、データベースに関する他のサポート構造のいずれかに影響を与えるハードウェア障害、ソフトウェア障害、設備障害、または自然災害から突然生じる可能性がある。このため、損失後のデータベース回復は、適切なデータベース管理の重要な態様である。データベース管理の一態様では、毎週などの、定期的な間隔で完全なデータベースバックアップが通常、行われて、回復のためのバックボーンを提供する。機能する完全なデータベースバックアップを有することは、データベース損失直前の日にデータベースを回復するのに必要とされる部分的な差分の1日単位のデータベースバックアップを適用するための要件である。
通常、データベース管理者は、週単位の完全なデータベースバックアップを行い、そのバックアップを何らかのタイプの媒体に格納する。しばしば、その媒体は、磁気テープである。この週単位の完全なデータベースバックアップが、データベースに関する回復機構のバックボーンである。しかし、媒体に格納されたデータベースバックアップが壊れているか否かについての疑問が残る可能性がある。壊れたデータベースバックアップは、完全には回復可能でない可能性がある。データベースバックアップの存立の可能性(viability)を検査する1つの従来技術の方法は、元のデータベースの第2の作業コピーにデータベースバックアップを再構成して、そのデータベースに対して試験を実行することである。この方法は、最新のデータベースがテラバイトサイズである可能性があるため、リソースの点で高価である。しばしば、企業には、データベースバックアップ整合性チェックが実行される未使用の第2のテラバイトのディスク、またはランダムアクセス記憶媒体が、偶然に用意されてはいない可能性がある。しかし、そのような整合性チェックは、データベースバックアップ戦略の信頼性に不可欠である。
データベースに対するそれらの不可欠な試験には、データベースの内部のリンクされたデータ構造に対する試験が含まれる可能性がある。Bツリーなどのリンクされたデータ構造は、効率的で、秩序立てられたデータ格納、データ操作、およびデータ取得を円滑にするデータの論理的構成である。リンクされたデータ構造の基本的なコンポーネントは、要素またはノードとして知られる。リンクされたデータ構造内の個々のノードは、ノードのリンクされた構造における隣接ノード群を明らかにする、つまり「ポイントする」ポインタと呼ばれる特別なフィールドによって一緒にリンクされる。また、ポインタは、ときとして、参照とも呼ばれる。
リンクされたデータ構造の各ノードは、リンクされたデータ構造の論理的に隣接するノード群が必ずしも記憶装置上の隣接する物理的場所の中に格納されていないため、正確に表されなければならない。記憶媒体上で1つのノードから次のノードに物理的に近接している保証がないので、無効なポインタが存在する場合、いずれのノードが実際に、リンクされたデータ構造内の次の論理的ノードであるかを知ることが困難である。このため、リンクされたデータ構造内の次の論理的ノードを正しくポイントしないポインタは、リンクされたデータ構造全体を信頼できず、使用できないものにする可能性がある。
図1は、複数のリンクを示し、複数のポインタを要求するデータベース内の基本的なBツリー構造を示す。データベースノードA、B、C、D、およびE(それぞれ102、104、106、108、110)は、ポインタを介してサポートされる、互いに対する階層的関係を有することが可能である。例えば、ルートノード、A102は、それぞれポインタ152および154を有する2つの子ノードB104およびC106を有する。ノードBおよびノードCは、兄弟であり、前方(forward)ポインタ156および後方(back)ポインタ158を有することが可能である。リーフノードD108およびE110は、ノードB104の子ノードであり、BとDの間に前方ポインタ160および後方ポインタ162を有し、BとEの間にポインタ164およびポインタ166を有することも可能である。ノードBおよびノードEは、互いに兄弟であり、前方ポインタ168および後方ポインタ170を有することが可能である。ノードBとノードEの間のポインタ164、およびノードDとノードEの間のポインタ168が失われた、または誤っている場合、ノードBから、またはノードDからノードEへのリンクが失われる。これは、データベース内の対応するデータ関連の損失をもたらす。
一般に、リンクされたデータ構造内のいずれかのポインタが壊れ、または別の形で無効になり、したがって、ポインタが、次のノードまたは子ノードとして意図されているものを正しくポイントしない場合、データ構造全体の整合性が損なわれる。損なわれたデータ構造は、信頼することも、使用することもできない。いくつかのノードだけを有する小さいリンクされたデータ構造内で無効なポインタを識別することは可能であるが、このタスクは、数百万のノードを有する大きいリンクされたデータ構造の場合、非常に複雑になり、時間および/またはコンピューティングリソースの点で高価になり、ノードの間に複数の無効なポインタが存在する場合、さらに困難になる。
したがって、データベース内のそのようなポインタの整合性を確認することがきわめて重要である。さらに、データベースバックアップに対して整合性チェックを実行して、データベースバックアップの整合性を確認し、完全な回復が可能であることを保証することがきわめて重要である。しかし、データベースのバックアップに対して整合性チェックを実行することに実際的な問題が存在する可能性がある。
図2は、データファイル205、206、208、およびログファイル210を含む通常のデータベース200を示す。データファイルは、ページとも呼ばれる記憶ブロックにさらに分割される。これらの記憶ブロックは、データベース内でレコードを保持し、Bツリーなどのリンクされたデータ構造に関連するノード群を保持する。データベース200の通常のデータベースバックアップ250は、データベース200を構成するリテラル(literal)データファイル205、206、208の全部のバックアップを必ずしも含まない可能性がある。代わりに、データベースバックアップは、何らかの、場合により異なる順序およびフォーマットのデータファイルから、現在、使用中のブロックを含むだけでよい。例えば、データベースバックアップ250は、元のデータベース200内のデータファイル205〜208のバックアップである、バックアップファイル220を含む。データファイル205は、何千ものページを含む可能性があるが、数ページ(「データファイル:ページ」という記述的な数字表記法を使用して図2に示す)だけが、データベース200によって使用される可能性がある。図2の実施例では、データベースバックアップ250内のバックアップファイル220は、データファイル205からの2つのページ、すなわち、205:3および205:2だけを含む。同様の状況が、データファイル206およびデータファイル208に関しても存在することが可能である。このため、データベースバックアップは、整合性チェックを実行するための都合のよい、または適合した環境または形態ではない可能性がある。ログファイル210Aが、一般に、データベース200のデータベースバックアップ250に関連付けられて、データベースバックアップが記憶媒体上に置かれている時点でデータベース200を変更したトランザクションの詳細を提供することが可能である。
従来技術の原理を使用して、データベースバックアップをチェックするのに、データベースが、データベースバックアップから再構成されなければならず、トランザクションログが、再構成されたデータベースバックアップに適用されて、データベースバックアップ操作が完了した時点で存在していた状態にデータベースを回復させなければならず、その後、整合性チェックが実行されなければならない。データベースバックアップのこのタイプの確認を実行するのに要求されるディスクスペースまたはランダムアクセスストレージスペースは、元のデータベースと少なくとも同程度に大きく、大量の時間を要する。というのは、従来技術の整合性チェックは、リンクするポインタなどのアイテムの確認、ならびにストレージ割り当てマップおよびデータベーススキーマメタデータを含むページの探索の際に、データベースの複数回の走査(mutiple passes)を要するため、時間がかかるからである。このタスクは、データベースバックアップのためにテープなどの順次媒体(sequential media)が使用される場合、さらに険悪(ominous)となる。
このため、完全なデータベースバックアップの整合性を確認するストレージスペースと時間の効率のよい方法を可能にするシステムまたは方法の必要性が存在する。本発明は、前述した必要性に対処し、本明細書で述べる追加の利点を伴って、それらの必要性を解決する。
このため、完全なデータベースバックアップの整合性を確認するストレージスペースと時間の効率のよい方法を可能にするシステムまたは方法の必要性が存在する。本発明は、前述した必要性に対処し、本明細書で述べる追加の利点を伴って、それらの必要性を解決する。
本発明は、元のデータベースよりもはるかに少ないストレージスペースを使用しながら、データベースのバックアップからデータベースの整合性チェックを実行するシステムおよび方法を実現する。データベースバックアップに対して整合性チェックを実行することは、データベースバックアップの整合性を確認して、元のデータベースの再構成が必要となった場合、完全な回復がシステム管理者によって行われることが可能であるようにするのに役立つ。方法は、データベーススキーマメタデータだけを含むデータベースビューの作成、およびデータベースビューの後の作成に必要とされるページの識別を含む。データベースビューは、作成されると、データベースバックアップのトランザクションログの中で追加し、選択された取り消し(undo)操作とともにやり直し(redo)操作を実行することにより、トランザクション整合性のある時点に至らされることが可能である。やり直しまたは取り消しに関わるページも、データベースビューの中に入れられる。トランザクション整合性のあるデータベースビューが確立されると、データベースバックアップまたはデータベースビューのいずれか訂正されたデータを有する方から、ページの正しいバージョンを読み取ることにより、データベースバックアップの中に含まれるデータベースに対して1つまたは複数の整合性チェックが実行されることが可能である。本発明は、データベースバックアップの整合性を検証して、データベースの完全なバックアップから回復を実行できることを確実にすることにより、回復ポリシーの信頼性をある程度、高める。
図3を使用して典型的なデータベースビューを説明した後、図4〜5に関連して典型的な方法および実施形態を説明する。典型的なコンピューティング環境も、図6に関連して説明する。
以上の概要、ならびに好ましい諸実施形態の以下の詳細な説明は、添付の図面と併せて読むことでよりよく理解される。本発明の諸実施形態を説明するため、図面では、本発明の典型的な構成が示されている。ただし、本発明は、開示する特定の方法および手段に限定されない。
概要
本発明の一実施形態は、元のデータベースよりも少ないストレージスペースを使用しながら、データベースバックアップの中に含まれるデータベースの整合性チェックを実行する方法を実現する。本発明の文脈では、ストレージスペースという用語は、順次ストレージ、ディスクストレージ、およびランダムアクセスストレージ、および均等物を含むが、以上には限定されない、図6の典型的なコンピューティング環境に関連して説明する諸形態のストレージのいずれであることも可能である。
元のデータベースの整合性チェックは、データベースのバックアップから導出されたデータベースビュー、および対応するトランザクションログファイルの使用を介して、本発明の実施形態に従って達することができる。現行の実施形態では、データベースビューは、データベースバックアップの中に含まれるトランザクションログを適用することにより、元のデータベースのバックアップが行われた時点における元のデータベースのトランザクション整合性のあるビューを作成する。トランザクション整合性のあるビューが用意されると、本発明は、データベースバックアップに対して整合性チェックを実行する。整合性チェックが実行されるにつれ、データベースバックアップからのページがまず、読み込まれ、次に、同一のページのトランザクション整合性のあるコピーがデータベースビュー内に存在するかどうかのチェックが実行されることが可能である。ページがデータベースビュー内に存在する場合、そのページが使用される。存在しない場合、データベースバックアップからのページを使用して、整合性チェックを実行することができる。データベース整合性チェックの結果により、データベースの使用可能なコピーをデータベースバックアップから回復できることをシステム管理者が確認することができるようになる。
本発明は、データベースから行われたバックアップに自己矛盾がなく(self consistent)、元のデータベースに障害が生じた場合に元のデータベースを回復するのに使用できることの確認において有用性がある。本発明は、データベースバックアップが、磁気テープ、または他の逐次タイプの読み取り機構などの順次媒体に格納される場合、最も有利に使用されることが可能である。データベース整合性チェックは、順次記憶媒体の2回だけの走査を要する。1回の走査は、回復(ページをトランザクション上、整合性のある状態に至らせる)を必要とする、または整合性チェックを主導する(drive)メタデータを提供する、識別されたページを探し出すのに使用され、第2回の走査は、整合性チェックを実行するのに使用される。また、本発明は、ディスクベースの、または他の任意のタイプのストレージバックアップシステムに対しても有利に使用することができる。というのは、ページは、元のデータベースと比べて、データベースバックアップ内の非常に異なる場所に格納される可能性があるからである。本発明は、システム管理者が、データベースの元のサイズより小さいストレージスペース内で、データベースバックアップに対して整合性チェックを実行することを有利に可能にする。この属性は、元のデータベースの第2の完全なサイズのコピーを再現することなしに整合性確認を実行する経済的な方法を提供する。
本発明の典型的な諸実施形態
リンクされたリスト、ならびに1次インデックスツリーおよび2次インデックスツリーを含む様々なリンクされたデータ構造タイプに関するストレージ構造の整合性の確認における進歩が、「Linked Data Structure Integrity Verification System Which Verifies Actual Node Information with Expected Node Information Stored in a Table」という名称の、2001年2月6日にイースト(East)他に発行された米国特許第6185569号明細書において開示されている。この同一出願人による発行済みの特許は、データベースに対して整合性チェックを実行する時間的に効率のよい方法を開示し、参照により全体が本明細書に組み込まれている。
データベースの完全なコピーを作成することなしにトランザクション整合性のある形でデータベースのビューを作成すること(viewing)における進歩が、「Transaction Consistent Copy-On-Write Databases」という名称の2003年6月30日に出願した特許出願第10/611774号明細書において開示されている。この同一出願人による発行済みの特許は、データベースビューを提供するストレージスペースの効率のよい方法を開示し、参照により全体が本明細書に組み込まれている。データベースビューは、データベースの完全なコピーを作成することなしに、以前の時点におけるデータベースのトランザクション整合性のあるビューを提供する。
本発明の態様では、データベースビューは、データベースの整合性をチェックするのに必要とされるメタデータのビューを作成するツールとして使用される。また、データベースビューは、ページをトランザクション上、矛盾がないようにするのに、トランザクションログからのやり直し操作および取り消し操作の適用を必要とするページを格納するのにも使用される。そのようなデータベースビューは、データベースバックアップとの組合せで、完全なデータベースバックアップ操作が完了した時点における元のデータベースのコピーを作成するのに必要なすべての情報を含む。ただし、データベースビューは、その情報の全部は自らの中に含まず、このため、元のデータベースの完全なコピーよりもサイズが小さいことが可能である。
本発明の文脈において、データベースビューは、データベースバックアップ内で表されるデータベース内の各データファイルに対応する少なくとも1つのスパース(sparse)ファイルを含む。スパースファイル内では、実際に必要とされるファイルの部分だけが、ストレージスペースに書き込まれる。ファイルの他のすべての領域は、未割り当てである。スパースファイルは、データベースバックアップから必要なあらゆるページのコピーを含むことが可能である。スパースファイルを使用することは、1つの可能な実施形態を提供し、元のデータファイル内のページの、スパースファイル内のそのページの位置に対するオフセットをマップするテーブルの必要性が回避される。別の可能な実施形態は、通常のファイルを使用することであり、通常のファイルをサイドファイルと呼ぶと、ビューのために必要とされるページが、次々にサイドファイルの中に入れられ、所与のIDを有するページをサイドファイル内の位置にマップするのにマッピングテーブルが使用される。
データベースに関するメタデータ、スキーマ、またはカタログデータの全体が、整合性チェック操作のために利用できることが好ましい。データベースバックアップの中に格納されたメタデータは、一般に、データベースシステムによって使用可能でない形態になっている。というのは、メタデータを含むページが、データベースバックアップのファイル群の中に散らばっており、それらのページを探し出す効率的な方法が存在しないからである。さらに、データベースバックアップ操作の時点でアクティブであったトランザクションによって操作が影響されているために、それらの操作がやり直される、または取り消される必要があるいくつかのページが、データベースバックアップ内に存在する。整合性チェックは、それらのページが整合性のある状態に至らされるまで実行されることが不可能である。一実施形態では、データベースビューは、好ましくは、メタデータページ、スキーマページ、またはカタログページが都合よく探し出される環境として使用され、トランザクションログから実行されるやり直し操作または取り消し操作を必要とするページが探し出される環境である。
本発明は、データベースバックアップ内のデータの単位としてページに関連して説明するが、元のデータベースに関する他のデータ単位が使用できることも企図される。
整合性チェック中、データベースバックアップ内のすべてのページが検査されなければならない。同一のページのトランザクション上、整合性のあるバージョンが、以前に作成されたデータベースビュー内に存在するかどうかを判定するチェックが、行われなければならない。存在する場合、データベースビューからのそのページのそのバージョンが、整合性チェックを実行するのに使用されなければならない。特定のページのいずれのバージョンを使用すべきかを判定するため、データベースビュー内におけるそのページの有効なバージョンの存在が確かめられなければならない。一実施形態では、データベースビューが直接に読み取られて、そのページの有効なバージョンが存在するかどうかが確かめられる。
別の実施形態では、データベースビュー内に所与のページのバージョンが存在するかどうか、および有効であるかどうかに関するデータを格納するサイドファイルマッピングテーブルが作成される。データベースビューのサイドページテーブルにより、データベースビュー内に所与のページが存在するかどうかの迅速な判定が可能になる。
図3に示すとおり、データベースバックアップ250内に含まれるデータベースのデータベースビュー320は、スパースファイル305、306、および308から成る。データベースバックアップ内のデータファイルのそれぞれ(205、206、および208)は、データベースビュー320内に対応するスパースファイル(それぞれ305、306、および308)を有する。やり直し操作および取り消し操作を実行することをより容易にするログ210Aのコピーも、データベースビュー内に含まれることが可能である。別の実施形態では、データベースビュー内のサイドファイルのそれぞれに関して別個のサイドページテーブルが存在する。
前述したとおり、トランザクションログ210は、データベースバックアップ操作が開始されてから完了されるまで、元のデータベース200に対して実行されたすべてのトランザクションの逐次レコードである。トランザクションログは、元のデータベース200のデータベースバックアップ操作が完了した時点にデータベースビューを回復するのに使用される。トランザクションログは、完了したトランザクション、つまり開始とコミットの両方が行われたトランザクションと、開始されたが、コミットされなかった未完了のトランザクションをともに含むことが可能である。未完了のトランザクションは、未コミットのトランザクションとしても知られる。
未コミットのトランザクションは、データファイルの一部の変更が、バッファキャッシュからデータファイルに書き込まれていない可能性があり、データファイル内の未完了のトランザクションからのいくつかの変更が存在する可能性があるため、トランザクションの矛盾を生じさせる可能性がある。ログファイルが、データベースの回復にトランザクション整合性があることを確実にするのに使用される。これは、ARIES(Algorithms for Recovery and Isolation Exploiting Semantics(セマンティクスを活用する回復および分離のためのアルゴリズム))スタイルの回復を使用して行われる。データファイルに書き込まれなかった可能性があるトランザクションログの中に記録されたすべての変更は、データベース上でその変更を実行することにより、ロールフォワード(roll forward)される。データベースの整合性を確実にするため、トランザクションログの中で見つかったすべての未完了のトランザクションが、データベース上でその変更を取り消すことによってロールバック(roll back)される。
図4は、完全なデータベースバックアップ、およびトランザクションログファイルから導出されたトランザクション整合性のあるデータベースビューの生成の実施例を示す。データベースバックアップ400は、典型的なデータベースのページ401〜409のすべてを含むデータベースの完全なバックアップを表す。データベースバックアップ操作中、データベースバックアップ操作の進行中に行われたトランザクションのすべてを記録するトランザクションログ434が、逐次に生成されている。典型的なトランザクションログ434は、データベースバックアップの生成中にデータベースのページP402、Q404、R406、およびS408の上でトランザクションが行われたことを記録した。トランザクションログは、ページP上のトランザクションが、ログレコード420で開始され、そのトランザクションが、ログレコード430でコミットされた(つまり、完了した)ことを記録した。同様に、ページR上のトランザクションが、ログレコード422で開始されて、ログレコード424でコミットされ、ページS上のトランザクションが、ログレコード428で開始され、ログレコード432でコミットされている。しかし、ページQ上のトランザクションに関して、開始ログレコード426だけが記録されている。データベースバックアップ操作が完了された時点までに記録されたページQ上のトランザクションに関するコミットログレコードは、存在しない。したがって、ページQ上のトランザクションに関して、トランザクション矛盾が存在する。このため、ページQ上のトランザクションは、ロールバックされて、データベースのデータベースビュー内の変更が削除されなければならない。
データベースバックアップ内に含まれるデータベースのトランザクション整合性のあるビュー480は、とりわけ、データベースバックアップ操作が完了した時点における、データベースのトランザクション整合性のある訂正済みのページであるページを含む。このため、ページP上、ページQ上、ページR上、およびページS上におけるやり直し操作および取り消し操作に対する変更は、それらのページのコピー上で実行されて、データベースビュー480内でページP’402’、ページQ’404’、ページR’406’、およびS’408’がもたらされ、データベースに対するマッピングが、データベースバックアップ400内に含まれる。ただし、すべてのページが、データベースビュー内でアクティブに表されるわけではなく、例えば、T409およびU410がそうであり、このため、データベースバックアップ400内に含まれるデータベースのデータベースビューが要するストレージスペースは、データベースバックアップ400または元のデータベースより大幅に少ないことに留意されたい。
一般に、データベースバックアップ操作が開始した後にログレコードが生成された場合にログレコードによって影響されるページは、データベースビューを整合性があるようにするためにログレコードをやり直す必要がある可能性が高いため、データベースバックアップ内に含まれるデータベースのデータベースビュー内で現れる可能性がある。さらに、データベースビュー内でロールバックされる必要がある可能性があるトランザクションなどの、データベースバックアップ操作が完了した時点で依然としてアクティブであってトランザクションに関するログレコードによって影響されるページも、データベースビュー内で現れる可能性がある。というのは、ログレコードが、取り消される必要があることになり、トランザクションを取り消すことは、データベースビュー内のそのページのバージョンを変更することを要する可能性があるからである。
データベースバックアップ400からデータベースビュー480にコピーされる可能性があるその他のページには、元のデータベースの内容を記述する割り当てページおよびメタデータ/カタログページが含まれる。割り当てページおよびメタデータ/カタログページは、その後に行われる整合性チェック中に繰り返し使用される可能性があり、特にデータベースバックアップが、磁気テープなどの順次媒体に格納される場合、データベースバックアップからページを繰り返し探し出すことに固有のパフォーマンス問題を回避するため、データベースビュー内に「キャッシュ」される必要がある可能性がある。一般に、割り当てページおよびメタデータ/カタログページは、データベースバックアップ内で見つかった際に識別されることが可能である。通常、この識別は、特定のページID、またはページヘッダ内のページタイプフラグまたはテーブルIDに基づくことが可能である。
データベースバックアップ400からデータベースビュー480にコピーされる別のカテゴリのページが、データベースバックアップが作成されている最中にデータベース内で変更されたページである。データベースバックアップ操作が実行されている最中に変更されたページは、データベースバックアップ操作の時刻を範囲に含むトランザクションログによって識別されることが可能であり、通常、データベースバックアップ内、または別個のログバックアップ内に含まれる。トランザクションログは、データベースバックアップ操作中に算出され、データベースバックアップ内に記録された、開始/終了ログシーケンス番号、LSNに基づくデータベースバックアップ操作の時間にわたってスキャンされることが可能である。変更されたページのIDは、一時的メモリ内ハッシュテーブル、または類似した構造の中に格納されることが可能である。
データベースバックアップ400からデータベースビュー480にコピーされる別のカテゴリのページは、Bツリーインデックスに行を挿入すること、または削除することなどの、論理的取り消し操作を実行するのに必要なページである。Bツリーに対するログ操作に関して、さらなるページは、Bツリーの内部ページである。それらのページは、バックアップ400から獲得することができ、それらのページがカバーするキー範囲によって特定される。例えば、BツリーへのキーKの挿入に関するログ記録は、キーKを含むリーフページに対するインデックスのルートからのすべてのページを要求する。内部ページは、Kを含むキー範囲をカバーするページとして識別されることが可能である。ページは、データベースバックアップ400からデータベースビュー480にコピーされる。
データベースバックアップに対するデータベースビュー革新の適用により、バックアップ400内に含まれ、データベースビュー480内で表されたデータベースに対して整合性チェックを実行して、データベースバックアップの整合性を確実にする方法が提供される。図5は、データベースバックアップ内に含まれるデータベースを元のデータベースの完全なサイズのストレージスペースに復元することなしに、データベースバックアップの整合性をチェックするステップを略述する流れ図である。
最初に、データベースバックアップから取り出されるべきすべてのページのリストが作成される(ステップ510)。割り当てページおよびメタデータ/カタログページは、好ましくは、データベースバックアップ内で見つかった際に識別される。通常、この識別は、特定のページID、またはページヘッダ内のページタイプフラグまたはテーブルIDに基づくことが可能である。ステップ510のリストに含められることが可能なページには、データベースバックアップ操作が実行されている最中に変更されたページが含まれることが可能である。それらの変更されたページは、データベースバックアップ操作の時刻を範囲に含むトランザクションログによって識別されることが可能であり、通常、データベースバックアップ内、または別個のログバックアップ内に含まれることが可能である。トランザクションログは、データベースバックアップ操作中に算出され、データベースバックアップ内に記録された、開始/終了ログシーケンス番号、LSNに基づくデータベースバックアップ操作の時間にわたってスキャンされることが可能である。変更されたページは、一時的メモリ内ハッシュテーブル、または類似の構造の中に格納されることが可能である。ステップ510のリストは、トランザクションログによって識別された未コミットの結果を有するページも含むことが可能である。ステップ510のリスト内に含まれる別のタイプのページは、割り当てページおよびメタデータページを一般に含む、論理的取り消し操作のために必要なページ群、ならびにデータページのルックアップに必要である可能性があるBツリーの内部ノード群であることが可能である。一実施形態では、潜在的に多数の内部ノードページを制限する1つのやり方は、前述したとおり、論理的取り消し操作が実行されることを要するレコード群のキーに基づいてページをフィルタリングすることである。
次に、データベースビューが、本明細書で説明するとおり生成されることが可能である(ステップ515)。次に、データベースバックアップがスキャンされて(ステップ520)、ステップ510で識別されたページ群が探し出されることが可能である。バックアップがスキャンされると、識別されたページ群、およびトランザクションログファイルが、データベースビューにコピーされる(ステップ525)。トランザクションログは、データベースバックアップ操作の進行中にアクティブであったトランザクションによって変更されたページ群を復元し、そのページ群を整合性のある時点に復元するのに使用される。その時点は、通常、データベースバックアップ操作の終了の時点であることが可能である。次に、トランザクション整合性のある状態への回復には、ステップ530の一環として、データベースビューに対してやり直し操作を実行することが関わる。トランザクションログファイルも分析されて、未完了または未コミットのトランザクションが検出される。未コミットのトランザクションは、ステップ530の一環として、取り消し操作を実行することによってロールバックされることが可能である。ログレコードをやり直すことの効果、および取り消すことの効果は、データベースビュー内に格納されたページのコピー上で反映される。
この時点までの手続きは、元のデータベースよりはるかに少ないストレージスペース内で、データベースバックアップ内に含まれるデータベースのトランザクション整合性のあるデータベースビューをもたらした。次に、1つまたは複数のデータベース整合性チェックが、データベースビューとデータベースバックアップの組合せに対して実行されて(ステップ535)、データベースバックアップ内に含まれるデータベースのページのすべてを完全に復元することなしに、データベースバックアップの整合性がチェックされることが可能である。一実施形態では、整合性チェックを実行することには、データベースバックアップまたはデータベースビューからすべてのデータベースページを、あたかもそれらのページが、復元済みのデータベース、または通常のデータベースビューの中に格納されているかのように、それらのページがバックアップ媒体に格納されている順序で読み取ることが関わる。このプロセスにおいて、データベース内のすべてのページに関して、そのページが、整合性チェックを必要とする(すなわち、テーブル/インデックスデータを含む)ページであった場合、そのページは、データベースバックアップから読み取られることが可能であり、データベースビュー内にそのページの変更されたコピーが存在するかどうかを調べるチェックが行われることが可能である。存在する場合、その変更されたコピーが、整合性チェックのために使用されることが可能である。存在しない場合、データベースバックアップから読み取られたページが使用されることが可能である。この手続きは、特定のページを迅速に読み取ることを可能にする順序でデータベースバックアップ内にページが格納されていない可能性があるため、好ましい可能性がある。
ページが、データベースバックアップ内に含まれないが、トランザクションログの中で参照されていることが可能である。このトランザクションログ参照は、通常、そのページをデータベースに関する新たなページとして割り当て、フォーマットするログレコードによって行われる可能性がある。このため、ステップ535のためのアルゴリズムは、データベースバックアップ内に含まれていなかったすべてのページをデータベースビューから読み取ることが含まれる。これは、いくつかの異なる手段によって容易に行うことができる。一実施形態は、メモリ内テーブルに、前述したとおりデータベースビューから読み取られるすべてのページを記録させることができる。次に、読み取られなかったページを追加する。別の実施形態では、メモリ内テーブルが大きくなり過ぎる場合、代替を提供する。すなわち、データベースビュー内の各ページに、ページが既にチェック済みであることを示すページのヘッダ内のフラグビットでマークを付けることが可能である。最後に、データベースビューは、整合性チェックの完了後、オプションとして、削除することができる(ステップ540)。
整合性チェックに合格した場合、データベース管理者は、データベースバックアップからのデータベースの再構成が必要とされる場合、データベースのデータベースバックアップが、データベースバックアップからの完全なデータベース復元を許すだけの十分な品質であることを保証されることが可能である。これは、データベースバックアップの整合性が、依拠することのできる既知数(known quantity)であるという点で貴重である。整合性チェックが不合格であった場合、データベース管理者は、いくつかのオプションを有する。1つのオプションは、データベースバックアップを再実行して、整合性チェック失敗を克服することであることが可能である。そのような失敗は、障害のある記憶媒体、またはその他の問題の結果である可能性がある。
別のオプションは、データベースバックアップに変更を行って、データベースビューの中で見られる回復済みのデータベースが、データベースビューに対して実行された整合性チェックに合格できるようにすることにより、データベースバックアップ内で見つかった特定の整合性エラーを修復することであることが可能である。このオプションは、好ましくは、やり直し操作および取り消し操作に関与しなかったページ群に対して行われた訂正に関して適用される。すると、変更されたデータベースバックアップは、データベースバックアップからのデータベースの再構成が必要とされる場合に、後の完全なデータベース回復に必要とされる完全な整合性を有することが可能である。
典型的なコンピューティングデバイス
図6および以下の説明は、本発明の諸実施形態を実施することができる適切なコンピューティング環境の簡単な一般的な説明を提供することを目的とする。汎用コンピュータを以下に説明するが、これは、一実施例に過ぎず、本発明の諸実施形態は、ネットワーク/バスの相互運用性および対話を有するクライアントなどの、他のコンピューティングデバイスを使用して実施することもできる。このため、本発明の諸実施形態は、非常にわずかな、または最小限のクライアントリソースだけが関わるネットワーク化された、ホストされたサービスの環境において、例えば、クライアントデバイスが、機器、または他のコンピューティングデバイス群およびオブジェクト群の内部に配置されたオブジェクトなどの、ネットワーク/バスに対するインターフェースとしての役割だけをするネットワーク化された環境において実施することもできる。基本的に、データを格納することができる、またはデータを取り出すことができる任意の場所が、動作のための望ましい、または適切な環境である。
必須ではないが、本発明の諸実施形態は、デバイスまたはオブジェクトのサービスの開発者が使用するために、オペレーティングシステムを介して実施されることも可能であり、かつ/またはアプリケーションソフトウェア内部に含められることも可能である。ソフトウェアは、クライアントワークステーション、サーバ、または他のデバイスなどの1つまたは複数のコンピュータによって実行される、プログラムモジュール群などの、コンピュータ実行可能命令の一般的な文脈で説明することができる。一般に、プログラムモジュール群には、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通常、プログラムモジュール群の機能は、様々な実施形態において所望に応じて組み合わせることも、分散させることもできる。さらに、本発明の様々な諸実施形態は、他のコンピュータ構成を使用して実施することもできることが当業者には認められよう。使用に適する可能性がある他の周知のコンピューティングシステム、コンピューティング環境、および/またはコンピューティング構成には、パーソナルコンピュータ(PC)、現金自動預払機、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル家庭用電化製品、ネットワークPC、器具類、照明、環境制御要素、ミニコンピュータ、メインフレームコンピュータなどが含まれるが、以上には限定されない。本発明の諸実施形態は、タスクが、通信ネットワーク/バス、またはその他のデータ伝送媒体を介してリンクされたリモート処理装置群によって実行される分散コンピューティング環境において実施することもできる。分散コンピューティング環境では、プログラムモジュール群は、メモリ記憶装置群を含むローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体の両方の中に配置することができ、クライアントノード群が、サーバノード群として動作することができる。
このため、図6は、本発明の諸実施形態を実施することができる適切なコンピューティングシステム環境の実施例を示す。ただし、以上に明記したとおり、コンピューティングシステム環境600は、適切なコンピューティング環境の一実施例であり、本発明の実施形態の使用または機能の範囲について何ら限定を示唆するものではない。また、コンピューティング環境600が、典型的な動作環境600に例示したコンポーネントのいずれの1つ、または組合せに関連する依存関係または要件も有するものと解釈してはならない。
図6を参照すると、本発明の実施形態を実施するための典型的なシステムが、コンピュータシステム610の形態で汎用コンピューティングデバイスを含む。コンピュータシステム610のコンポーネントには、処理装置620、システムメモリ630、ならびにシステムメモリから処理装置620までを含む様々なシステムコンポーネントを結合するシステムバス621が含まれることが可能であるが、以上には限定されない。システムバス621は、様々なバスアーキテクチャのいずれかを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含め、いくつかのタイプのバス構造のいずれであることも可能である。例として、限定としてではなく、そのようなアーキテクチャには、インダストリスタンダードアーキテクチャ(Industry Standard Architecture)(ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture)(MCA)バス、エンハンストISA(Enhanced ISA)(EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(Video Electronics Standards Association)(VESA)ローカルバス、およびメザニン(Mezzanine)バスとしても知られるペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect)(PCI)バスが含まれることが可能である。
コンピュータシステム610は、通常、様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータシステム610がアクセスすることができる任意の利用可能な媒体であることが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体がともに含まれる。例として、限定としてではなく、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含むことが可能である。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を格納するために任意の方法または技術で実装された揮発性媒体および不揮発性媒体、リムーバブルな媒体およびリムーバブルでない媒体が含まれる。コンピュータ記憶媒体には、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリまたは他のメモリ技術、コンパクトディスク読み出し専用メモリ(CDROM)、書き換え可能なコンパクトディスク(CDRW)、デジタルバーサタイルディスク(DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気記憶装置、あるいは所望の情報を格納するのに使用することができ、コンピュータシステム610がアクセスすることができる他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、搬送波などの変調されたデータ信号、または他のトランスポート機構でコンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを実体化し、任意の情報配信媒体が含まれる。「変調されたデータ信号」という用語は、信号内に情報を符号化するような形で特性の1つまたは複数が設定または変更されている信号を意味する。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接有線接続などの有線媒体、ならびに音響媒体、RF媒体、赤外線媒体、およびその他の無線媒体などの無線媒体が含まれる。また、以上のいずれかの組合せも、コンピュータ可読媒体の範囲に含められなければならない。
システムメモリ630は、読み取り専用メモリ(ROM)631やランダムアクセスメモリ(RAM)632などの、揮発性メモリおよび/または不揮発性メモリの形態でコンピュータ記憶媒体を含む。始動中などに、コンピュータシステム610内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム633(BIOS)が、通常、ROM631の中に格納される。RAM632は、通常、処理装置620が即時にアクセスすることができ、かつ/または現在、処理しているデータおよび/またはプログラムモジュール群を含む。例として、限定としてではなく、図6は、オペレーティングシステム634、アプリケーションプログラム群635、その他のプログラムモジュール群636、およびプログラムデータ637を示す。
コンピュータシステム610は、他のリムーバブルな/リムーバブルでない、揮発性/不揮発性のコンピュータ記憶媒体も含むことが可能である。単に例として、図6は、リムーバブルでない不揮発性の磁気媒体に対して読み取りまたは書き込みを行うハードディスクドライブ641、リムーバブルな不揮発性の磁気ディスク652に対して読み取りまたは書き込みを行う磁気ディスクドライブ651、およびCD ROM、CDRW、DVD、またはその他の光媒体などの、リムーバブルな不揮発性の光ディスク656に対して読み取りまたは書き込みを行う光ディスクドライブ655を示す。典型的な動作環境において使用されることが可能な他のリムーバブルな/リムーバブルでない、揮発性/不揮発性のコンピュータ記憶媒体には、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROMなどが含まれるが、以上には限定されない。ハードディスクドライブ641は、通常、インターフェース640のようなリムーバブルでないメモリインターフェースを介してシステムバス621に接続され、磁気ディスクドライブ651および光ディスクドライブ655は、通常、インターフェース650のようなリムーバブルなメモリインターフェースでシステムバス621に接続される。
前述し、図6に示したドライブ群、および関連するコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール群、およびその他のデータのストレージをコンピュータシステム610に提供する。図6では、例えば、ハードディスクドライブ641が、オペレーティングシステム644、アプリケーションプログラム群645、その他のプログラムモジュール群646、およびプログラムデータ647を格納しているのが示されている。これらのコンポーネントは、オペレーティングシステム634、アプリケーションプログラム群635、その他のプログラムモジュール群636、およびプログラムデータ637と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム644、アプリケーションプログラム群645、その他のプログラムモジュール群646、およびプログラムデータ647に、少なくともそれらが異なるコピーであることを示すために、ここでは、異なる符号を付けている。ユーザは、キーボード662や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス661などの入力デバイス群を介して、コマンドおよび情報をコンピュータシステム610に入力することができる。その他の入力デバイス群(図示せず)には、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれることが可能である。以上、およびその他の入力デバイス群は、しばしば、システムバス621に結合されたユーザ入力インターフェース660を介して処理装置620に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースおよびバス構造で接続してもよい。また、モニタ691、または他のタイプのディスプレイデバイスも、ビデオインターフェース690のようなインターフェースを介してシステムバス621に接続され、このインターフェースは、ビデオメモリ(図示せず)と通信することが可能である。モニタ691に加え、コンピュータシステムは、出力周辺インターフェース695を介して接続することができるスピーカ697やプリンタ696などの他の周辺出力デバイス群も含むことが可能である。
コンピュータシステム610は、リモートコンピュータ680のような1つまたは複数のリモートコンピュータに対する論理接続を使用するネットワーク化された環境、または分散環境において動作することもできる。リモートコンピュータ680は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、コンピュータシステム610に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶装置681だけを図6に示している。図6に示す論理接続は、ローカルエリアネットワーク(LAN)671およびワイドエリアネットワーク(WAN)673を含むが、他のネットワーク/バスも含むことが可能である。そのようなネットワーキング環境は、自宅、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
LANネットワーキング環境で使用される場合、コンピュータシステム610は、ネットワークインターフェースまたはネットワークアダプタ670を介してLAN671に接続される。WANネットワーキング環境で使用される場合、コンピュータシステム610は、通常、インターネットなどのWAN673を介して通信を確立するためのモデム672、または他の手段を含む。内部にあることも、外部にあることも可能なモデム672は、入力インターフェース660、または他の適切な機構を介してシステムバス621に接続することができる。ネットワーク化された環境では、コンピュータシステム610に関連して示したプログラムモジュール群、またはプログラムモジュール群の諸部分は、リモートメモリ記憶装置の中に格納することができる。例として、限定としてではなく、図6は、リモートアプリケーションプログラム群685がメモリデバイス681上に存在しているのを示す。図示したネットワーク接続は、典型的であり、コンピュータ間で通信リンクを確立する他の手段も使用できることが認められよう。
様々な分散コンピューティングフレームワークが、パーソナルコンピューティングとインターネットの収斂に鑑みて開発されており、開発中である。個人にも、ビジネスユーザにも等しく、アプリケーション群およびコンピューティングデバイス群のためのシームレスに相互運用可能なWeb対応のインターフェースが適用されており、コンピューティング活動をますますWebブラウザ指向またはネットワーク指向にしている。
例えば、マイクロソフトコーポレーションから入手可能なMICROSOFT(登録商標)の.NET(商標)プラットフォームは、サーバ群、Webデータベースのデータストレージなどのビルディングブロックサービス群、およびダウンロード可能なデバイスソフトウェアを含む。本明細書における典型的な諸実施形態は、コンピューティングデバイス上に存在するソフトウェアに関連して説明しているが、本発明の実施形態の1つまたは複数の部分を、コプロセッサ、ディスプレイデバイス、および要求側オブジェクトのいずれかの間のオペレーティングシステム、アプリケーションプログラミングインターフェース(API)、または「ミドルマン(middle man)」オブジェクトを介して実施して、動作が、.NET(商標)の言語およびサービスのすべてによって実行され、それらのすべてにおいてサポートされ、それらのすべてを介してアクセスされるとともに、他の分散コンピューティングフレームワークにおいても実行され、サポートされ、アクセスされることが可能であるようにすることができる。
前述したとおり、本発明の典型的な諸実施形態を様々なコンピューティングデバイスおよびネットワークアーキテクチャに介して説明してきたが、基礎にある概念は、データベースバックアップに対して整合性チェックを実行するのに役立つシステムを実施することが所望される任意のコンピューティングデバイスまたはコンピューティングシステムに適用することができる。このため、本発明の諸実施形態に関連して説明した方法およびシステムは、様々なアプリケーションおよびデバイスに適用することができる。典型的なプログラミング言語、名前、および実施例を様々な選択を代表するものとして本明細書で選択したが、それらの言語、名前、および実施例は、限定することを意図していない。本発明の諸実施形態によって達せられるのと同一の、同様の、または均等のシステムおよび方法を実現するオブジェクトコードを提供する多数のやり方が存在することが、当業者には認められよう。
本明細書で説明する様々な技術は、ハードウェアまたはソフトウェア、あるいは適宜、その両方の組合せに関連して実施することができる。このため、本発明の方法および装置、または本発明の方法および装置のいくつかの態様または部分は、フロッピー(登録商標)ディスケット、CD−ROM、ハードドライブ、または他の任意のマシン可読記憶媒体などの、実体のある媒体で実現されたプログラムコード(すなわち、命令)の形態をとることができ、プログラムコードが、コンピュータなどのマシンに読み込まれ、実行されると、そのマシンが、本発明を実施するための装置になる。プログラマブルコンピュータ上でプログラムコードが実行されるケースでは、コンピューティングデバイスは、一般に、プロセッサ、そのプロセッサが読み取ることができる記憶媒体(揮発性のメモリおよび/または記憶要素、および不揮発性のメモリおよび/または記憶要素を含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。
本発明の諸態様を様々な図の好ましい諸実施形態に関連して説明してきたが、本発明を逸脱することなく本発明と同一の機能を実行するために、他の同様な諸実施形態を使用すること、あるいは説明した実施形態に変更または追加を行うこともできることを理解されたい。さらに、特に無線ネットワーク化されたデバイスの数が増えつづけているなかで、ハンドヘルドデバイスオペレーティングシステム、および他のアプリケーション固有のオペレーティングシステムを含め、様々なコンピュータプラットフォームが企図されていることも強調されなければならない。したがって、請求する発明は、いずれの単一の実施形態にも限定されるべきではなく、むしろ、添付の特許請求の範囲に従った広がりと範囲で解釈されなければならない。
正しさに関して検証されなければならない典型的なデータ構造を示すブロック図である。 データベースの典型的なバックアップを示すブロック図である。 本発明のデータベースビュー態様を示すブロック図である。 データベースビューの典型的なページを示すブロック図である。 本発明の方法を示す典型的な流れ図である。 本発明の諸態様を実施することができる典型的なコンピューティング環境を示すブロック図である。

Claims (35)

  1. データベースバックアップに対して整合性チェックを実行するための方法であって、
    データベースバックアップから取り出すべきページのリストを生成すること、
    前記データベースバックアップを読み取ることによって前記リスト内の前記ページを取り出すこと、
    前記データベースバックアップから、前記データベースバックアップ内に含まれる前記データベースより少ないメモリスペースしか要さないデータベースビューを作成すること、
    トランザクションログおよび前記取り出されたページを前記データベースビューにコピーすること、
    前記データベースビューをトランザクション整合性のある状態に回復すること、および
    前記データベースバックアップと前記データベースビューのいずれかからすべてのデータベースページを読み取ることにより、前記データベースバックアップに対して整合性チェックを実行することを含むことを特徴とする方法。
  2. データベースのバックアップから取り出すべきページのリストを生成することは、割り当てページとメタデータページの少なくともいずれか、前記データベースバックアップが作成されている最中に前記データベース内で変更されたページ、前記データベースバックアップの完了時に未コミットの結果を含むページ、および論理的取り消し操作を実行するのに必要なページを含むページリストを生成することを含むことを特徴とする請求項1に記載の方法。
  3. 論理的取り消し操作を実行するのに必要なページを含むページリストを生成することは、更新に関するログレコードの中に含まれるキーを使用して、Bツリーのいずれの内部ノードページが、特定のログレコードに関する論理的取り消し操作を実行するのに必要とされるかを特定することを含むことを特徴とする請求項2に記載の方法。
  4. ページの前記リストを生成することは、前記データベースバックアップの作成中に変更されたページに関して前記データベースバックアップ内のトランザクションログをスキャンすることを含むことを特徴とする請求項1に記載の方法。
  5. 前記リスト内の前記ページを取り出すことは、1回だけ完全なデータベースバックアップを読み取り、前記リスト内の前記ページを前記データベースビューにコピーすることを含むことを特徴とする請求項1に記載の方法。
  6. 前記データベースバックアップからデータベースビューを作成することは、特定の時点におけるデータベースバックアップの内容を反映するデータベースビューを作成することをさらに含むことを特徴とする請求項1に記載の方法。
  7. トランザクションログをコピーすることは、前記データベースがバックアップされている最中に行われたトランザクションを含むトランザクションログをコピーすることを含むことを特徴とする請求項1に記載の方法。
  8. 前記データベースビューをトランザクション整合性のある状態に回復することは、前記データベースバックアップ操作中に行われた変更のすべては反映していなかったページに対してやり直し操作を実行することを含むことを特徴とする請求項1に記載の方法。
  9. 前記やり直し操作は、関連するトランザクションログに基づき、すべてのコミットされたトランザクションが前記データベースビュー内で反映されることを特徴とする請求項8に記載の方法。
  10. 前記関連するトランザクションログに基づいてページに対して取り消し操作を実行して、すべての未コミットのトランザクションの効果が前記データベースビューから削除されるようにすることをさらに含むことを特徴とする請求項8に記載の方法。
  11. 前記リスト内の前記ページを探し出すために1回、前記整合性チェックを実行している間に1回の2回だけ、前記データベースバックアップを読み取ることをさらに含むことを特徴とする請求項1に記載の方法。
  12. 前記データベースビューがトランザクション上の整合性を有するようにされるまで、前記整合性チェックを遅延させることをさらに含むことを特徴とする請求項1に記載の方法。
  13. 前記データベースバックアップ、および前記トランザクション上の整合性を有するデータベースビューを使用して前記整合性チェックを実行することをさらに含むことを特徴とする請求項1に記載の方法。
  14. 整合性チェックを実行することは、
    前記データベースビューからのすべてのページを1回、読み取ること、および
    前記データベースビューからのページを、前記ページの訂正されたバージョンが前記データベースビュー内に存在する場合、前記整合性チェックにおいて使用することを含むことを特徴とする請求項13に記載の方法。
  15. 前記データベースバックアップからのページを、前記ページの訂正されたバージョンが前記データベースビュー内に存在しない場合、前記整合性チェックにおいて使用することをさらに含むことを特徴とする請求項14に記載の方法。
  16. 前記データベースバックアップ内で見つからないが、代わりに、前記ビュー内だけで見つかるすべてのページが、前記整合性チェックの中に含まれることを確実にすることをさらに含むことを特徴とする請求項13に記載の方法。
  17. データベースバックアップ情報とログトランザクションデータの少なくともいずれかを受け取るための入力デバイスと、
    ソフトウェアコンポーネントの命令を有するメモリへのアクセスを有するプロセッサと、
    実行されると、データベースバックアップから取り出すべきページのリストを生成すること、前記データベースバックアップにアクセスすることによって前記リスト内の前記ページを取り出すこと、前記データベースバックアップから、前記データベースバックアップ内に含まれる前記データベースより少ないメモリスペースしか要さないデータベースビューを作成すること、トランザクションログおよび前記取り出されたページを前記データベースビューにコピーすること、前記データベースビューをトランザクション整合性のある状態に回復すること、および前記データベースバックアップおよび前記トランザクション整合性のあるデータベースビューを使用して、前記データベースバックアップに対して整合性チェックを実行することを含む方法を実行するソフトウェアコンポーネントとを含むことを特徴とするシステム。
  18. 整合性チェックを実行する前記ソフトウェアコンポーネントステップは、
    前記データベースビューからのすべてのページを1回、読み取ること、および
    前記データベースビューからのページを、前記ページの訂正されたバージョンが前記データベースビュー内に存在する場合、前記整合性チェックにおいて使用することを含むことを特徴とする請求項17に記載のシステム。
  19. 前記データベースバックアップからのページを、前記ページの訂正されたバージョンが前記データベースビュー内に存在しない場合、前記整合性チェックにおいて使用することをさらに含むことを特徴とする請求項18に記載のシステム。
  20. 整合性チェックを実行する前記ソフトウェアコンポーネントステップは、前記データベースバックアップ内で見つからないが、代わりに、前記ビュー内だけで見つかるすべてのページが、前記整合性チェックの中に含まれることを確実にすることをさらに含むことを特徴とする請求項17に記載のシステム。
  21. 前記整合性チェックの前記ステータスを監視するためのディスプレイデバイスをさらに含むことを特徴とする請求項17に記載のシステム。
  22. 前記データベースバックアップは、順次ストレージ、ディスクストレージ、およびランダムアクセスストレージのいずれかを含むことを特徴とする請求項17に記載のシステム。
  23. 前記ソフトウェアコンポーネント方法は、前記ページリストを探し出すために1回、前記整合性チェックを実行している間に1回の2回だけ、前記データベースバックアップを読み取ることをさらに含むことを特徴とする請求項17に記載のシステム。
  24. ページの前記リストを生成する前記ソフトウェアコンポーネントステップは、前記データベースバックアップの作成中に変更されたページに関して前記データベースバックアップ内のトランザクションログをスキャンすることを含むことを特徴とする請求項17に記載のシステム。
  25. 論理的取り消し操作を実行するのに必要なページを含むページリストを生成する前記ソフトウェアコンポーネントステップは、更新に関するログレコードの中に含まれるキーを使用して、Bツリーのいずれの内部ノードページが、特定のログレコードに関する論理的取り消し操作を実行するのに必要とされるかを特定することを含むことを特徴とする請求項17に記載のシステム。
  26. 前記データベースバックアップからデータベースビューを作成する前記ソフトウェアコンポーネントステップは、特定の時点におけるデータベースバックアップの内容を反映するデータベースビューを作成することをさらに含むことを特徴とする請求項17に記載のシステム。
  27. 前記データベースビューをトランザクション整合性のある状態に回復する前記ソフトウェアコンポーネントステップは、関連するトランザクションログに基づいてページに対して取り消し操作およびやり直し操作を実行して、すべてのコミットされた操作が前記データベースビュー内で反映され、すべての未コミットのトランザクションが、前記データベースビューから削除されるようにすることを特徴とする請求項17に記載のシステム。
  28. データベースバックアップから取り出すべきページのリストを生成すること、
    前記データベースバックアップを読み取ることによって前記リスト内の前記ページを取り出すこと、
    前記データベースバックアップから、前記データベースバックアップ内に含まれる前記データベースより少ないメモリスペースしか要さないデータベースビューを作成すること、
    トランザクションログおよび前記取り出されたページを前記データベースビューにコピーすること、
    前記データベースビューをトランザクション整合性のある状態に回復すること、および
    前記データベースバックアップと前記データベースビューのいずれかからすべてのデータベースページを読み取ることにより、前記データベースバックアップに対して整合性チェックを実行することを含む、データベースバックアップに対して整合性チェックを実行する方法を実行するためのコンピュータ実行可能命令を有することを特徴とするコンピュータ可読媒体。
  29. データベースバックアップから取り出すべきページのリストを作成する前記ステップは、割り当てページとメタデータページの少なくともいずれか、前記データベースバックアップが作成されている最中に前記データベース内で変更されたページ、前記データベースバックアップの完了時に未コミットの結果を含むページ、および論理的取り消し操作を実行するのに必要なページを含むページリストを生成することをさらに含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  30. ページの前記リストを生成する前記ステップは、前記データベースバックアップの作成中に変更されたページに関して前記データベースバックアップ内のトランザクションログをスキャンすることを含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  31. 前記リスト内の前記ページを取り出す前記ステップは、完全なデータベースバックアップを読み取ることを含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  32. 前記データベースバックアップからデータベースビューを作成する前記ステップは、特定の時点におけるデータベースバックアップの内容を反映するデータベースビューを作成することをさらに含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  33. トランザクションログをコピーする前記ステップは、前記データベースバックアップが完了した時点におけるトランザクションを含むトランザクションログをコピーすることを含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  34. 前記データベースビューをトランザクション整合性のある状態に回復する前記ステップは、関連するトランザクションログに基づいてトランザクションに対して取り消し操作およびやり直し操作を実行して、未コミットのトランザクションが前記回復されたデータベースビューから削除されるようにすることをさらに含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
  35. 前記ページリストを探し出すために1回、前記整合性チェックを実行している間に1回の2回だけ、前記データベースバックアップを読み取るステップをさらに含むことを特徴とする請求項28に記載のコンピュータ可読媒体。
JP2007506124A 2004-03-31 2004-07-29 データベースバックアップの整合性チェックのためのシステムおよび方法 Expired - Fee Related JP4598055B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/814,459 US7277905B2 (en) 2004-03-31 2004-03-31 System and method for a consistency check of a database backup
PCT/US2004/024434 WO2005103955A1 (en) 2004-03-31 2004-07-29 System and method for a consistency check of a database backup

Publications (2)

Publication Number Publication Date
JP2007531155A true JP2007531155A (ja) 2007-11-01
JP4598055B2 JP4598055B2 (ja) 2010-12-15

Family

ID=35055641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007506124A Expired - Fee Related JP4598055B2 (ja) 2004-03-31 2004-07-29 データベースバックアップの整合性チェックのためのシステムおよび方法

Country Status (8)

Country Link
US (1) US7277905B2 (ja)
EP (1) EP1618504B1 (ja)
JP (1) JP4598055B2 (ja)
KR (1) KR101014089B1 (ja)
CN (1) CN100430936C (ja)
AT (1) ATE434789T1 (ja)
DE (1) DE602004021686D1 (ja)
WO (1) WO2005103955A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214184A (ja) * 2012-04-02 2013-10-17 Nec System Technologies Ltd ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
WO2014010014A1 (ja) * 2012-07-09 2014-01-16 株式会社Murakumo ツリー構造の管理方法、情報処理システム、及び、プログラム
JP2015203927A (ja) * 2014-04-11 2015-11-16 国立大学法人 東京大学 計算機システム、データの検査方法及び計算機

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103806B1 (en) 1999-06-04 2006-09-05 Microsoft Corporation System for performing context-sensitive decisions about ideal communication modalities considering information about channel reliability
US7330895B1 (en) * 2001-03-15 2008-02-12 Microsoft Corporation Representation, decision models, and user interface for encoding managing preferences, and performing automated decision making about the timing and modalities of interpersonal communications
US7644144B1 (en) 2001-12-21 2010-01-05 Microsoft Corporation Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
US7870240B1 (en) 2002-06-28 2011-01-11 Microsoft Corporation Metadata schema for interpersonal communications management systems
US8095511B2 (en) * 2003-06-30 2012-01-10 Microsoft Corporation Database data recovery system and method
US7822721B2 (en) * 2004-04-15 2010-10-26 Sap Ag Correction server for large database systems
DE102004023634B4 (de) * 2004-05-10 2007-09-27 Siemens Ag Verfahren zur Vollständigkeits- und Konsistenzprüfung einer Informationsbibliothek
US8949395B2 (en) 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
US7822727B1 (en) * 2004-07-02 2010-10-26 Borland Software Corporation System and methodology for performing read-only transactions in a shared cache
JP4082614B2 (ja) * 2004-11-12 2008-04-30 インターナショナル・ビジネス・マシーンズ・コーポレーション データベース管理システム、データベース管理方法、及びプログラム
US7831639B1 (en) * 2004-12-22 2010-11-09 Symantec Operating Corporation System and method for providing data protection by using sparse files to represent images of data stored in block devices
US8296271B1 (en) * 2005-03-28 2012-10-23 Federal Home Loan Mortgage Corporation System and method for optimizing data recovery in a parallel database
US8145686B2 (en) * 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US20070118547A1 (en) * 2005-11-22 2007-05-24 Monish Gupta Efficient index versioning in multi-version databases
US7822717B2 (en) * 2006-02-07 2010-10-26 Emc Corporation Point-in-time database restore
CN100394393C (zh) * 2006-03-10 2008-06-11 四川大学 信息系统数据一致性检测方法
US7747831B2 (en) * 2006-03-20 2010-06-29 Emc Corporation High efficiency portable archive and data protection using a virtualization layer
US7831787B1 (en) 2006-03-20 2010-11-09 Emc Corporation High efficiency portable archive with virtualization
US9235477B1 (en) 2006-04-24 2016-01-12 Emc Corporation Virtualized backup solution
US9317222B1 (en) 2006-04-24 2016-04-19 Emc Corporation Centralized content addressed storage
US8769019B2 (en) * 2006-05-04 2014-07-01 Citrix Systems, Inc. Methods and systems for managing shared state within a distributed system with varying consistency and consensus semantics
US8065273B2 (en) * 2006-05-10 2011-11-22 Emc Corporation Automated priority restores
US9684739B1 (en) * 2006-05-11 2017-06-20 EMC IP Holding Company LLC View generator for managing data storage
US8732136B2 (en) * 2006-05-22 2014-05-20 Inmage Systems, Inc. Recovery point data view shift through a direction-agnostic roll algorithm
US7783956B2 (en) * 2006-07-12 2010-08-24 Cronera Systems Incorporated Data recorder
US20080263079A1 (en) * 2006-10-24 2008-10-23 Flextronics Ap, Llc Data recovery in an enterprise data storage system
JP4148529B2 (ja) * 2006-12-28 2008-09-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースにおける索引の整合性をチェックするためのシステム、方法およびプログラム
US7711716B2 (en) * 2007-03-06 2010-05-04 Microsoft Corporation Optimizations for a background database consistency check
CN101034364A (zh) * 2007-04-02 2007-09-12 华为技术有限公司 一种实现内存数据备份的方法、装置和系统
JP4898609B2 (ja) * 2007-09-11 2012-03-21 株式会社日立製作所 ストレージ装置、データ回復方法及び計算機システム
US8055613B1 (en) * 2008-04-29 2011-11-08 Netapp, Inc. Method and apparatus for efficiently detecting and logging file system changes
KR100891036B1 (ko) * 2008-09-08 2009-03-31 (주)데이타뱅크시스템즈 데이터베이스의 실시간 복제를 통한 자동 복구 시스템 및 그 방법
US8214589B2 (en) * 2009-03-13 2012-07-03 Seagate Technology Llc Data storage system redundancy scheme verification
US8255365B2 (en) * 2009-06-08 2012-08-28 Symantec Corporation Source classification for performing deduplication in a backup operation
CN102667734B (zh) 2009-12-25 2014-08-20 国际商业机器公司 用于检查分层型数据库中的指针的一致性的系统和方法
US9251214B2 (en) * 2010-04-08 2016-02-02 Microsoft Technology Licensing, Llc In-memory database system
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
US8396840B1 (en) * 2010-09-22 2013-03-12 Amazon Technologies, Inc. System and method for targeted consistency improvement in a distributed storage system
US8924360B1 (en) 2010-09-30 2014-12-30 Axcient, Inc. Systems and methods for restoring a file
US9705730B1 (en) 2013-05-07 2017-07-11 Axcient, Inc. Cloud storage using Merkle trees
US8589350B1 (en) 2012-04-02 2013-11-19 Axcient, Inc. Systems, methods, and media for synthesizing views of file system backups
US10284437B2 (en) 2010-09-30 2019-05-07 Efolder, Inc. Cloud-based virtual machines and offices
US8954544B2 (en) 2010-09-30 2015-02-10 Axcient, Inc. Cloud-based virtual machines and offices
US9235474B1 (en) * 2011-02-17 2016-01-12 Axcient, Inc. Systems and methods for maintaining a virtual failover volume of a target computing system
US9824091B2 (en) 2010-12-03 2017-11-21 Microsoft Technology Licensing, Llc File system backup using change journal
US8620894B2 (en) 2010-12-21 2013-12-31 Microsoft Corporation Searching files
US8818960B2 (en) * 2011-03-18 2014-08-26 Microsoft Corporation Tracking redo completion at a page level
US9563681B1 (en) 2012-08-08 2017-02-07 Amazon Technologies, Inc. Archival data flow management
US9767098B2 (en) 2012-08-08 2017-09-19 Amazon Technologies, Inc. Archival data storage system
US9996540B2 (en) * 2011-03-31 2018-06-12 EMC IP Holding Company LLC System and method for maintaining consistent points in file systems using a prime dependency list
US9229818B2 (en) 2011-07-20 2016-01-05 Microsoft Technology Licensing, Llc Adaptive retention for backup data
US9026496B1 (en) * 2011-09-30 2015-05-05 Emc Corporation Efficient building of restore list
US8671085B2 (en) 2011-12-09 2014-03-11 Microsoft Corporation Consistent database recovery across constituent segments
CN102662793A (zh) * 2012-03-07 2012-09-12 江苏引跑网络科技有限公司 一种可保证数据一致性的分布式数据库热备份与恢复方法
US9710501B2 (en) * 2012-03-30 2017-07-18 Kinaxis Inc. Enhanced performance for large versioned databases
US9779035B1 (en) 2012-08-08 2017-10-03 Amazon Technologies, Inc. Log-based data storage on sequentially written media
US9652487B1 (en) 2012-08-08 2017-05-16 Amazon Technologies, Inc. Programmable checksum calculations on data storage devices
US9904788B2 (en) 2012-08-08 2018-02-27 Amazon Technologies, Inc. Redundant key management
US8805793B2 (en) 2012-08-08 2014-08-12 Amazon Technologies, Inc. Data storage integrity validation
US8959067B1 (en) 2012-08-08 2015-02-17 Amazon Technologies, Inc. Data storage inventory indexing
US9225675B2 (en) 2012-08-08 2015-12-29 Amazon Technologies, Inc. Data storage application programming interface
US9830111B1 (en) 2012-08-08 2017-11-28 Amazon Technologies, Inc. Data storage space management
BR112015002837A2 (pt) * 2012-08-08 2017-08-08 Amazon Tech Inc sistema de armazenamento de dados de arquivamento
US10120579B1 (en) 2012-08-08 2018-11-06 Amazon Technologies, Inc. Data storage management for sequentially written media
US9785647B1 (en) 2012-10-02 2017-10-10 Axcient, Inc. File system virtualization
KR101429575B1 (ko) * 2012-10-22 2014-08-13 주식회사 엔써티 데이터베이스의 실시간 백업 시스템, 데이터 복구 시스템 및 데이터 복구 방법
US9852140B1 (en) 2012-11-07 2017-12-26 Axcient, Inc. Efficient file replication
WO2014120137A1 (en) * 2013-01-30 2014-08-07 Hewlett-Packard Development Company, L.P. Recovering pages of a database
US10558581B1 (en) 2013-02-19 2020-02-11 Amazon Technologies, Inc. Systems and techniques for data recovery in a keymapless data storage system
US9397907B1 (en) 2013-03-07 2016-07-19 Axcient, Inc. Protection status determinations for computing devices
US9292153B1 (en) 2013-03-07 2016-03-22 Axcient, Inc. Systems and methods for providing efficient and focused visualization of data
CN103164523A (zh) * 2013-03-19 2013-06-19 华为技术有限公司 数据一致性检查方法、装置及系统
CN104252481B (zh) * 2013-06-27 2018-10-19 阿里巴巴集团控股有限公司 主从数据库一致性的动态校验方法和装置
US9471439B2 (en) * 2014-03-13 2016-10-18 Sybase, Inc. Systems and methods for reducing load database time
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
CN104865906A (zh) * 2014-06-27 2015-08-26 广东美的环境电器制造有限公司 环境调节装置的控制系统和方法、服务器和移动终端
KR101600694B1 (ko) * 2014-07-23 2016-03-07 농협은행(주) 테이프 백업 데이터 검증 방법
US9558078B2 (en) 2014-10-28 2017-01-31 Microsoft Technology Licensing, Llc Point in time database restore from storage snapshots
CN105868205B (zh) * 2015-01-21 2019-08-27 阿里巴巴集团控股有限公司 数据读取方法及装置
CN104778228B (zh) * 2015-03-27 2018-08-07 百度在线网络技术(北京)有限公司 一种用于多方置位数据库的方法和装置
US10346237B1 (en) * 2015-08-28 2019-07-09 EMC IP Holding Company LLC System and method to predict reliability of backup software
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
CN105574187B (zh) * 2015-12-23 2019-02-19 武汉达梦数据库有限公司 一种异构数据库复制事务一致性保障方法及系统
US10261863B2 (en) * 2016-02-17 2019-04-16 International Business Machines Corporation Runtime file system consistency checking during backup operations
JP6437691B2 (ja) * 2016-03-17 2018-12-12 楽天株式会社 ファイル管理システム、ファイル管理方法、収集プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
US10387275B2 (en) * 2016-07-26 2019-08-20 Hewlett Packard Enterprise Development Lp Resume host access based on transaction logs
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
CN108170103A (zh) * 2016-12-07 2018-06-15 沈阳中科博微科技股份有限公司 一种集成电路生产线设备常量监控的方法
CN108280097B (zh) * 2017-01-06 2022-09-09 阿里云计算有限公司 一种数据库系统的故障处理方法和装置
CN108509460B (zh) * 2017-02-28 2021-07-20 微软技术许可有限责任公司 分布式系统中的数据一致性检查
US10379961B2 (en) * 2017-04-11 2019-08-13 International Business Machines Corporation Ensuring metadata and index consistency using write intents
CN110121694B (zh) 2017-12-05 2020-08-07 华为技术有限公司 一种日志管理方法、服务器和数据库系统
CN110045912B (zh) * 2018-01-16 2021-06-01 华为技术有限公司 数据处理方法和装置
CN108446187B (zh) * 2018-03-07 2021-02-09 上海达梦数据库有限公司 数据备份方法及数据还原方法
CN108647112B (zh) * 2018-03-16 2022-03-01 创新先进技术有限公司 数据备份的方法、装置及分布式事务处理系统
US10802920B2 (en) 2018-04-18 2020-10-13 Pivotal Software, Inc. Backup and restore validation
CN111143112B (zh) * 2018-11-02 2023-08-25 伊姆西Ip控股有限责任公司 用于恢复元数据的方法、设备和计算机可读存储介质
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
CN111625396B (zh) * 2019-02-27 2023-05-26 阿里云计算有限公司 备份数据的校验方法、服务器及存储介质
CN111930558B (zh) 2019-05-13 2023-03-03 华为技术有限公司 数据库系统的故障修复方法、数据库系统和计算设备
US11228441B2 (en) * 2019-08-16 2022-01-18 Accenture Global Solutions Limited System for automated data verification
CN113032408A (zh) * 2019-12-24 2021-06-25 阿里巴巴集团控股有限公司 数据处理方法、系统及设备
US10909109B1 (en) * 2019-12-30 2021-02-02 Atlassi An Pty Ltd. Quality control test transactions for shared databases of a collaboration tool
US11467926B2 (en) * 2020-03-19 2022-10-11 Sap Se Enhanced database recovery by maintaining original page savepoint versions
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
CN111913916A (zh) * 2020-07-07 2020-11-10 泰康保险集团股份有限公司 一种文件重组的方法及设备
CN111753518B (zh) * 2020-08-12 2021-03-12 深圳潮数软件科技有限公司 一种自主的文件一致性检验方法
CN112307118B (zh) * 2020-09-30 2024-03-22 武汉达梦数据库股份有限公司 基于日志解析同步的保障数据一致性的方法和同步系统
US11755590B2 (en) 2020-11-04 2023-09-12 Netapp, Inc. Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis
US20220138151A1 (en) * 2020-11-04 2022-05-05 Netapp Inc. Sibling object generation for storing results of operations performed upon base objects
CN112463780B (zh) * 2020-12-02 2024-01-05 中国工商银行股份有限公司 数据质量检查方法及装置
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager
US11263206B1 (en) * 2021-03-02 2022-03-01 Coupang Corp. Systems and methods for multi-nodal stream processing framework for partitioned database

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082826A (ja) * 2000-06-27 2002-03-22 Fujitsu Ltd データベースシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4674065A (en) * 1982-04-30 1987-06-16 International Business Machines Corporation System for detecting and correcting contextual errors in a text processing system
US4958270A (en) * 1989-01-23 1990-09-18 Honeywell Inc. Method for control data base updating of a redundant processor in a process control system
US5148366A (en) * 1989-10-16 1992-09-15 Medical Documenting Systems, Inc. Computer-assisted documentation system for enhancing or replacing the process of dictating and transcribing
GB2270779B (en) * 1992-09-17 1996-01-10 Fexco Initiative Limited Improvements in and relating to back-up database systems
US5392386A (en) * 1994-02-03 1995-02-21 Inter Hi-Tec Ag Method and apparatus for adding functionality to computer programs executing under graphical user interfaces
GB9426165D0 (en) * 1994-12-23 1995-02-22 Anthony Andre C Method of retrieving and displaying data
US5859636A (en) * 1995-12-27 1999-01-12 Intel Corporation Recognition of and operation on text data
US5946647A (en) * 1996-02-01 1999-08-31 Apple Computer, Inc. System and method for performing an action on a structure in computer-generated data
US6085201A (en) * 1996-06-28 2000-07-04 Intel Corporation Context-sensitive template engine
US6185569B1 (en) * 1998-06-29 2001-02-06 Microsoft Corporation Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table
US6662357B1 (en) * 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US6408310B1 (en) * 1999-10-08 2002-06-18 Unisys Corporation System and method for expediting transfer of sectioned audit files from a primary host to a secondary host
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
US6959369B1 (en) * 2003-03-06 2005-10-25 International Business Machines Corporation Method, system, and program for data backup

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002082826A (ja) * 2000-06-27 2002-03-22 Fujitsu Ltd データベースシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214184A (ja) * 2012-04-02 2013-10-17 Nec System Technologies Ltd ミラーリングシステム、ノード、ミラーリング方法、及びプログラム
WO2014010014A1 (ja) * 2012-07-09 2014-01-16 株式会社Murakumo ツリー構造の管理方法、情報処理システム、及び、プログラム
JPWO2014010014A1 (ja) * 2012-07-09 2016-06-20 株式会社Murakumo ツリー構造の管理方法、情報処理システム、及び、プログラム
US9571299B2 (en) 2012-07-09 2017-02-14 Murakumo Corporation Method for managing tree structure, information processing system, and medium
JP2015203927A (ja) * 2014-04-11 2015-11-16 国立大学法人 東京大学 計算機システム、データの検査方法及び計算機

Also Published As

Publication number Publication date
KR20070058281A (ko) 2007-06-08
DE602004021686D1 (de) 2009-08-06
KR101014089B1 (ko) 2011-02-14
EP1618504A1 (en) 2006-01-25
JP4598055B2 (ja) 2010-12-15
WO2005103955A1 (en) 2005-11-03
ATE434789T1 (de) 2009-07-15
EP1618504A4 (en) 2008-04-02
US20050223043A1 (en) 2005-10-06
CN1784677A (zh) 2006-06-07
EP1618504B1 (en) 2009-06-24
CN100430936C (zh) 2008-11-05
US7277905B2 (en) 2007-10-02

Similar Documents

Publication Publication Date Title
JP4598055B2 (ja) データベースバックアップの整合性チェックのためのシステムおよび方法
US7634679B2 (en) Remote location failover server application
US7650341B1 (en) Data backup/recovery
JP4598821B2 (ja) データベース復旧中のスナップショットクエリのためのシステムおよび方法
JP4960963B2 (ja) データベースミラーからのオンラインページリストア
US7395278B2 (en) Transaction consistent copy-on-write database
EP1629407B1 (en) Systems and methods for automatic database or file system maintenance and repair
KR101255392B1 (ko) 데이터베이스와 파일 시스템 사이의 링크 레벨 일관성의유지관리
US8161007B2 (en) System and method for supporting asynchronous data replication with very short update intervals
JP4762972B2 (ja) データベース内の回復ユニット(recoveryunit)のためのシステムおよび方法
US10120767B2 (en) System, method, and computer program product for creating a virtual database
US7363537B1 (en) System and method for fault-tolerant synchronization of replica updates for fixed persistent consistency point image consumption
US20060294421A1 (en) Isolating and storing configuration data for disaster recovery
US20070043973A1 (en) Isolating and storing configuration data for disaster recovery for operating systems providing physical storage recovery
US8301602B1 (en) Detection of inconsistencies in a file system
US20060294420A1 (en) Isolating and storing configuration data for disaster recovery
JP2006508473A (ja) 記憶システムにおけるデータ回復技術
US7487385B2 (en) Apparatus and method for recovering destroyed data volumes
US20070112892A1 (en) Non-disruptive backup copy in a database online reorganization environment
US10261863B2 (en) Runtime file system consistency checking during backup operations
US7478101B1 (en) System-independent data format in a mirrored storage system environment and method for using the same
US20070043969A1 (en) Isolating and storing configuration data for disaster recovery for operating systems providing physical storage recovery
US7801859B1 (en) Tracking filesystem backups
US7890793B1 (en) Techniques for restoring file system resources
US7181473B1 (en) Identifying files within a namespace

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100825

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100914

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: 20100922

R150 Certificate of patent or registration of utility model

Ref document number: 4598055

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: 20131001

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

LAPS Cancellation because of no payment of annual fees