JP2011086241A - データベースの複製を生成する装置及び方法 - Google Patents

データベースの複製を生成する装置及び方法 Download PDF

Info

Publication number
JP2011086241A
JP2011086241A JP2009240534A JP2009240534A JP2011086241A JP 2011086241 A JP2011086241 A JP 2011086241A JP 2009240534 A JP2009240534 A JP 2009240534A JP 2009240534 A JP2009240534 A JP 2009240534A JP 2011086241 A JP2011086241 A JP 2011086241A
Authority
JP
Japan
Prior art keywords
database
backup data
update
point
update log
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
JP2009240534A
Other languages
English (en)
Other versions
JP5039891B2 (ja
Inventor
Ritsuko Fusa
律子 房
Keisuke Asakura
啓輔 朝倉
Noriaki Kono
紀昭 河野
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2009240534A priority Critical patent/JP5039891B2/ja
Priority to US12/858,637 priority patent/US8775386B2/en
Publication of JP2011086241A publication Critical patent/JP2011086241A/ja
Priority to US13/611,056 priority patent/US8799232B2/en
Application granted granted Critical
Publication of JP5039891B2 publication Critical patent/JP5039891B2/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
    • 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

Abstract

【課題】静止点におけるデータベースの複製を生成する際のコストを抑える。
【解決手段】DBMS20では、アプリケーションプログラム10a,10bの要求に応じて、基表更新機能21が、基表30及び回復開始点31を更新し、更新ログ記録機能22が、基表30に対する更新ログ40を記録する。そして、所定のタイミングで、バックアップ機能23が、基表30の内容をバックアップファイル50に出力し、基表30に付随する回復開始点31を回復開始点51にコピーする。その後、ユーザによって静止点及び基表30が指定されると、複製生成機能60が、指定された基表30のバックアップファイル50を、更新ログ40の回復開始点51から静止点までの部分で更新することにより、静止点における基表30の複製である対象表70を生成する。
【選択図】図1

Description

本発明は、データベースの複製を生成する装置及び方法に関する。特に、本発明は、特定の時点におけるデータベースの複製を生成する装置及び方法に関する。
近年、24時間365日連続運転するコンピュータシステムが増えている。このようなコンピュータシステムでは、データベースに対して常に更新が行われることになる。しかし、このように常に更新が行われるデータベースであっても、これをバッチ処理に対する入力データや情報系のデータベースとして活用する場合には、ある静止点におけるデータベースを複製したいという要求が出てくる。
例えば常に更新が行われているデータベースの0時における内容が要求された場合を考える。
この場合、このデータベースの表に対して行の挿入しか行われないことが保証されていれば、データベースの0時における内容を読み出すことは可能である。各行に対して挿入時刻を保持するタイムスタンプ列を持たせ、「挿入時刻が0時以前である」という条件を満たす行を読み出せばよいからである。
ところが、このデータベースの表に対して行の更新が行われるとすると、この方法は使用できない。各行に対して更新時刻を保持するタイムスタンプを持たせても、これが複製時にそのまま残っているとは限らないからである。例えば、A行が23時59分0秒と0時0分10秒に更新されたとする。すると、A行が保持するタイムスタンプは0時0分10秒となる。従って、0時数分過ぎに「更新時刻が0時以前である」という条件を満たす行を検索すると、A行はこの検索結果から外れ、その結果、A行の23時59分0秒のデータは失われ、データベースの0時における整合性のある内容は取得できない。このように更新が常時行われているデータベースのある静止点における内容を作成するのは、現在の機能では難しい。
データベースの行を削除した場合も同様、元々存在していた行が、静止点におけるデータベースの内容を取得した際に失われる場合がある。
ここで、ある時点におけるデータベースの内容を取得する技術は、幾つかの公報に開示されている(例えば、特許文献1〜4参照)。
特許文献1では、管理テーブル部が、データベースに登録されている各オブジェクトの管理情報を保持し随時更新され、スナップショット情報記憶部が、ある時点の管理テーブル部のコピーを保持し、バックアップ処理部が、バックアップタイミングになると、スナップショット情報記憶部に保持した情報と、現在の管理テーブル部とを比較し、データベースの変化内容(差分)を特定し、その変化内容を表すバックアップ情報を作成して保管している。
特許文献2では、バックアップ装置が、バックアップを実行する指示を受付けると、指示によって示される時点について作成されるスナップショットを格納する記憶領域を、指示によって示される時点それぞれに割り当て、指示によって示される時点より後に元データが更新されると、指示によって示される直前の時点における更新が行われた箇所に対応する元データが直前の時点について作成される最新のスナップショットを格納する記憶領域として割り当てられた記憶領域に格納されているかを確認し、格納されていないと確認されると、更新が行われた箇所に対応する更新直前の元データを、最新のスナップショットを格納する記憶領域にのみ格納している。
特許文献3では、バックアップ作成装置が、データベースのバックアップ処理を行うと共に、バックアップ処理の進捗状況通知を生成し、データベース参照・更新処理装置が、データベースの参照・更新処理を行なうと共に、データベースに対して行ったデータの追加又は更新内容を表わす追加更新情報を出力し、バックアップ作成状況通知装置が、バックアップの進捗状況通知と追加更新情報に基づいてバックアップ処理済みのデータに対して追加更新がなされているかを判定し、バックアップ処理済みのデータに対して追加更新がなされた場合に、追加更新反映装置が、追加更新情報に基づいてバックアップデータに対してデータの追加更新処理を行っている。
特許文献4では、システム復旧管理部が、ストレージ装置のバックアップリストア処理部を用いて、ボリュームの初期状態のバックアップならびにシステム稼動中のスナップショットを作成し、回復ポイントを用いて状況を管理し、システムの障害発生時には、回復ポイントから回復するポイントを決定し、作成したバックアップからのボリュームの復元と、データの整合性を保つためメタデータの書き換えを行っている。
特開2001−344139号公報 特開2009−146228号公報 特開平9−97201号公報 特開2005−242729号公報
しかしながら、何れの特許文献も、ある時点におけるデータベースの内容のバックアップ、或いは、これに加えてリストアを行うに過ぎず、ある時点におけるデータベースの複製を作成するものではない。
ここで、ある時点におけるデータベースの複製を作成するには、次のようなアプローチがある。
第一に、業務アプリケーションにデータベースを更新させながら、データベースからデータを取り出し、その取り出しを行う間に業務アプリケーションが記録した取引ログ(業務ログ)を、取り出したデータに当て込む、というアプローチである。
第二に、データベースを更新する際に別表も更新し、静止点において別表の更新を一旦停止することで、静止点におけるデータベースの複製を作成する、というアプローチである。
しかしながら、何れのアプローチも、実装及びシステム運用にコストがかかるという問題がある。特に数千テーブル或いは数TBのデータベースを保有する大規模システムの場合、このようなアプローチでの実装及び運用は現実的ではない。
本発明の目的は、特定の時点におけるデータベースの複製を生成する際のコストを抑えることにある。
かかる目的のもと、本発明は、特定の時点におけるデータベースの複製を生成する装置であって、データベースの回復に用いるためにDBMS(DataBase Management System)が特定の時点よりも前にデータベースの更新を停止することなく出力したデータベースのバックアップデータを取得するバックアップデータ取得部と、データベースの回復に用いるためにDBMSがバックアップデータを出力した時間帯よりも前の回復開始点から特定の時点までの間に記録したデータベースの更新ログを取得する更新ログ取得部と、バックアップデータ取得部により取得されたバックアップデータと、更新ログ取得部により取得された更新ログとに基づいて、特定の時点におけるデータベースの内容を保持する新たなデータベースを複製として生成する生成部とを含む、装置を提供する。
ここで、生成部は、バックアップデータ取得部により取得されたバックアップデータを、更新ログ取得部により取得された更新ログのうち特定の時点よりも前にコミットされたトランザクションに関する部分で更新することにより、新たなデータベースを生成する、ものであってよい。
生成部は、バックアップデータ取得部により取得されたバックアップデータを、更新ログ取得部により取得された更新ログのうちバックアップデータに反映されていない更新に関する部分で更新することにより、新たなデータベースを生成する、ものであってよい。
この装置は、ユーザによる特定の時点の指定を受け付ける受付部を更に含む、ものであってよい。
この装置は、バックアップデータ取得部により取得されたバックアップデータに関連付けて記憶された回復開始点を取得する回復開始点取得部を更に含む、ものであってよい。
また、本発明は、特定の時点におけるデータベースの複製を生成する装置であって、データベースの回復に用いるためにデータベースの更新を停止することなくデータベースのバックアップデータを出力する出力機能と、データベースの回復に用いるためにデータベースの更新ログを記録する記録機能とを少なくとも有する、DBMS(DataBase Management System)と、特定の時点よりも前にDBMSの出力機能により出力されたバックアップデータと、バックアップデータを出力した時間帯よりも前の回復開始点から特定の時点までの間にDBMSの記録機能により記録された更新ログとに基づいて、特定の時点におけるデータベースの内容を保持する新たなデータベースを複製として生成する生成部とを含む、装置も提供する。
ここで、この装置は、DBMSの出力機能により出力されたバックアップデータに関連付けて、バックアップデータが出力された時間帯よりも前のチェックポイントを記憶する記憶部と、記憶部にバックアップデータに関連付けて記憶されたチェックポイントを回復開始点に決定する決定部とを更に含む、ものであってよい。
また、本発明は、特定の時点におけるデータベースの複製を生成する装置であって、データベースの回復に用いるためにデータベースの更新を停止することなくデータベースのバックアップデータを出力する出力機能と、データベースの回復に用いるためにデータベースの更新ログを記録する記録機能とを少なくとも有する、DBMS(DataBase Management System)と、特定の時点よりも前にDBMSの出力機能により出力されたバックアップデータを取得するバックアップデータ取得部と、バックアップデータを出力した時間帯よりも前の回復開始点から特定の時点までの間にDBMSの記録機能により記録された更新ログを取得する更新ログ取得部と、バックアップデータ取得部により取得されたバックアップデータを、更新ログ取得部により取得された更新ログのうち、特定の時点よりも前にコミットされたトランザクションに関し、かつ、バックアップデータに反映されていない更新に関する部分で更新することにより、特定の時点におけるデータベースの内容を保持する新たなデータベースを複製として生成する生成部とを含む、装置も提供する。
更に、本発明は、特定の時点におけるデータベースの複製を生成する方法であって、データベースの回復に用いるためにDBMS(DataBase Management System)が特定の時点よりも前にデータベースの更新を停止することなく出力したデータベースのバックアップデータを取得するステップと、データベースの回復に用いるためにDBMSがバックアップデータを出力した時間帯よりも前の回復開始点から特定の時点までの間に記録したデータベースの更新ログを取得するステップと、バックアップデータと、更新ログとに基づいて、特定の時点におけるデータベースの内容を保持する新たなデータベースを複製として生成するステップとを含む、方法も提供する。
更にまた、本発明は、特定の時点におけるデータベースの複製を生成する装置としてコンピュータを機能させるプログラムであって、コンピュータを、データベースの回復に用いるためにDBMS(DataBase Management System)が特定の時点よりも前にデータベースの更新を停止することなく出力したデータベースのバックアップデータを取得するバックアップデータ取得部と、データベースの回復に用いるためにDBMSがバックアップデータを出力した時間帯よりも前の回復開始点から特定の時点までの間に記録したデータベースの更新ログを取得する更新ログ取得部と、バックアップデータ取得部により取得されたバックアップデータと、更新ログ取得部により取得された更新ログとに基づいて、特定の時点におけるデータベースの内容を保持する新たなデータベースを複製として生成する生成部として機能させる、プログラムも提供する。
本発明によれば、特定の時点におけるデータベースの複製を生成する際のコストを抑えることができる。
本発明の実施の形態が適用されるコンピュータの構成例を示した図である。 本発明の実施の形態の動作の概要について示した図である。 トランザクション、バックアップ、回復開始点、静止点を時間軸上に示した図である。 更新ログの一例を示した図である。 各時点における基表の状態を示した図である。 複製される基表に対する回復開始点から静止点までの更新ログの一例を示した図である。 更新ログで更新することによる対象表の内容の変化を示した図である。 本発明の実施の形態における複製生成機能の構成例を示したブロック図である。 本発明の実施の形態における複製生成機能の動作例を示したフローチャートである。 本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
本発明の実施の形態は、従来データベースの障害回復のためにしか使用していなかったバックアップデータと更新ログとを活用し、業務上有用な任意の静止点における表の複製を容易に作成可能とするものである。
この動作の概要を簡単に説明すると次のようになる。尚、ここでは、データベース内の複製元の表(基表)をTABLE1とし、基表の複製を格納する対象の表(対象表)をTABLEXとして説明する。
まず、DBMS(DataBase Management System)は、TABLE1の更新を停止することなくオンラインバックアップを行い、バックアップデータを取得する。
次に、DBMSは、TABLE1のバックアップデータと更新ログとを使用してTABLEXのデータを作成する。即ち、任意の静止点が決まると、TABLE1のバックアップデータをTABLEXに反映し、TABLE1の更新ログを当てて静止点までデータを復元する。その結果、TABLEXは、ある静止点におけるTABLE1のデータを持つ表となり、バッチ処理に対する入力データ、情報系データベース等として、業務上の活用が可能となる。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
図1は、本実施の形態が適用されるコンピュータの構成を示したブロック図である。
図示するように、コンピュータは、アプリケーションプログラム(以下、単に「アプリケーション」という)10a,10bと、DBMS20と、基表30とを備える。また、更新ログ40と、バックアップファイル50と、複製生成機能60と、対象表70とを備える。
アプリケーション10a,10bは、DBMS20に対して、基表30の更新を要求する。尚、図では、アプリケーション10a,10bを示しているが、これらを区別する必要がない場合は、アプリケーション10と表記する。また、アプリケーション10は、ここでは2つしか示していないが、3つ以上あってもよい。
DBMS20は、基表30を含むデータベースを管理するプログラムである。特に、本実施の形態におけるDBMS20は、基表30に対する更新データを更新ログ40に書き出しながら稼働し、オペレーターの要求に応じて基表30の内容をバックアップファイル50に出力するものであり、基表更新機能21と、更新ログ記録機能22と、バックアップ機能23とを含む。
このうち、基表更新機能21は、アプリケーション10から基表30の更新が要求されると、基表30を更新する。また、データベース上の整合性が保証された時点で、基表30に付随する回復開始点31(回復に用いる更新ログ40の位置を示す情報)を更新する。
また、更新ログ記録機能22は、基表30の更新の取り消しや再実行を行う際に必要な更新データを更新ログ40に書き出し、コミット時にはコミットが行われたことを示すコミット情報を更新ログ40に書き出す。本実施の形態では、更新ログを記録する記録機能の一例として、更新ログ記録機能22を設けている。
更に、バックアップ機能23は、基表30がアプリケーション10により更新中であっても基表30のバックアップを取得してバックアップファイル50に出力する。これは、例えば、DBMS20内のバッファプール(不図示)に基表30及び回復開始点31のデータを一時的に格納し、このバッファプール内のデータを読むことで可能である。或いは、バッファプール内のデータを読まずに、基表30及び回復開始点31を物理ディスクファイルとしてバックアップすることで行ってもよい。尚、このバックアップは、目標静止点(ユーザによって指定される可能性のある静止点)の前に実行すればよい。その際、目標静止点の直前の時刻に実行するか目標静止点から一定の間隔をあけた時刻に実行するかは任意であるが、目標静止点に近い時刻に実行することで、基表30の複製の作成に要する時間は短縮される。また、ある静止点における複数の基表30の内容が必要な場合も、オンラインバックアップを実行する時刻は、それぞれの基表30に対して、任意に設定可能である。つまり、複数の基表30のバックアップを同一時刻に取得しなければならない等の制約はない。本実施の形態では、バックアップデータを出力する出力機能の一例として、バックアップ機能23を設けている。
尚、本明細書では、DBMS20を、上述したようにプログラムとして説明するが、プログラムが実行されることによって実現されるコンピュータの機能として捉えることもできる。
基表30は、アプリケーション10によって更新される表であり、常に更新されているものとする。尚、ここでは単に「基表30」と称するが、これを、基表30を記憶する記憶手段として捉えてもよい。また、基表30には、回復開始点31が付随して記憶されている。
更新ログ40は、基表30の更新の取り消しや再実行を行う際に必要な更新データを保持する。ここで、更新ログ40内のログレコードは、RBA(相対バイトアドレス)やタイムスタンプ等の更新ログ40内でのログレコードの位置を示すログ位置情報と、そのログレコードに対応する基表30内の更新されたレコードの位置を示す更新位置情報とを保持している。尚、ここでは単に「更新ログ40」と称するが、これを、更新ログ40を記憶する記憶手段として捉えてもよい。
バックアップファイル50は、基表30のバックアップが出力されるファイルである。尚、ここでは単に「バックアップファイル50」と称するが、これを、バックアップファイル50を記憶する記憶手段として捉えてもよい。また、バックアップファイル50には、回復開始点51が付随して記憶されている。この回復開始点51は、基表30がバックアップされた際に、基表30に付随して記憶された回復開始点31がコピーされたものである。ここで、バックアップファイル50は、アプリケーション10による基表30の更新中に作成されたものであるため、更新データが必ずしも反映されたものではないが、回復開始点51を起点として更新ログ40を適用することにより、更新データを全て反映させることが可能になっている。本実施の形態では、バックアップデータの一例として、また、バックアップデータに関連付けてチェックポイントを記憶する記憶部の一例として、バックアップファイル50を設けている。
複製生成機能60は、複製したい基表30と静止点とをユーザが指定することによって機能する。具体的には、複製生成機能60は、基表30のバックアップファイル50を読み出し、対象表70にリストアする。また、バックアップファイル50に付随する回復開始点51を読み、それを開始点として更新ログ40を読み出す。そして、更新ログ40から指定された基表30のログを読み、対象表70に対しそのログを適用する。その際、更新ログ40内のログ位置情報及び更新位置情報が用いられる。基表30のバックアップファイル50をリストアした対象表70は、基表30と物理的に同じ構造を持っているので、これらの情報の活用が可能になっている。このようなログの適用に当たっては、ログに対応するコミット情報のタイムスタンプと静止点とを比較する。例えば、静止点でまだコミットが行われていないトランザクションについては、更新データを反映させない。或いは、一旦静止点まで更新データを反映させた後にロールバックを行う。その結果、静止点において確定している更新データのみが反映され、静止点における厳密な基表30の内容が対象表70上に作成される。尚、複製生成機能60は、1つの静止点を指定し、複数の基表30を一括して処理することも可能である。尚、図では、複製生成機能60を、DBMS20から独立した機能として示したが、DBMS20が有する障害回復機能を拡張した機能であってもよい。本実施の形態では、新たなデータベースを生成する生成部の一例として、また、バックアップデータに関連付けて記憶されたチェックポイントを回復開始点に決定する決定部の一例として、複製生成機能60を設けている。
対象表70は、静止点における基表30の内容が格納される別表である。ここで、対象表70は、表の属性が基表30と完全に同じであるものとする。具体的には、列名、各列のデータタイプや長さ、列の並び順、表の容量指定が同一であるものとする。但し、索引に関しては同一でなくても問題はない。尚、ここでは単に「対象表70」と称するが、これを、対象表70を記憶する記憶手段として捉えてもよい。
次に、複製生成機能60による基表30の複製動作の概要を説明する。
図2は、複製生成機能60の動作の概要を模式的に示した図である。
(a)は、図1に示したように1つの基表30を複製して1つの対象表70を生成する場合の図である。
この場合は、例えば、「RECOVER FROM TABLE1 TO TABLEX RESTORE <T1ファイル名> QUIESCEPOINT XXXXX」といった障害回復コマンドを拡張したコマンドにより、動作が開始する。即ち、まず、対象表70に対し、基表30のバックアップファイル50をリストアする。リストア終了後、更新ログ40から基表30のログを読み出し、対象表70に当て込むことにより、「QUIESCEPOINT XXXXX」で指定された静止点まで対象表70を復元する。この場合、静止点までにコミットされたトランザクションによる更新データは反映されるが、静止点を跨ったトランザクションや、静止点以降に実行されたトランザクションの更新データは反映されず、静止点における基表30の内容を持つ対象表70が作成される。
(b)は、図1には示していないが、複数の基表30を複製して複数の対象表70を生成する場合の図である。
この場合は、例えば、「RECOVER FROM (TABLE1,TABLE2,TABLE3) TO (TABLEX,TABLEY,TABLEZ) RESTORE <T1ファイル名>, <T2ファイル名>, <T3ファイル名> QUIESCEPOINT XXXXX」といった障害回復コマンドを拡張したコマンドにより、動作が開始する。即ち、まず、対象表70a,70b,70cに対し、基表30aのバックアップファイル50a、基表30bのバックアップファイル50b、基表30cのバックアップファイル50cを並列にリストアする。リストア終了後、更新ログ40から基表30a,30b,30cのログを読み出し、対象表70a,70b,70cに当て込むことにより、「QUIESCEPOINT XXXXX」で指定された静止点まで対象表70を復元する。この場合、バックアップファイル50のリストア作業を並列に行い、かつ、更新ログ40を一度読み出すだけで当て込みも行えるので、同じ静止点における複数の対象表70の作成にかかる時間を短縮することが可能である。
尚、上述のように、基表30のバックアップファイル50と更新ログ40とを使用して対象表70を作成するためには、障害回復コマンドの機能拡張が必要となる。しかしながら、静止点を指定してバックアップファイル50と更新ログ40とによって基表30のデータを回復する技術は既に確立されているため、これを基表30とは別の対象表70に対して行うという機能拡張のみで、実現可能である。
次に、本実施の形態における複製生成機能60の動作について、具体例を用いて説明する。
図3は、基表30を更新するトランザクション、基表30のバックアップ、回復開始点、静止点を時間軸上に示した図である。
図示するように、回復開始点RBT1の後、トランザクション1〜4が実行され、その後、トランザクション5が、静止点Qt1に跨って実行されている。また、バックアップは、トランザクション2の実行中に開始され、トランザクション3の実行中に終了している。尚、回復開始点RBT1は、例えば、システムチェックポイントであり、DBMS20内のシステム内情報及びバックアップファイル50内に保持されている。
図4は、図3の例において記録される更新ログ40の具体例を示した図である。図において、更新ログ40は、時刻、トランザクション、基表、レコードID、更新内容を並べたものになっている。このうち、レコードIDは、基表30内でのレコードの位置を表す情報であり、Rxで表している。そして、以下では、レコードIDがRxのレコードを「レコードRx」と表記するものとする。また、更新内容において、矢印の左側は更新前の値を示し、矢印の右側は更新後の値を示している。尚、更新ログ40内には複数の基表30に対する更新データが含まれている。つまり、基表30a以外に、基表30b,30cに対する更新データも含まれている。
ここで、更新ログ40について簡単に説明すると、トランザクション1は、時刻t1,t2,t4で基表30を更新し、時刻t5でコミットしている。トランザクション2は、時刻t3,t6で基表30を更新し、時刻t7でコミットしている。トランザクション3は、時刻t8,t9で基表30を更新し、時刻t10でコミットしている。トランザクション4は、時刻t11で基表30を更新し、時刻t13でコミットしている。トランザクション5は、時刻t12,t14で基表30を更新し、時刻t15でコミットしている。
図5は、図4の更新ログ40に示したような更新が行われた場合の各時点における基表30aの状態を示した図である。
(a)は、時刻t1よりも前の時刻における基表30aの内容である。レコードR1,R2,R3,R4,R5,R6の値は、それぞれ、「100」、「200」、「300」、「400」、「500」、「600」となっている。
(b)は、時刻t5以降で時刻t6よりも前の時刻における基表30aの内容である。図4を参照すると、時刻t1でレコードR3の値が「300」から「350」に更新され、時刻t4でレコードR5の値が「500」から「450」に更新されているので、レコードR1,R2,R3,R4,R5,R6の値は、それぞれ、「100」、「200」、「350」、「400」、「450」、「600」となっている。
(c)は、時刻t8以降で時刻t9よりも前の時刻における基表30aの内容である。図4を参照すると、時刻t6でレコードR6の値が「600」から「650」に更新され、時刻t8でレコードR2の値が「200」から「250」に更新されているので、レコードR1,R2,R3,R4,R5,R6の値は、それぞれ、「100」、「250」、「350」、「400」、「450」、「650」となっている。
(d)は、時刻t15以降の時刻における基表30aの内容である。図4を参照すると、時刻t11でレコードR3の値が「350」から「200」に更新され、時刻t12でレコードR6の値が「650」から「700」に更新され、時刻t14でレコードR2の値が「250」から「300」に更新さているので、レコードR1,R2,R3,R4,R5,R6の値は、それぞれ、「100」、「300」、「200」、「400」、「450」、「700」となっている。
そして、(e)は、時刻Bt1から時刻Bt2の間にバックアップされた基表30aの内容、つまり、バックアップファイル50の内容である。ここでは、各レコードのバックアップ時刻と更新時刻との先後により、(b)から(c)にかけて破線で示したように、レコードR1〜R5は(b)の状態で、レコードR6は(c)の状態でバックアップファイル50に含まれている。即ち、例えばレコードR2の値として、(c)に示した更新後の値である「250」はバックアップファイル50に反映されず、(b)に示した更新前の値である「200」がバックアップファイル50に反映されている。このように、このバックアップファイル50は、オンラインバックアップで作成されるため、必ずしも、整合性のある状態でデータがバックアップされたものではない。
次に、図4の更新ログ40と、図5(e)のバックアップファイル50とに基づいて、対象表70に、静止点Qt1における基表30aの内容を復元する場合の動作について具体的に説明する。
まず、複製生成機能60は、基表30aのバックアップファイル50を対象表70にリストアする。
また、回復開始点はRBT1、静止点はQt1(t13<Qt1<t14)なので、複製生成機能60は、更新ログ40のうち、RBT1よりも後でQt1以前の時刻における基表30aに対するログを用いる。
図6は、複製生成機能60によって用いられるログを示している。
ここでは、図4の更新ログ40の時刻t1〜t15のログレコードのうち、時刻t14,t15のログレコードは、Qt1より後の時刻のログレコードなので除外されている。また、時刻t2,t3,t9のログレコードは、基表30aに対するログレコードではないので除外されている。
そして、このようなログが、対象表70に対して当て込まれる。
図7は、ログを当て込む際の対象表70の内容の遷移を示した図である。
(a)は、ログを当て込む前の対象表70の内容である。破線#1内の楕円で囲んだレコードR3,R5,R6には、図6の(1)、(2)、(3)の更新が既に反映されている。
(b),(c),(d)は、ログを当て込んだときの対象表70の内容である。破線#2内の楕円で囲んだレコードR2には、図6の(4)の更新が反映され、その値は(b)の「200」から(c)の「250」へと書き換えられている。また、同様に、破線#2内の楕円で囲んだレコードR3には、図6の(5)の更新が反映され、その値は(c)の「350」から(d)の「200」へと書き換えられている。一方、図6の(6)の更新に対応するコミット情報は図6に含まれていないので、破線#3内の楕円で囲んだレコードR6には、図6の(6)の更新は反映されていない。
次に、このような動作を実現する複製生成機能60について詳細に説明する。
図8は、複製生成機能60の機能構成例を示したブロック図である。
図示するように、複製生成機能60は、バックアップファイル取得部61と、対象表生成部62と、更新ログ取得部63と、静止点受付部64と、更新判定部65とを備えている。
バックアップファイル取得部61は、DBMS20が出力したバックアップファイル50のうち指定された基表30のバックアップファイル50を取得する。また、このとき、バックアップファイル50に付随する回復開始点51も取得する。本実施の形態では、バックアップデータを取得するバックアップデータ取得部の一例として、また、バックアップデータに関連付けて記憶された回復開始点を取得する回復開始点取得部の一例として、バックアップファイル取得部61を設けている。
対象表生成部62は、バックアップファイル取得部61が取得したバックアップファイル50を対象表70にリストアし、更新判定部65により対象表70に反映すべきと判定されたログレコードを対象表70に当て込むことにより、ある静止点における基表30の複製を格納した対象表70を生成する。本実施の形態では、新たなデータベースを生成する生成部の一例として、対象表生成部62を設けている。
更新ログ取得部63は、DBMS20が出力した更新ログ40を取得する。本実施の形態では、更新ログを取得する更新ログ取得部の一例として、更新ログ取得部63を設けている。
静止点受付部64は、例えばユーザが指定した静止点の情報を受け付ける。本実施の形態では、特定の時点の指定を受け付ける受付部の一例として、静止点受付部64を設けている。
更新判定部65は、更新ログ取得部63が取得した更新ログ40内の各ログレコードについて、対象表70に反映すべきかどうかを判定する。
図9は、複製生成機能60の動作例を示したフローチャートである。
複製生成機能60では、まず、静止点受付部64が、例えばユーザにより静止点の指定を受け付ける(ステップ601)。
次に、バックアップファイル取得部61が、DBMS20が出力したバックアップファイル50のうち、指定された基表30のバックアップファイル50及びこれに付随する回復開始点51を取得する(ステップ602)。そして、対象表生成部62が、このバックアップファイル50を対象表70にリストアする(ステップ603)。
また、更新ログ取得部63が、DBMS20が出力した更新ログ40を取得する(ステップ604)。
このようにバックアップファイル50が対象表70にリストアされ、更新ログ40が取得されると、更新判定部65が、更新ログ40内の各ログレコードを対象表70の更新に用いるかどうかを判定し、更新に用いると判定されたログレコードで対象表70を更新する。
即ち、まず、更新判定部65は、回復開始点51のログレコードを見つける(ステップ605)。ここで、回復開始点51としては、ステップ602でバックアップファイル取得部61がバックアップファイル50と共に取得した回復開始点51を用いればよい。そして、回復開始点で実行中だったトランザクションに関する情報(以下、「トランザクション情報」という)をログレコードから読み取り、仕掛かり中トランザクション情報として、メモリに記憶する(ステップ606)。
次に、更新判定部65は、取得された更新ログ40から1つのログレコードを読み出す(ステップ607)。そして、そのログレコードにおける更新が静止点よりも後に行われたものかどうかを判定する(ステップ608)。具体的には、そのログレコードのタイムスタンプが静止点のタイムスタンプより新しいかどうかを判定する。ここで、静止点としては、ステップ601で静止点受付部64が受け付けた静止点を用いればよい。
ここで、そのログレコードにおける更新が静止点よりも後に行われたものではない、つまり、そのログレコードのタイムスタンプが静止点のタイムスタンプより新しくないと判定されれば、更新判定部65は、そのログレコードが基表30の更新に関するログレコードであるかどうかを判定する(ステップ609)。
その結果、基表30の更新に関するログレコードでないと判定されれば、ステップ607へ戻る。
一方、基表30の更新に関するログレコードであると判定されれば、そのログレコードがトランザクション開始情報(以下、単に「開始情報」という)を含むかどうかを判定する(ステップ610)。そして、そのログレコードが開始情報を含むと判定されれば、新しいトランザクション情報を仕掛かり中トランザクション情報としてメモリに記憶して(ステップ611)、ステップ607へ戻る。また、そのログレコードが開始情報を含まないと判定されれば、ステップ612へ進む。
また、更新判定部65は、そのログレコードがコミット情報を含むかどうかを判定する(ステップ612)。そして、そのログレコードがコミット情報を含むと判定されれば、コミット情報に対応する仕掛かり中トランザクション情報をメモリから消去して(ステップ613)、ステップ607へ戻る。また、そのログレコードがコミット情報を含まないと判定されれば、対象表70の更新処理に移る。
即ち、このようにステップ608で静止点よりも後における更新に関するものではないと判定され、ステップ609で基表30の更新に関すると判定され、ステップ610で開始情報を含まないと判定され、ステップ612でコミット情報を含まないと判定されたログレコードは、対象表70に反映すべき更新データを保持するログレコードである。そこで、更新判定部65は、この基表30のログレコードを対象表70のログレコードに変換し(ステップ614)、変換後のログレコードで対象表70を更新する(ステップ615)。そして、ステップ607へ戻り、以降、ステップ607で読み込んだログレコードに対して、ステップ608でログレコードにおける更新が静止点よりも後に行われたものとなるまで同様の処理を繰り返す。そして、ステップ608でログレコードにおける更新が静止点よりも後に行われたものである、つまり、ログレコードのタイムスタンプが静止点のタイムスタンプより新しいと判定されれば、メモリ内に残った仕掛かり中トランザクション情報のトランザクションに属する更新済みデータをロールバックさせる(ステップ616)。
ここで、図9のフローチャートにおける複製生成機能60の動作例を、ステップ607で図6のログレコードを読み込んで図7のような更新を行う場合を例にとって説明する。但し、時刻t5,t7,t10,t13のログレコードを読み込んだ場合については、これらがコミット情報であり、ステップ612で「Yes」となって、更新に用いるログレコードと判定されないので、説明を省略する。
まず、図6のログレコード(1)を読み込んだ場合について説明する。尚、このログレコード(1)については、ステップ607で読み込まれたことによりRBT1<t1であることが確認されたことを前提とする。そして、ステップ608でt1≦Qt1であることが確認され、ステップ609で基表30aのログレコードであることが確認され、ステップ610で開始情報を含まないことが確認され、ステップ612でコミット情報を含まないことが確認されるので、複製生成機能60は、このログレコード(1)に従い、対象表70内のレコードR3の値を更新しようとする。しかしながら、レコードR3は更新済みなので実際には更新は行われない。
次に、図6のログレコード(2)を読み込んだ場合について説明する。尚、このログレコード(2)については、ステップ607で読み込まれたことによりRBT1<t4であることが確認されたことを前提とする。そして、ステップ608でt4≦Qt1であることが確認され、ステップ609で基表30aのログレコードであることが確認され、ステップ610で開始情報を含まないことが確認され、ステップ612でコミット情報を含まないことが確認されるので、複製生成機能60は、このログレコード(2)に従い、対象表70内のレコードR5の値を更新しようとする。しかしながら、レコードR5は更新済みなので実際には更新は行われない。
次いで、図6のログレコード(3)を読み込んだ場合について説明する。尚、このログレコード(3)については、ステップ607で読み込まれたことによりRBT1<t6であることが確認されたことを前提とする。そして、ステップ608でt6≦Qt1であることが確認され、ステップ609で基表30aのログレコードであることが確認され、ステップ610で開始情報を含まないことが確認され、ステップ612でコミット情報を含まないことが確認されるので、複製生成機能60は、このログレコード(2)に従い、対象表70内のレコードR6の値を更新しようとする。しかしながら、レコードR6は更新済みなので実際には更新は行われない。
以上は、図7の破線#1内の楕円で囲んだレコードに対する処理である。
また、図6のログレコード(4)を読み込んだ場合について説明する。尚、このログレコード(4)については、ステップ607で読み込まれたことによりRBT1<t8であることが確認されたことを前提とする。そして、ステップ608でt8≦Qt1であることが確認され、ステップ609で基表30aのログレコードであることが確認され、ステップ610でコミット情報ではないことが確認され、ステップ612でコミット情報を含まないことが確認されるので、複製生成機能60は、このログレコード(4)に従い、対象表70内のレコードR2の値を「200」から「250」に変更する。
次に、図6のログレコード(5)を読み込んだ場合について説明する。尚、このログレコード(5)については、ステップ607で読み込まれたことによりRBT1<t11であることが確認されたことを前提とする。そして、ステップ608でt11≦Qt1であることが確認され、ステップ609で基表30aのログレコードであることが確認され、ステップ610でコミット情報ではないことが確認され、ステップ612でコミット情報を含まないことが確認されるので、複製生成機能60は、このログレコード(5)に従い、対象表70内のレコードR3の値を「350」から「200」に変更する。
以上は、図7の破線#2内の楕円で囲んだレコードに対する処理である。
一方、図6のログレコード(6)を読み込んだ場合について説明する。尚、このログレコード(6)については、ステップ607で読み込まれたことによりRBT1<t12であることが確認されたことを前提とする。そして、ステップ608でt12≦Qt1であることが確認され、ステップ609で基表30aのログレコードであることが確認され、ステップ610でコミット情報ではないことが確認され、ステップ612でコミット情報を含まないことが確認されるので、複製生成機能60は、このログレコード(6)に従い、対象表70内のレコードR6の値を「650」から「700」に変更する。しかしながら、ステップ608で「Yes」となった時点で、このログレコード(6)を出力したトランザクションのトランザクション情報がメモリ内に存在するので、ステップ616でこの変更に対してロールバックが行われ、レコードR6の値は「650」に戻される。
以上は、図7の破線#3内の楕円で囲んだレコードに対する処理である。
以上、本発明の実施の形態について説明した。
このように、本実施の形態では、ある静止点におけるデータベースの複製を、基表30のオンラインバックアップと更新ログ40とから、別表である対象表70に対して作成するようにした。これにより、流動的な(常に更新によって変化する)データベースの静止点における内容を容易に別表に作成可能となる。
また、本実施の形態では、対象表70の作成が基表30の更新業務に一切影響しないため、基表30を連続的に稼動させることができる。
更に、本実施の形態では、例えば数百GBの大きな基表30であっても、その複製に要する時間を短くし、その際に必要なCPU使用量、ディスク容量を小さくすることが可能になる。
更にまた、本実施の形態では、同じ静止点における複数の基表30の内容を持つ複製の作成も可能である。
尚、本実施の形態を製品に実装するために、以下の製品改善を行えばよい。
まず、ある基表30のバックアップファイル50と更新ログ40とを基表30とは別の表の復元のために使用できるようにするような改善である。例えば、DBMS20が別の表に使用できないように制限されていれば、その制限を外す必要がある。そして、基表30の更新ログ40をその情報を保持したまま対象表70に当てるように変換する機能を追加する必要がある。
また、製品は以下の機能を備えることが望ましい。
第一に、運用を容易に行えるよう、静止点をタイムスタンプによって指定できるようにする機能である。
第二に、基表30と対象表70の属性が同じであることをチェックする機能である。
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図10は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
尚、図10において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、フレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…アプリケーションプログラム、20…DBMS、30…基表、40…更新ログ、50…バックアップファイル、60…複製生成機能、70…対象表

Claims (10)

  1. 特定の時点におけるデータベースの複製を生成する装置であって、
    前記データベースの回復に用いるためにDBMS(DataBase Management System)が前記特定の時点よりも前に当該データベースの更新を停止することなく出力した当該データベースのバックアップデータを取得するバックアップデータ取得部と、
    前記データベースの回復に用いるために前記DBMSが前記バックアップデータを出力した時間帯よりも前の回復開始点から前記特定の時点までの間に記録した当該データベースの更新ログを取得する更新ログ取得部と、
    前記バックアップデータ取得部により取得された前記バックアップデータと、前記更新ログ取得部により取得された前記更新ログとに基づいて、前記特定の時点における前記データベースの内容を保持する新たなデータベースを前記複製として生成する生成部と
    を含む、装置。
  2. 前記生成部は、前記バックアップデータ取得部により取得された前記バックアップデータを、前記更新ログ取得部により取得された前記更新ログのうち前記特定の時点よりも前にコミットされたトランザクションに関する部分で更新することにより、前記新たなデータベースを生成する、請求項1の装置。
  3. 前記生成部は、前記バックアップデータ取得部により取得された前記バックアップデータを、前記更新ログ取得部により取得された前記更新ログのうち当該バックアップデータに反映されていない更新に関する部分で更新することにより、前記新たなデータベースを生成する、請求項1の装置。
  4. ユーザによる前記特定の時点の指定を受け付ける受付部を更に含む、請求項1の装置。
  5. 前記バックアップデータ取得部により取得された前記バックアップデータに関連付けて記憶された前記回復開始点を取得する回復開始点取得部を更に含む、請求項1の装置。
  6. 特定の時点におけるデータベースの複製を生成する装置であって、
    前記データベースの回復に用いるために当該データベースの更新を停止することなく当該データベースのバックアップデータを出力する出力機能と、前記データベースの回復に用いるために当該データベースの更新ログを記録する記録機能とを少なくとも有する、DBMS(DataBase Management System)と、
    前記特定の時点よりも前に前記DBMSの前記出力機能により出力された前記バックアップデータと、前記バックアップデータを出力した時間帯よりも前の回復開始点から前記特定の時点までの間に前記DBMSの前記記録機能により記録された前記更新ログとに基づいて、前記特定の時点における前記データベースの内容を保持する新たなデータベースを前記複製として生成する生成部と
    を含む、装置。
  7. 前記DBMSの前記出力機能により出力された前記バックアップデータに関連付けて、当該バックアップデータが出力された時間帯よりも前のチェックポイントを記憶する記憶部と、
    前記記憶部に前記バックアップデータに関連付けて記憶された前記チェックポイントを前記回復開始点に決定する決定部と
    を更に含む、請求項6の装置。
  8. 特定の時点におけるデータベースの複製を生成する装置であって、
    前記データベースの回復に用いるために当該データベースの更新を停止することなく当該データベースのバックアップデータを出力する出力機能と、前記データベースの回復に用いるために当該データベースの更新ログを記録する記録機能とを少なくとも有する、DBMS(DataBase Management System)と、
    前記特定の時点よりも前に前記DBMSの前記出力機能により出力された前記バックアップデータを取得するバックアップデータ取得部と、
    前記バックアップデータを出力した時間帯よりも前の回復開始点から前記特定の時点までの間に前記DBMSの前記記録機能により記録された前記更新ログを取得する更新ログ取得部と、
    前記バックアップデータ取得部により取得された前記バックアップデータを、前記更新ログ取得部により取得された前記更新ログのうち、前記特定の時点よりも前にコミットされたトランザクションに関し、かつ、当該バックアップデータに反映されていない更新に関する部分で更新することにより、前記特定の時点における前記データベースの内容を保持する新たなデータベースを前記複製として生成する生成部と
    を含む、装置。
  9. 特定の時点におけるデータベースの複製を生成する方法であって、
    前記データベースの回復に用いるためにDBMS(DataBase Management System)が前記特定の時点よりも前に当該データベースの更新を停止することなく出力した当該データベースのバックアップデータを取得するステップと、
    前記データベースの回復に用いるために前記DBMSが前記バックアップデータを出力した時間帯よりも前の回復開始点から前記特定の時点までの間に記録した当該データベースの更新ログを取得するステップと、
    前記バックアップデータと、前記更新ログとに基づいて、前記特定の時点における前記データベースの内容を保持する新たなデータベースを前記複製として生成するステップと
    を含む、方法。
  10. 特定の時点におけるデータベースの複製を生成する装置としてコンピュータを機能させるプログラムであって、
    前記コンピュータを、
    前記データベースの回復に用いるためにDBMS(DataBase Management System)が前記特定の時点よりも前に当該データベースの更新を停止することなく出力した当該データベースのバックアップデータを取得するバックアップデータ取得部と、
    前記データベースの回復に用いるために前記DBMSが前記バックアップデータを出力した時間帯よりも前の回復開始点から前記特定の時点までの間に記録した当該データベースの更新ログを取得する更新ログ取得部と、
    前記バックアップデータ取得部により取得された前記バックアップデータと、前記更新ログ取得部により取得された前記更新ログとに基づいて、前記特定の時点における前記データベースの内容を保持する新たなデータベースを前記複製として生成する生成部と
    して機能させる、プログラム。
JP2009240534A 2009-10-19 2009-10-19 データベースの複製を生成する装置及び方法 Expired - Fee Related JP5039891B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009240534A JP5039891B2 (ja) 2009-10-19 2009-10-19 データベースの複製を生成する装置及び方法
US12/858,637 US8775386B2 (en) 2009-10-19 2010-08-18 Device and method for generating copy of database
US13/611,056 US8799232B2 (en) 2009-10-19 2012-09-12 Method for generating copy of database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009240534A JP5039891B2 (ja) 2009-10-19 2009-10-19 データベースの複製を生成する装置及び方法

Publications (2)

Publication Number Publication Date
JP2011086241A true JP2011086241A (ja) 2011-04-28
JP5039891B2 JP5039891B2 (ja) 2012-10-03

Family

ID=43880072

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009240534A Expired - Fee Related JP5039891B2 (ja) 2009-10-19 2009-10-19 データベースの複製を生成する装置及び方法

Country Status (2)

Country Link
US (2) US8775386B2 (ja)
JP (1) JP5039891B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425547A (zh) * 2013-08-22 2013-12-04 宁波三星电气股份有限公司 基于VxWorks操作系统的电力数据处理方法
JPWO2015145586A1 (ja) * 2014-03-25 2017-04-13 株式会社Murakumo データベースシステム、情報処理装置、方法およびプログラム
WO2020241727A1 (ja) * 2019-05-28 2020-12-03 株式会社Murakumo 情報処理システム
US11144574B2 (en) 2014-11-27 2021-10-12 International Business Machines Corporation System and method for managing database

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5460486B2 (ja) * 2010-06-23 2014-04-02 インターナショナル・ビジネス・マシーンズ・コーポレーション データをソートする装置及び方法
US9037407B2 (en) 2010-07-12 2015-05-19 Palantir Technologies Inc. Method and system for determining position of an inertial computing device in a distributed network
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8504542B2 (en) * 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US8818949B2 (en) 2011-12-30 2014-08-26 Bmc Software, Inc. Systems and methods for migrating database data
US9152659B2 (en) * 2011-12-30 2015-10-06 Bmc Software, Inc. Systems and methods for migrating database data
KR101424568B1 (ko) 2012-10-12 2014-08-01 (주)티베로 트랜잭션 재시작 가능한 클라이언트 장치와 데이터베이스 서버 및 방법
JP6082029B2 (ja) 2012-12-21 2017-02-15 株式会社Murakumo 情報処理方法、情報処理装置、及び、プログラム
US9380431B1 (en) 2013-01-31 2016-06-28 Palantir Technologies, Inc. Use of teams in a mobile application
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US9110847B2 (en) 2013-06-24 2015-08-18 Sap Se N to M host system copy
US9122781B2 (en) * 2013-10-27 2015-09-01 Bank Of America Corporation Computer application maturity illustration system with recovery exercise date display and analytics
US9448907B2 (en) * 2013-10-27 2016-09-20 Bank Of America Corporation Computer application maturity illustration system with single point of failure analytics and remediation techniques
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9503844B1 (en) 2013-11-22 2016-11-22 Palantir Technologies Inc. System and method for collocation detection
US10579647B1 (en) 2013-12-16 2020-03-03 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US9727376B1 (en) 2014-03-04 2017-08-08 Palantir Technologies, Inc. Mobile tasks
WO2015145587A1 (ja) 2014-03-25 2015-10-01 株式会社Murakumo データベースシステム、情報処理装置、方法およびプログラム
US10103953B1 (en) 2015-05-12 2018-10-16 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US10296617B1 (en) 2015-10-05 2019-05-21 Palantir Technologies Inc. Searches of highly structured data
US10043102B1 (en) 2016-01-20 2018-08-07 Palantir Technologies Inc. Database systems and user interfaces for dynamic and interactive mobile image analysis and identification
CN106899648B (zh) 2016-06-20 2020-02-14 阿里巴巴集团控股有限公司 一种数据处理方法和设备
CN106776136B (zh) * 2016-12-12 2019-10-22 网易(杭州)网络有限公司 数据库处理方法和装置
US10642853B2 (en) 2016-12-14 2020-05-05 Palantir Technologies Inc. Automatically generating graphical data displays based on structured descriptions
US11138236B1 (en) 2017-05-17 2021-10-05 Palantir Technologies Inc. Systems and methods for packaging information into data objects
US11226876B2 (en) * 2018-06-21 2022-01-18 Sap Se Non-blocking backup in a log replay node for tertiary initialization
JP7193713B2 (ja) * 2018-10-31 2022-12-21 富士通株式会社 転送方式制御プログラム、転送方式制御装置及び転送方式制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078464A (ja) * 2002-08-14 2004-03-11 Nippon Yunishisu Kk リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置
JP2006155676A (ja) * 2006-03-17 2006-06-15 Fujitsu Ltd 指定時刻のデータベースバックアップ方法及びデータベースバックアップ装置
JP2009151636A (ja) * 2007-12-21 2009-07-09 Nomura Research Institute Ltd 業務継続システム

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0516900B1 (en) * 1991-06-04 1996-05-01 International Business Machines Corporation Data backup and recovery in a data processing system
JPH0997201A (ja) 1995-09-30 1997-04-08 Nec Corp データベースのバックアップ作成システム
US5870537A (en) * 1996-03-13 1999-02-09 International Business Machines Corporation Concurrent switch to shadowed device for storage controller and device errors
US6732123B1 (en) * 1998-02-23 2004-05-04 International Business Machines Corporation Database recovery to any point in time in an online environment utilizing disaster recovery technology
US6065018A (en) 1998-03-04 2000-05-16 International Business Machines Corporation Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases
US6289357B1 (en) * 1998-04-24 2001-09-11 Platinum Technology Ip, Inc. Method of automatically synchronizing mirrored database objects
US7065538B2 (en) * 2000-02-11 2006-06-20 Quest Software, Inc. System and method for reconciling transactions between a replication system and a recovered database
JP3985430B2 (ja) 2000-06-02 2007-10-03 富士ゼロックス株式会社 データベース管理装置及び方法
US7076508B2 (en) * 2002-08-12 2006-07-11 International Business Machines Corporation Method, system, and program for merging log entries from multiple recovery log files
US6957221B1 (en) * 2002-09-05 2005-10-18 Unisys Corporation Method for capturing a physically consistent mirrored snapshot of an online database from a remote database backup system
US6983295B1 (en) * 2002-10-24 2006-01-03 Unisys Corporation System and method for database recovery using a mirrored snapshot of an online database
US7412460B2 (en) * 2003-06-19 2008-08-12 International Business Machines Corporation DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
US7133884B1 (en) * 2003-11-26 2006-11-07 Bmc Software, Inc. Unobtrusive point-in-time consistent copies
US7200626B1 (en) 2004-01-22 2007-04-03 Unisys Corporation System and method for verification of a quiesced database copy
JP4489455B2 (ja) * 2004-02-16 2010-06-23 株式会社日立製作所 ディスク制御装置及びディスク制御装置の制御方法
JP4483342B2 (ja) 2004-02-27 2010-06-16 株式会社日立製作所 システム復旧方法
US20060218204A1 (en) * 2005-03-25 2006-09-28 International Business Machines Corporation Log stream validation in log shipping data replication systems
US7788521B1 (en) * 2005-07-20 2010-08-31 Bakbone Software, Inc. Method and system for virtual on-demand recovery for real-time, continuous data protection
JP4839091B2 (ja) * 2006-01-27 2011-12-14 株式会社日立製作所 データベース回復方法及び計算機システム
US7822717B2 (en) * 2006-02-07 2010-10-26 Emc Corporation Point-in-time database restore
US7555502B2 (en) * 2006-03-10 2009-06-30 Oracle International Corporation Detecting database events using recovery logs
JP5124989B2 (ja) * 2006-05-26 2013-01-23 日本電気株式会社 ストレージシステム及びデータ保護方法とプログラム
US8671076B2 (en) * 2007-05-08 2014-03-11 Bmc Software, Inc. Database recovery using logs applied to consistent copies
JP5228466B2 (ja) 2007-12-14 2013-07-03 富士通株式会社 バックアップ装置、バックアップ方法およびバックアッププログラム
US8341014B2 (en) * 2007-12-28 2012-12-25 International Business Machines Corporation Recovery segments for computer business applications
JP5224240B2 (ja) 2008-03-25 2013-07-03 株式会社日立製作所 計算機システム及び管理計算機
US8099387B2 (en) * 2008-06-02 2012-01-17 International Business Machines Corporation Managing consistency groups using heterogeneous replication engines
US8290882B2 (en) * 2008-10-09 2012-10-16 Microsoft Corporation Evaluating decision trees on a GPU
US8204859B2 (en) * 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078464A (ja) * 2002-08-14 2004-03-11 Nippon Yunishisu Kk リアルタイム更新差分抽出によるデータベースの作成方法およびその情報処理装置
JP2006155676A (ja) * 2006-03-17 2006-06-15 Fujitsu Ltd 指定時刻のデータベースバックアップ方法及びデータベースバックアップ装置
JP2009151636A (ja) * 2007-12-21 2009-07-09 Nomura Research Institute Ltd 業務継続システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103425547A (zh) * 2013-08-22 2013-12-04 宁波三星电气股份有限公司 基于VxWorks操作系统的电力数据处理方法
CN103425547B (zh) * 2013-08-22 2016-04-27 宁波三星医疗电气股份有限公司 基于VxWorks操作系统的电力数据处理方法
JPWO2015145586A1 (ja) * 2014-03-25 2017-04-13 株式会社Murakumo データベースシステム、情報処理装置、方法およびプログラム
US11144574B2 (en) 2014-11-27 2021-10-12 International Business Machines Corporation System and method for managing database
WO2020241727A1 (ja) * 2019-05-28 2020-12-03 株式会社Murakumo 情報処理システム
JP7398066B2 (ja) 2019-05-28 2023-12-14 株式会社Murakumo 情報処理システム

Also Published As

Publication number Publication date
US20110093440A1 (en) 2011-04-21
US20130006941A1 (en) 2013-01-03
US8799232B2 (en) 2014-08-05
JP5039891B2 (ja) 2012-10-03
US8775386B2 (en) 2014-07-08

Similar Documents

Publication Publication Date Title
JP5039891B2 (ja) データベースの複製を生成する装置及び方法
US10146643B2 (en) Database recovery and index rebuilds
CA2933790C (en) Apparatus and method for creating a real time database replica
US10235375B1 (en) Persistent file system objects for management of databases
US11256715B2 (en) Data backup method and apparatus
US7412460B2 (en) DBMS backup without suspending updates and corresponding recovery using separately stored log and data files
US9141630B2 (en) Fat directory structure for use in transaction safe file system
CN100478946C (zh) 用于文件系统快照持久性的方法和装置
CN110209735B (zh) 数据库备份方法、数据库备份装置、计算设备和存储介质
US7433902B2 (en) Non-disruptive backup copy in a database online reorganization environment
US9916211B2 (en) Relational database recovery
US20120066182A1 (en) Inode management in redirect-on-write file system
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
US8402008B2 (en) Handling file operations with low persistent storage space
US20060004877A1 (en) Method and system for data processing with data replication for the same
CN115658391A (zh) 基于QianBase MPP数据库的WAL机制的备份恢复方法
US10452496B2 (en) System and method for managing storage transaction requests
KR100775141B1 (ko) 저널링이 적용된 fat 파일 시스템의 구현 방법
US20020169780A1 (en) Method and data processing system for providing disaster recovery file synchronization
WO2004097648A1 (ja) データベース制御方法
JP2005352821A (ja) 関係に関する追加動作、撤回動作、および災害時回復動作を実行する時にターゲット・ボリュームとソース・ボリュームの間の関係に関する情報を管理する方法、システム、およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111018

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120410

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120426

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees