JP3985430B2 - データベース管理装置及び方法 - Google Patents
データベース管理装置及び方法 Download PDFInfo
- Publication number
- JP3985430B2 JP3985430B2 JP2000166758A JP2000166758A JP3985430B2 JP 3985430 B2 JP3985430 B2 JP 3985430B2 JP 2000166758 A JP2000166758 A JP 2000166758A JP 2000166758 A JP2000166758 A JP 2000166758A JP 3985430 B2 JP3985430 B2 JP 3985430B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- backup
- information
- management table
- time
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、データベースのバックアップ技術に関する。
【0002】
【従来の技術】
データベースのバックアップ方式として、従来より差分バックアップ方式が用いられている。例えば従来のファイリング装置における差分バックアップ処理では、データベース(ファイルシステム)の内容に変化が生じる操作が行われたとき、その操作の内容をバックアップ情報として記録していた。例えば、データベース内容に変化が生じるのはファイルやディレクトリの追加、削除、その内容の変更などの操作が行われたときであり、そのような操作が確定された場合にのみ操作内容をバックアップするのが一般的である。差分バックアップは、データベースの内容全体をバックアップ(フルバックアップと呼ぶ)した時点から開始する。差分バックアップ情報は、データベースとは別の記憶媒体に保管され、障害が起こった場合などには、そのバックアップ情報を用いて復旧処理を行う。
【0003】
復旧処理では、バックアップ情報に表された操作内容を時系列順に読み出し、前回のフルバックアップデータに対して時系列順にそれら操作を適用していくことにより、障害発生直前のデータベースイメージを再生する。
【0004】
【発明が解決しようとする課題】
しかしながら、このような従来の差分バックアップ方式では、次のような問題が生じる。
【0005】
まず、従来方式では、個々の操作内容の情報をそのまま保存する必要があるため、差分バックアップ処理を行っている間は、データベースシステムの処理速度が低下する。例えば、画像ファイルなどを追加する場合、「追加」という操作コードの他にその画像ファイル自体をバックアップ用の媒体にコピーするなどの処理が必要となるため処理に時間を要し、参照や追加、削除などデータベース本来のサービスの効率が落ちてしまうおそれがあった。
【0006】
また従来方式では、差分バックアップ情報からデータベース復旧を行う際、操作内容の時系列を順に適用していく必要があるため、多大の処理時間を要するという問題があった。
【0007】
本発明は、このような問題に鑑みなされたものであり、通常のサービス処理の効率をできるだけ落とさないよう、バックアップ処理の負荷を低減することのできるデータベース管理装置を提供することを目的とする。また、本発明は、障害の復旧に要する処理の時間を従来より低減できるデータベース管理装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るデータベース管理装置は、データベースに登録された各オブジェクトの実体データに関して、当該実体データの格納場所の情報を含む当該オブジェクトの管理情報を保持する管理テーブルと、前記データベースに対して行われた操作に応じて前記管理テーブルを更新する手段と、所定のバックアップタイミングごとに、その時点での前記管理テーブルの内容のコピーをスナップショット情報として保存するスナップショット手段と、前記バックアップタイミングごとに、その時点での前記管理テーブルの内容と前回バックアップタイミングに作成された前記スナップショット情報との間で各オブジェクトの実体データの格納場所の情報を比較することにより、前回から今回までの間で前記データベースに追加されたオブジェクトの実体データの有無を判定し、前記データベースに追加されたオブジェクトの実体データがあると判定された場合は、前記管理テーブルにおける当該追加されたオブジェクトの実体データの格納場所の情報に基づき、当該追加されたオブジェクトの実体データをバックアップするバックアップ手段とを備える。
【0009】
また本発明に係るデータベース管理装置は、データベースに登録された各オブジェクトの実体データに関して、当該実体データの格納場所の情報を含む当該オブジェクトの管理情報を保持する管理テーブルと、所定の基準時点での前記データベースの前記管理テーブルの内容を記憶する手段と、前記データベースに対して行われた操作に応じて前記管理テーブルを更新する手段と、所定のバックアップタイミングにおいて、前記管理テーブルの内容と前記基準時点での前記管理テーブルの内容との間で各オブジェクトの実体データの格納場所の情報を比較することにより、前記基準時点から現時点までの間で前記データベースに追加されたオブジェクトの実体データの有無を判定し、前記データベースに追加されたオブジェクトの実体データがあると判定された場合は、前記管理テーブルにおける当該追加されたオブジェクトの実体データの格納場所の情報に基づき、当該追加されたオブジェクトの実体データをバックアップするバックアップ手段とを備える。
【0010】
本発明では、データベースに対する操作の度にバックアップ処理を行う必要がないので、通常のデータベース処理の効率の低下を抑えることができる。また、リストアの際も、個々のデータベース操作を時系列順に反映させていくという煩雑な処理が要らないので、リストア処理が高速化できる。
【0011】
好適な態様では、データベース管理装置は、前記データベースに対して行われる操作の頻度をモニタする手段と、前記バックアップ手段における前記バックアップタイミングを、前記操作の頻度に応じて自動設定するタイミング設定手段とを備える。
【0012】
この態様によれば、バックアップタイミングをデータベース操作頻度に応じて決定できるため、データベースの使用状況に応じた適切なタイミングでバックアップ処理を実行することができる。
【0013】
【発明の実施の形態】
以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。
【0014】
図1は、本発明に係るデータベースシステムの要部構成を示す図であり、特にバックアップ処理に関する構成を示したものである。以下では、オブジェクト群を階層構造を用いて管理するファイリングサービス機能を備えたシステムを例にとって説明する。
【0015】
データベース10は、管理対象の各種オブジェクトのデータを保持している。オブジェクトは、例えばファイルやディレクトリなどであり、オブジェクト間に親子関係が存在する。データベース10は、個々のオブジェクトの実体データのファイルに加え、各オブジェクトの管理情報を保持する管理テーブル部100を備えている。
【0016】
管理テーブル部100は、属性情報管理テーブル110、親子関係管理テーブル120、及び画像データ保管先管理テーブル130の3種のテーブルを備える。これら各テーブルで管理するデータ項目の例を図3に示す。この例では、設計部門での図面の画像データの管理の場合を例にとる。したがって、データベースで管理されるオブジェクトは、図面の画像データのファイルや、それらファイルを収容するためのディレクトリ(フォルダ)などである。
【0017】
まず属性情報管理テーブル110は、データベース10に登録されている個々のオブジェクトの属性情報を保持、管理するテーブルである。このテーブル110は、図3(a)に示すように、各オブジェクトごとに、オブジェクトID、オブジェクト名、更新日時、補助的な属性情報(「属性1」、「属性2」)の各データ項目を保持する。オブジェクトIDは、データベース10が当該オブジェクトに対して付与した一意な識別情報である。オブジェクト名は、ユーザがそのオブジェクトに与えたファイル名やディレクトリ名などの名称である。更新日時は、そのオブジェクトが新たにデータベース10に登録された時や、既登録のそのオブジェクトについて更新が加えられた時の日時、時刻を示し、更新が行われる度にその値は変更されていく。補助的な属性情報である「属性1」、「属性2」は、ユーザ側が自由に定義して利用できるデータ項目である。図3の例では、「属性1」は当該オブジェクト(図面画像ファイル又はディレクトリ)が関連する部品(例えばその図面が表す部品)の名前を、「属性2」は当該オブジェクトが関連する部門(例えばその図面やフォルダを所有する設計部門)の名前を、それぞれ示している。
【0018】
親子関係管理テーブル120は、データベース10に登録されているオブジェクト間の親子関係の管理のためのテーブルである。この例では、オブジェクト群の階層構造を、2オブジェクト間の親子関係の集まりとして管理している。このテーブル120は、図3(b)に示すように、個々の親子関係ごとに、リンクID、親オブジェクトID、及び子オブジェクトIDの各項目を保持している。リンクIDは、データベース10が当該親子関係に対して付与した一意的な識別情報である。親オブジェクトIDは、その親子関係における親(すなわち上位)のオブジェクトのオブジェクトIDである。子オブジェクトIDは、その親子関係における子(すなわち下位)のオブジェクトのオブジェクトIDである。図の例では、リンクID“1”の親子関係は、オブジェクトID“0002”を持つオブジェクト「見取り図」がオブジェクトID“0001”のオブジェクト「フォルダー」の子になっていることを示している。
【0019】
画像データ保管先管理テーブル130は、個々のオブジェクトの実体データの保管先の情報を保持、管理するテーブルである。テーブル130には、図3(c)に示すように、図面画像データを表す各オブジェクトごとに、そのオブジェクトのオブジェクトIDと、その画像データのデータファイル名とがペアになり、そのペアに対して一意的な「保管先ID」が付与されている。データファイル名は、その画像データのファイルの格納場所も含めたパス、あるいはネットワークアドレスなどの形で記述される。なお、ディレクトリなど、画像データファイルではないオブジェクトについては、当然ながらこの保管先管理テーブル130には管理情報が登録されない。
【0020】
以上、管理テーブル部100について説明した。ここで再び図1を参照し、本システムの残りの構成要素について説明する。
【0021】
スナップショット情報記憶部20は、ある時点での管理テーブル部100のコピー(以下、スナップショット情報と呼ぶ)を記憶する記憶手段である。
【0022】
バックアップ処理部30は、データベース10のバックアップに関する処理を行う手段である。本実施形態では、バックアップ処理部30は、所定のバックアップタイミングごとに、その時点での管理テーブル部100の内容と、スナップショット情報記憶部20に記憶した前回のバックアップタイミングにおける管理テーブル部100のスナップショット情報とを比較し、その比較に基づき、前回バックアップタイミングから現時点までの間のデータベース100の変化を抽出する。そして、その変化内容を示すバックアップ情報を作成し、バックアップ情報保管部40に保管する。また、バックアップ処理部30は、バックアップ情報の作成・保管の後、その時点の管理テーブル100のスナップショット情報を作成し、スナップショット情報記憶部20に記憶する。このとき、前回のスナップショット情報に対して上書きを行うことにより、スナップショット情報記憶部20の容量を節約できる。
【0023】
バックアップタイミングは、例えば、システム管理者が予め設定したバックアップ間隔ごとなど、所定の規則に従って決定される。
【0024】
バックアップ情報保管部40には、各バックアップタイミングにて作成されたバックアップ情報が、時系列的な順序が認識可能な態様で保管される。障害復旧時には、このバックアップ情報保管部40に保管されたバックアップ情報を用いてデータベース10の復旧(リストア)が行われる。
【0025】
図2は、本データベースシステムの障害復旧処理時の構成を示している。この構成において、リストア処理部50は、データベース10の復旧処理を行う手段であり、バックアップ情報保管部40に保管された各バックアップ情報に示されるデータベース10の変化内容を、時系列順にデータベース10に適用していくことにより、データベース10を復旧する。なお、この復旧処理のため、バックアップ処理部30によるバックアップ処理を開始する時点(基準時点と呼ぶ)で、データベース10のフルバックアップが行われ、データベース10全体のコピーが保存されている。復旧処理は、このフルバックアップ時のコピーを基準に実行される。
【0026】
次に、図4を参照して、本実施形態のシステムにおけるバックアップ処理について説明する。図4は、バックアップタイミングが到来したときのバックアップ処理部30の処理手順を示すフローチャートである。所定の時間間隔(例えば1時間、1日など)ごとにバックアップを行うようシステムを設定した場合、システムは、前回のバックアップタイミングからその所定時間間隔が経過したとき、バックアップタイミングが到来したと判定して図4の処理を開始する。
【0027】
ステップS1では、バックアップ処理部30は、前回バックアップタイミングから現時点までの間にデータベース10から削除されたオブジェクトを確定し、それらオブジェクトが削除された旨の情報をバックアップ情報保管部40に登録する。この処理の詳細な手順を図5に示す。
【0028】
図5に示すように、S1の処理では、まずスナップショット情報記憶部20に記憶されたスナップショット情報中の属性情報管理テーブルから、そのテーブル中に含まれるオブジェクトID群を取得する(S11)。これらは、前回のバックアップタイミングの時点でデータベース10に登録されていた各オブジェクトのIDである。次に、このようにして取得した各オブジェクトIDをそれぞれ順に検索対象に選び、そのIDが管理テーブル部100の属性情報管理テーブル110に存在するか否か検索する(S12)。存在すれば、そのIDに該当するオブジェクトは現時点でもデータベース10に登録されているということなので、ここではなにもしない。これに対し、S12の判定結果がN(否定)の場合、そのオブジェクトIDに該当するオブジェクトは前回バックアップタイミングではデータベース10に登録されていたが、今回の時点では登録されていないということになり、そのオブジェクトが前回から今回までの間に削除されたと判断できる。この場合、そのオブジェクトIDを、削除オブジェクト情報としてバックアップ情報保管部40に保管する(S13)。そして、S11で取得した全オブジェクトIDについてS12(及びS13)の処理を繰り返す(S14)。
【0029】
このようにして作成された削除オブジェクト情報の例を図8(a)に示す。この図に示すように、削除オブジェクト情報は、前回のバックアップタイミングから現時点までの間にデータベース10から削除されたオブジェクトのIDのリストとなる。
【0030】
ステップS2では、前回バックアップタイミングから現時点までの間にデータベース10に新たに追加されたオブジェクトを確定し、それらオブジェクトが追加された旨の情報をバックアップ情報保管部40に登録する。S2の処理の詳細な手順を図6に示す。
【0031】
S2の処理では、まず管理テーブル部100の属性情報管理テーブル110から、そのテーブル中に含まれるオブジェクトID群を取得する(S21)。これらは、現時点においてデータベース10に登録されている各オブジェクトのIDである。次に、このようにして取得した各オブジェクトIDについて順番に、そのIDがスナップショット情報記憶部20に記憶された前回バックアップタイミングの属性情報管理テーブルの中に存在するか否かを調べる(S22)。存在すれば、(現在データベース10中に存在する)そのIDに該当するオブジェクトは、前回バックアップタイミング現時点でもデータベース10に登録されていたということなので、ここではなにもしない。これに対し、S22の判定結果がN(否定)の場合、そのオブジェクトIDに該当するオブジェクトは、前回バックアップタイミングではデータベース10に登録されていなかったが、今回の時点では登録されているということになり、そのオブジェクトが前回から今回までの間に追加されたと判断できる。この場合、そのオブジェクトIDに対応する一連の属性情報を属性情報管理テーブル110から取得し、追加オブジェクト情報としてバックアップ情報保管部40に保管する(S23)。そして、S21で取得した全オブジェクトIDについてS22(及びS23)の処理を繰り返す(S24)。
【0032】
このようにして作成された追加オブジェクト情報の例を図8(b)に示す。この図に示すように、追加オブジェクト情報は、前回のバックアップタイミングから現時点までにデータベース10に新たに追加された各オブジェクトごとに、属性情報管理テーブル110に登録された情報(オブジェクトIDと、オブジェクト名や更新日時など)を列挙したものとなっている。
【0033】
ステップ3では、前回バックアップタイミングから現時点までの間に、データベース10から削除された親子関係を確定し、それら親子関係が削除された旨の情報をバックアップ情報保管部40に登録する。この処理は、オブジェクトの削除の場合のバックアップ処理(S1:図5)と同様に行えばよい。すなわち、スナップショット情報記憶部20に登録されていて、現在の管理テーブル部100の親子関係管理テーブル120に存在しないリンクIDを求め、そのようなリンクIDを削除リンク情報としてバックアップ情報保管部40に登録する。このようにして作成された削除リンク情報の例を図8(c)に示す。削除リンク情報は、前回バックアップタイミングから現時点までの間に削除された親子関係のリンクIDのリストである。
【0034】
ステップ4では、前回バックアップタイミングから現時点までの間に、データベース10に新たに追加された親子関係を確定し、それら親子関係が追加された旨の情報をバックアップ情報保管部40に登録する。この処理は、オブジェクトの追加の場合のバックアップ処理(S2:図6)と同様に行えばよい。すなわち、現在の管理テーブル部100の親子関係管理テーブル120に登録されていて、スナップショット情報記憶部20に存在しないリンクIDを求め、そのようなリンクIDと、それに対応する親子関係管理テーブル120の情報(親オブジェクトID及び子オブジェクトID)との組を、追加リンク情報としてバックアップ情報保管部40に登録する。このようにして作成された追加リンク情報の例を図8(d)に示す。
【0035】
ステップ5では、前回バックアップタイミングから現時点までの間に、内容に変更が加えられたオブジェクトを確定し、それらオブジェクトが変更された旨の情報をバックアップ情報保管部40に登録する。この処理の詳細な手順を図7に示す。
【0036】
図7の処理では、まず管理テーブル部100の属性情報管理テーブル110から、そのテーブル中に含まれるオブジェクトID群を取得する(S51)。次に、このようにして取得した各オブジェクトIDについて順番に、そのIDがスナップショット情報記憶部20に記憶された前回バックアップタイミングの属性情報管理テーブルの中に存在するか否かを調べる(S52)。存在しない場合、ここではなにもしない。
【0037】
これに対し、S52の判定結果がY(肯定)、すなわち当該オブジェクトIDがスナップショット情報中に存在していた場合、次に当該オブジェクトIDに対応する「更新日時」を、属性情報管理テーブル110とスナップショット情報の双方から求め、それら両者が一致するかどうか判定する(S53)。「更新日時」はオブジェクトの更新があると変わるものなので、それら両者が一致していた場合、それは当該オブジェクトは前回バックアップタイミングから現時点までに更新されていないことを意味する。したがって、S53で双方の更新日時が一致したと判定された場合は、何も行わない。それに対し、S53にて双方の更新日時が一致しないと判定された場合、当該オブジェクトIDに対応するオブジェクトは変更されたと判断でき、そのオブジェクトIDに対応する一連の属性情報を属性情報管理テーブル110から取得し、変更オブジェクト情報としてバックアップ情報保管部40に保管する(S54)。そして、S51で取得した全オブジェクトIDについてS52〜S54の処理を繰り返す(S55)。
【0038】
このようにして作成された変更オブジェクト情報の例を図8(e)に示す。この図に示すように、変更オブジェクト情報は、前回のバックアップタイミングから現時点までに更新の行われたオブジェクトごとに、そのオブジェクトについての、属性情報管理テーブル110に登録された情報(オブジェクトIDと、オブジェクト名や更新日時など)を列挙したものとなっている。
【0039】
ステップS6では、前回バックアップタイミングから今回までの間に、データベース10から削除された図面画像データ(すなわち、オブジェクトの実体データ)を確定し、その画像データが削除された旨の情報をバックアップ情報保管部40に登録する。この処理は、オブジェクトの削除の場合のバックアップ処理(S1:図5)と同様に行えばよい。すなわち、まずスナップショット情報記憶部20の前回タイミングの画像データ保管先管理テーブルには存在するが管理テーブル部100の画像データ保管先管理テーブル130には存在しない保管先IDを求め、その保管先IDとこれに対応するオブジェクトID及びデータファイル名をスナップショット情報記憶部20のから求め、これら情報の組を削除画像情報としてバックアップ情報保管部40に登録する。このようにして作成された削除画像情報の例を図8(f)に示す。
【0040】
ステップS7では、前回バックアップタイミングから今回までの間に、データベース10に新規追加された図面画像データを確定し、その画像データの追加を示す情報をバックアップ情報保管部40に登録する。この処理は、オブジェクトの追加の場合のバックアップ処理(S2:図6)と同様でよい。すなわち、管理テーブル部100の画像データ保管先管理テーブル130に存在するがスナップショット情報記憶部20には存在しない保管先IDを求め、その保管先IDとこれに対応するオブジェクトID及びデータファイル名を、画像データ保管先管理テーブル130から求め、これら情報の組を追加画像情報としてバックアップ情報保管部40に登録する。このようにして作成された削除画像情報の例を図8(g)に示す。また、このとき、その保管先IDに対応するデータファイル名が示す格納場所から図面画像データを取得し、バックアップ情報保管部40に保存する。このとき、保存する画像データは、追加画像情報(図8(g))の例えばオブジェクトIDをファイル名に組み込むなどの形で、追加画像情報との関連付けができるようにしておく。
【0041】
以上の処理により、前回バックアップタイミングと今回との間でのデータベース10の変化内容(すなわち差分)を表す情報がバックアップ情報保管部40にに蓄積される。以上に示した図8(a)〜(g)の各情報は、当該バックアップタイミングのものとして相互に関連付けられ、このバックタイミングの時刻情報と対応づけてバックアップ情報保管部40に保存される。このような差分情報(バックアップ情報)の蓄積が完了すると、バックアップ処理部30は、ステップ8にて、現時点の管理テーブル部100の内容をスナップショット情報記憶部20にコピーし、スナップショット情報を更新する。なお、図4では、ステップS1〜S7について1つの順序を示したが、これら各ステップは基本的には相互に独立しているので、どのような順に実行してもよい。
【0042】
以上、バックアップ処理の手順について説明した。次に、システム障害解消時等に行うリストア(復旧)処理の手順を説明する。リストア処理は、基本的にはバックアップ処理と逆の手順を踏めばよい。以下、リストア処理の手順を図9を参照して説明する。図9は、リストアの指示が入力された場合の本システムのリストア処理部50の処理手順を示すフローチャートである。
【0043】
リストア処理を行う時点では、データベース10は、管理テーブル部100も含め、基準時点(すなわちバックアップ処理開始時点)のフルバックアップ状態の内容となっている。この状態でリストア指示が入力された場合、まずステップS60で、リストア処理部50は、バックアップ情報保管部40から、最も古いバックアップ情報(差分情報)を取得する。取得されるバックアップ情報は、図8に示すような各情報を含んでいる。
【0044】
ステップS61では、S60で取得したバックアップ情報の中の削除オブジェクト情報(図8(a)参照)から、オブジェクトIDを取り出し、管理テーブル部100の属性情報管理テーブル110からそのオブジェクトIDに対応する行を削除する。図10に、このS61の詳細な手順を示す。図10に示すように、S61では、まず削除オブジェクト情報からオブジェクトIDをすべて取得する(S71)。次に、取得した各オブジェクトIDをそれぞれ順に検索対象に選び、そのIDが管理テーブル部100の属性情報管理テーブル110に存在するか否か検索する(S72)。存在すれば、そのオブジェクトIDの行の属性情報を削除する(S73)。S72の結果がN(否定)ならば、何も行わない。そして、S71で取得した全オブジェクトIDについてS72及びS73の処理を繰り返す(S74)。
【0045】
ステップS62では、バックアップ情報の追加オブジェクト情報(図8(b))から、各追加オブジェクトのオブジェクトIDとこれに対応する属性情報(オブジェクト名など)を取り出し、これらを管理テーブル部100の属性情報管理テーブル110に追加する。
【0046】
ステップS63では、バックアップ情報の中の削除リンク情報(図8(c))からリンクIDを取り出し、管理テーブル部100の親子関係管理テーブル120からそのリンクIDに対応する行を削除する。
【0047】
ステップS64では、バックアップ情報の追加リンク情報(図8(d))から、各行の情報(リンクID及び親オブジェクトID、子オブジェクトID)を取り出し、これらを管理テーブル部100の親子関係管理テーブル120に追加する。
【0048】
ステップS65では、バックアップ情報の変更オブジェクト情報(図8(e))から、各行の情報、すなわち変更されたオブジェクトのIDと、そのオブジェクトの変更後の各種属性情報、を取り出す。そして、取り出した情報を、管理テーブル部100の属性情報管理テーブル110における同一オブジェクトIDの行に上書きすることにより、変更内容を反映させる。
【0049】
ステップS66では、バックアップ情報の中の削除画像情報(図8(f))から保管先IDを取り出し、管理テーブル部100の画像データ保管先管理テーブル130からその保管先IDに対応する行を削除する。更にこのとき、それら保管先IDの行にある「データファイル名」に示される画像データのファイルをデータベース100から削除する。
【0050】
ステップS67では、バックアップ情報の追加画像情報(図8(g))から、各行の情報(リンクID及び親オブジェクトID、子オブジェクトID)を取り出し、これらを管理テーブル部100の画像データ保管先管理テーブル130に追加する。更にこのとき、追加した保管先IDに対応づけてバックアップしていた画像データを、その保管先IDの行の「データファイル名」に示された格納場所に格納する。
【0051】
以上のS61〜S67の処理により、バックアップ1回の間のデータベース10の変化分が復旧される。なお、S61〜S67のステップはどのような順に実行してもよい。
【0052】
次に、リストア処理部50は、ステップS68で、バックアップ情報保管部40を調べ、未処理のバックアップ情報があるか否かを判定する。未処理のものがあれば、S60に戻って次の未処理のバックアップ情報を取り出し、S61以降の処理を行う。このような処理を繰り返し、S68で未処理のバックアップ情報がなくなったと判定されると、一連のリストア処理が完了する。これにより、データベース10は、障害発生直前のバックアップタイミングの状態まで復旧される。
【0053】
なお、ここでは、障害発生直前の状態まで復旧する場合を例示したが、図9に示した処理の繰り返しを任意の時点でやめることにより、任意のバックアップタイミングの状態までの復旧も可能である。この場合、リストア処理部50には、どのバックアップタイミングまでの復旧を行うか、ユーザから指示を受け付ける機構を設ければよい。
【0054】
以上説明したように、本実施形態では、バックアップ処理は、各バックアップタイミングごとに間欠的に行われる。従来方式では、データベースに対して追加、削除などの操作が行われるごとにバックアップをしていたので、そのような追加等のデータベース操作自体のパフォーマンスが低下していた。これに対し、本実施形態では、バックアップ処理の頻度はデータベース操作の頻度よりもはるかに少なく設定できるので、バックアップ処理によるデータベース処理のパフォーマンス低下を極力抑えることができる。また、本実施形態では、バックアップのために個々のデータベース操作を記憶しておく必要がないので、バックアップのデータ量を従来より削減できる。また、リストアの際も、個々のデータベース操作を時系列順に反映させていくという煩雑な処理が要らないので、リストア処理が高速化できる。
【0055】
なお、以上の実施形態では、所定の時間間隔ごとにバックアップ処理を行う場合を例示したが、本発明はこのような場合に限定されない。
【0056】
例えば、データベース10に対して行われる操作の頻度をバックアップ処理部30等でモニタし、その操作頻度に応じてバックアップ処理の間隔を変えたり、バックアップタイミングを決定したりすることも好適である。
【0057】
この方式の一つとして、データベース10への操作の頻度が高くなるほど、バックアップ間隔を小さくするという方式が好適である。実施形態の方式では、最新のバックアップ以降の変化はバックアップしていないので、データベースが頻繁に更新されているときに障害が発生すると、失われてしまうデータベース操作内容が多くなる。そこで、操作頻度が高くなるほどバックアップ間隔を小さくすることにより、障害等により失われるデータを少なくすることができる。なお、この方式のバリエーションとして、所定のデータベース操作回数ごとに、前述のバックアップ処理を行う方式も考えられる。この方式でも、バックアップ間隔を操作頻度に追従させることができる。
【0058】
また、別の方式として、比較的長時間(例えば数日から数ヶ月など)にわたる操作頻度の時系列的な推移のデータを採取し、そのデータに基づき、データベース10に対する操作頻度が少ない時間帯を統計的に求め、その時間帯にバックアップタイミングを自動設定する方式も好適である。この方式によれば、バックアップ処理による通常データベース操作のパフォーマンス低下の影響を小さくすることができる。
【0059】
また、以上の実施形態では、バックアップ処理は、前回のバックアップタイミングと今回のバックアップタイミングとの差分情報をバックアップ情報として、順次バックアップ情報保管部40に蓄積するようにしているが、これ以外に、毎回、最初の時点(すなわち基準時点)との差分を取るという方式も可能である。すなわち、この方式では、基準時点の管理テーブル部100のコピーをスナップショット情報記憶部20に保持しておき、バックアップタイミングのたびに、管理テーブル部100とその基準時点のスナップショット情報を比較して、その差分についての情報を前述の同様の形でバックアップ情報保管部40に蓄積する。この方式では、バックアップ処理の際、バックアップ情報保管部40にある前回の作成したバックアップ情報を破棄し、今回作成したバックアップ情報を上書きしても差し支えない。もちろん、記憶容量が許すなら、毎回のバックアップ情報を併存させておくことも可能である。復旧の際には、バックアップ情報を、基準時点のデータベース内容に反映させればよい。上記実施形態では、復旧処理の際、基準時点のデータベースに対して何回分かのバックアップ情報を順次適用していく必要があったが、この方式では、基準時点のデータベースに1つのバックアップ情報を適用するだけで所望の時点の状態までデータベースを復旧できる。なお、この方式にも、上述した操作頻度に基づくバックアップタイミングの制御を適用可能である。
【図面の簡単な説明】
【図1】 本発明に係るデータベースシステムのバックアップ処理に関する構成を示す図である。
【図2】 本発明に係るデータベースシステムのリストア(復旧)処理に関する構成を示す図である。
【図3】 管理テーブル部の各テーブルのデータ内容を示す図である。
【図4】 実施形態におけるバックアップ処理の手順を示す図である。
【図5】 データベースから削除されたオブジェクトについてのバックアップ処理手順を示す図である。
【図6】 データベースに追加されたオブジェクトについてのバックアップ処理手順を示す図である。
【図7】 変更されたオブジェクトについてのバックアップ処理手順を示す図である。
【図8】 バックアップ処理において作成される各種情報のデータ内容を示す図である。
【図9】 リストアの指示が入力された場合のリストア処理部50の処理手順を示すフローチャートである。
【図10】 削除されたオブジェクトに関するリストア処理手順を示す図である。
【符号の説明】
10 データベース、20 スナップショット情報記憶部、30 バックアップ処理部、40 バックアップ情報保管部、50 リストア処理部、100 管理テーブル部、110 属性情報管理テーブル、120 親子関係管理テーブル、130 画像データ保管先管理テーブル。
Claims (7)
- データベースに登録された各オブジェクトの実体データに関して、当該実体データの格納場所の情報を含む当該オブジェクトの管理情報を保持する管理テーブルと、
前記データベースに対して行われた操作に応じて前記管理テーブルを更新する手段と、
所定のバックアップタイミングごとに、その時点での前記管理テーブルの内容のコピーをスナップショット情報として保存するスナップショット手段と、
前記バックアップタイミングごとに、その時点での前記管理テーブルの内容と前回バックアップタイミングに作成された前記スナップショット情報との間で各オブジェクトの実体データの格納場所の情報を比較することにより、前回から今回までの間で前記データベースに追加されたオブジェクトの実体データの有無を判定し、前記データベースに追加されたオブジェクトの実体データがあると判定された場合は、前記管理テーブルにおける当該追加されたオブジェクトの実体データの格納場所の情報に基づき、当該追加されたオブジェクトの実体データをバックアップするバックアップ手段と、
を備えるデータベース管理装置。 - 前記データベースの障害復旧時に、基準時点のデータベース内容に対し、前記バックアップ情報を作成順に適用していくことにより、障害前の前記データベースの内容を復元するリストア手段を更に含む、請求項1記載のデータベース管理装置。
- 前記スナップショット手段は、前記バックアップ手段によるバックアップ情報の作成が完了した後、その時点での前記管理テーブルの内容を前回バックアップタイミングのスナップショット情報に上書きすることを特徴とする請求項1記載のデータベース管理装置。
- データベースに登録された各オブジェクトの実体データに関して、当該実体データの格納場所の情報を含む当該オブジェクトの管理情報を保持する管理テーブルと、
所定の基準時点での前記データベースの前記管理テーブルの内容を記憶する手段と、
前記データベースに対して行われた操作に応じて前記管理テーブルを更新する手段と、
所定のバックアップタイミングにおいて、前記管理テーブルの内容と前記基準時点での前記管理テーブルの内容との間で各オブジェクトの実体データの格納場所の情報を比較することにより、前記基準時点から現時点までの間で前記データベースに追加されたオブジェクトの実体データの有無を判定し、前記データベースに追加されたオブジェクトの実体データがあると判定された場合は、前記管理テーブルにおける当該追加されたオブジェクトの実体データの格納場所の情報に基づき、当該追加されたオブジェクトの実体データをバックアップするバックアップ手段と、
を備えるデータベース管理装置。 - 前記データベースに対して行われる操作の頻度をモニタする手段と、
前記バックアップ手段における前記バックアップタイミングを、前記操作の頻度に応じて自動設定するタイミング設定手段と、
を備える請求項1から請求項4までのいずれかに記載のデータベース管理装置。 - 前記タイミング設定手段は、前記操作の頻度が高くなるほど前記バックアップタイミングの間隔を小さくすることを特徴とする請求項5記載のデータベース管理装置。
- 前記タイミング設定手段は、前記操作の頻度が低い時間帯を統計的に求め、この時間帯にバックアップタイミングを設定することを特徴とする請求項5記載のデータベース管理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000166758A JP3985430B2 (ja) | 2000-06-02 | 2000-06-02 | データベース管理装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000166758A JP3985430B2 (ja) | 2000-06-02 | 2000-06-02 | データベース管理装置及び方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001344139A JP2001344139A (ja) | 2001-12-14 |
JP2001344139A5 JP2001344139A5 (ja) | 2005-01-20 |
JP3985430B2 true JP3985430B2 (ja) | 2007-10-03 |
Family
ID=18670030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000166758A Expired - Fee Related JP3985430B2 (ja) | 2000-06-02 | 2000-06-02 | データベース管理装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3985430B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004005222A (ja) | 2002-05-31 | 2004-01-08 | Internatl Business Mach Corp <Ibm> | 格納形式が異なる記録装置のためのバックアップ技術 |
US9489150B2 (en) | 2003-08-14 | 2016-11-08 | Dell International L.L.C. | System and method for transferring data between different raid data storage types for current data and replay data |
EP1668486A2 (en) | 2003-08-14 | 2006-06-14 | Compellent Technologies | Virtual disk drive system and method |
EP2357552A1 (en) | 2006-05-24 | 2011-08-17 | Compellent Technologies | System and method for RAID management, reallocation and restriping |
JP2008033585A (ja) * | 2006-07-28 | 2008-02-14 | Nec Corp | 差分バックアップシステム、差分バックアップ方法、差分バックアップ装置及び差分バックアッププログラム |
WO2008120340A1 (ja) * | 2007-03-29 | 2008-10-09 | Fujitsu Limited | ストレージ制御プログラム、ストレージ制御方法およびストレージ制御装置 |
US8468292B2 (en) | 2009-07-13 | 2013-06-18 | Compellent Technologies | Solid state drive data storage system and method |
JP5039891B2 (ja) | 2009-10-19 | 2012-10-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースの複製を生成する装置及び方法 |
US9146851B2 (en) | 2012-03-26 | 2015-09-29 | Compellent Technologies | Single-level cell and multi-level cell hybrid solid state drive |
JP5681667B2 (ja) * | 2012-05-29 | 2015-03-11 | 株式会社野村総合研究所 | データベース移行システム |
WO2024128347A1 (ko) * | 2022-12-14 | 2024-06-20 | 스트라토 주식회사 | 머신러닝 장애 복구 장치 및 그 제어방법 |
-
2000
- 2000-06-02 JP JP2000166758A patent/JP3985430B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001344139A (ja) | 2001-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891067B2 (en) | Fast migration of metadata | |
US7536424B2 (en) | System and methods for efficiently managing incremental data backup revisions | |
US8380672B2 (en) | Backup control apparatus and method eliminating duplication of information resources | |
JP4261800B2 (ja) | クライアントサーバー環境における差分バックアップシステムの管理方法 | |
JP5021929B2 (ja) | 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法 | |
JPH11306058A (ja) | 異なるデ―タファイル蓄積サイトを調停する方法及びデ―タ蓄積サイト及びそれと関連した一組のジャ―ナルファイルを含むシステム | |
JP3985430B2 (ja) | データベース管理装置及び方法 | |
EP3785120A1 (en) | Fast and optimized restore using delta information | |
CN109753381B (zh) | 一种基于对象存储的持续数据保护方法 | |
US10061654B1 (en) | Depth first search of summary change log records for backup | |
CN116401220A (zh) | 文件系统的数据恢复方法、装置、设备及介质 | |
JP2004157958A (ja) | 計算機システムおよびファイル管理方法 | |
JPH07152627A (ja) | ファイルリカバリシステム | |
JP2005316715A (ja) | 文書管理システムおよび方法およびプログラム | |
JP2002116938A (ja) | 世代管理機能を備えたファイルバックアップ方法 | |
JPH0844609A (ja) | データバックアップ方法 | |
JP2002132561A (ja) | 差分バックアップ方法および装置 | |
JP2000207264A (ja) | バックアップ方法およびリストア方法 | |
JPH09274581A (ja) | データバックアップ方法 | |
JP2002351719A (ja) | メールサーバのバックアップ・リカバリシステムおよび同方法 | |
JP4026278B2 (ja) | データ保管システム | |
JPH10133934A (ja) | 分散型文書管理システムおよびそれを実現するプログラム記憶媒体 | |
JPH01140353A (ja) | データベースのデータ保全方式 | |
CN115328864A (zh) | 被删除文件的管理方法、装置、设备和存储介质 | |
JPH07219827A (ja) | ジャーナルファイルの分割管理方式およびジャーナルフ ァイルの分割管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040220 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040220 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040220 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061024 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061213 |
|
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: 20070619 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070702 |
|
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: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130720 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |