JP2007257416A - レプリケーションシステムにおけるデータ復旧方法 - Google Patents
レプリケーションシステムにおけるデータ復旧方法 Download PDFInfo
- Publication number
- JP2007257416A JP2007257416A JP2006082338A JP2006082338A JP2007257416A JP 2007257416 A JP2007257416 A JP 2007257416A JP 2006082338 A JP2006082338 A JP 2006082338A JP 2006082338 A JP2006082338 A JP 2006082338A JP 2007257416 A JP2007257416 A JP 2007257416A
- Authority
- JP
- Japan
- Prior art keywords
- data
- database
- replica
- master
- update
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】レプリカデータベースに障害が発生し、レプリカデータベースのデータが破壊、消失しても、レプリカデータベースの状態を簡単に障害発生前の状態に戻すことができるデータ復旧方法を提供する。
【解決手段】マスタデータベース103に対する更新データの種類を検出し、その種類が削除の場合は、レプリカデータベース104にアクセスして更新データに該当するレコードを読み出し、その読み出しデータを復旧用インサートデータとしてマスタサーバ101に備えられた更新命令格納データベース108に格納しておき、レプリカデータベース104を復旧させる際に、マスタデータベース103からのデータ以外のデータをこの更新命令格納データベース108からレプリカデータベース104へ反映させる。
【選択図】図1
【解決手段】マスタデータベース103に対する更新データの種類を検出し、その種類が削除の場合は、レプリカデータベース104にアクセスして更新データに該当するレコードを読み出し、その読み出しデータを復旧用インサートデータとしてマスタサーバ101に備えられた更新命令格納データベース108に格納しておき、レプリカデータベース104を復旧させる際に、マスタデータベース103からのデータ以外のデータをこの更新命令格納データベース108からレプリカデータベース104へ反映させる。
【選択図】図1
Description
本発明は、マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されたレプリケーションシステムに関し、特にデータ反映条件を指定できるデータ復旧方法に関するものである。
従来のレプリケーションシステムによる復旧の一例が、特許文献1に記載されている。この従来のシステムは、マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されている。この従来のシステムでは、マスタサーバからレプリカサーバへのデータ送信を行っており、一部のレプリカサーバに障害が発生した場合、レプリカサーバへ送信するはずであったデータを保持しておき、障害が発生したレプリカサーバが回復した後に、保持したマスタサーバの更新データをレプリカサーバへ再送する仕組みである。
他の一般的な復旧方法としては、マスタデータベースの全データをレプリカデータベースへ送信して、同期を取る方法がある。
特開平11−259347号公報
他の一般的な復旧方法としては、マスタデータベースの全データをレプリカデータベースへ送信して、同期を取る方法がある。
マスタデータベースの全データをレプリカデータベースへ一旦転送し、同期状態を作成した後、マスタデータベースによる削除処理が発生してもレプリカデータ側へ削除処理を反映させない仕組みをもったレプリケーションシステムの場合、次のような問題点があった。
第1の問題点は、レプリカデータベースに障害が発生し、データが破壊、もしくは、消失した場合、レプリカデータベースのバックアップを採取していないと障害直前の状態には復旧できない、ということである。
その理由は次の通りである。
マスタデータベースとレプリカデータベースを初期同期後、マスタデータベースへ削除処理(Delete命令による更新)を行った場合、その内容を反映しない仕組みを適用しているため、マスタデータベースでは削除されたデータをレプリカデータベース側だけに保持している状態が発生する。
マスタデータベースとレプリカデータベースを初期同期後、マスタデータベースへ削除処理(Delete命令による更新)を行った場合、その内容を反映しない仕組みを適用しているため、マスタデータベースでは削除されたデータをレプリカデータベース側だけに保持している状態が発生する。
マスタデータベースでは削除されたデータをレプリカデータベース側だけに保持している状態で、レプリカデータベースに障害が発生した場合、レプリカデータベース側でバックアップを採取していないと、復旧のためにマスタデータベースの全データを送信しても、レプリカデータベース側だけに保持していたデータの復旧はできない。
また、特許文献1のように、レプリカデータベース障害時点からの更新データを保持する場合、復旧できる範囲はレプリカデータベース障害発生後の更新部分についてだけである。
第2の問題点は、レプリカデータベース側でバックアップを保持していても、復旧時間がかかるということである。
その理由は、レプリカデータベースにバックアップデータを適用後、レプリカデータベースを最新の状態にするために、バックアップを採取した時点から現在までの間に、マスタデータベースへ発生した更新データを調査して反映させなければならないためである。
その理由は、レプリカデータベースにバックアップデータを適用後、レプリカデータベースを最新の状態にするために、バックアップを採取した時点から現在までの間に、マスタデータベースへ発生した更新データを調査して反映させなければならないためである。
本発明の目的は、マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されたシステムにおいて、マスタデータベースによる削除処理が発生してもレプリカデータベース側へ削除処理を反映させない仕組みをもっている場合、レプリカデータベースに障害が発生し、レプリカデータベースのデータが破壊、消失しても、レプリカデータベースの状態を簡単に障害発生前の状態に戻すことができるデータ復旧方法を提供することにある。
本発明のレプリケーションシステムにおけるデータ復旧方法では、マスタデータベースに対する更新データの種類を検出し、その種類が削除の場合は、レプリカデータベースにアクセスして更新データに該当するレコードを読み出し、その読み出しデータを復旧用インサートデータとしてマスタサーバに備えられた更新命令格納データベースに格納しておき、レプリカデータベースを復旧させる際に、マスタデータベースからのデータ以外のデータをこの更新命令格納データベースからレプリカデータベースへ反映させる。
レプリカデータベースの障害発生時は、マスタデータベースの全データをレプリカデータベースへ転送後、更新命令格納データベースに保存していた更新データを適用することで、レプリカデータベースを障害直前の状態に復旧することが可能である。
更新命令格納データベースに格納されているデータをレプリカデータベースへ反映させる際に、すでにレプリカデータベースにレコードが存在していた場合は、そのレコードに対しては反映処理を省略することにより、復旧までの時間を一層短縮できる。
本発明の第1の効果は、レプリカデータベースにのみ存在していたデータをレプリカデータベースのバックアップを取得することなく、復旧できることにある。
その理由は、マスタデータベース上で削除処理(Delete命令による更新)したデータから、レプリカデータベース側への復旧用更新データを作成し保存する機能を有しているからである。
その理由は、マスタデータベース上で削除処理(Delete命令による更新)したデータから、レプリカデータベース側への復旧用更新データを作成し保存する機能を有しているからである。
第2の効果は、レプリカデータベース障害発生後から復旧するまでの時間を短縮できることにある。
その理由は、レプリカデータベースのバックアップが採取してあった場合、バックアップデータを適用するまでは時間がかからないが、バックアップ採取時点から、レプリカデータベース障害発生時点まで、もしくは復旧を行う現時点までのマスタデータベースに対する更新データ(Delete命令を除く)を調査してレプリカデータベースへ反映させなければならないが、本発明は、調査する時間が省けるため、復旧までの時間を短縮することが可能である。
その理由は、レプリカデータベースのバックアップが採取してあった場合、バックアップデータを適用するまでは時間がかからないが、バックアップ採取時点から、レプリカデータベース障害発生時点まで、もしくは復旧を行う現時点までのマスタデータベースに対する更新データ(Delete命令を除く)を調査してレプリカデータベースへ反映させなければならないが、本発明は、調査する時間が省けるため、復旧までの時間を短縮することが可能である。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図1は、本発明を実施するレプリケーションシステムの構成例を示す。このシステムは、データの転送元となるマスタサーバ(コンピュータ)101と、データの転送先となる1〜n(nは任意の整数)個のレプリカサーバ(コンピュータ)102と、これらを接続するネットワーク106とで構成される。マスタサーバ101は、マスタデータベース103の他に更新命令格納データベース108を備えている。各レプリカサーバ102はレプリカデータベース104を備え、通常は同じデータを格納している。マスタデータベース103へのデータ更新は、業務プログラム105から実施される。
次に、図2〜図5を参照して本実施の形態の全体の動作について詳細に説明する。
まず、マスタデータベース103とレプリカデータベース104の状態を合わせるため、図2において全データ転送処理201により、マスタデータベース103の全データをレプリカデータベース104へ転送する。転送完了後は図3のレコード状態となる。次に、業務プログラム105からマスタデータベース103に更新処理が実行される。
まず、マスタデータベース103とレプリカデータベース104の状態を合わせるため、図2において全データ転送処理201により、マスタデータベース103の全データをレプリカデータベース104へ転送する。転送完了後は図3のレコード状態となる。次に、業務プログラム105からマスタデータベース103に更新処理が実行される。
プロセス107は、更新検出処理202により更新を検出すると、更新種類判断処理203により、更新種類をInsert、Update、Deleteに判別する。反映判断処理204、205により、Insert又はUpdateであれば、データ反映処理207により、データをレプリカデータベース104へ反映する。
反映判断処理204、205(図4における401)により、Deleteであれば、データ問い合わせ/取得処理206(図4における402)により、レプリカデータベース104の接続可能なところ1箇所、つまり、n個のレプリカサーバ102のレプリカデータベース104へアクセスして最も早く応答のあったレプリカデータベース104から、更新データに該当するレコードを読み出す。読み出したデータから更新命令生成処理208によって、復旧用Insert命令(復旧用インサートデータ)を作成し、更新命令格納処理209(図4における403)によって、更新命令格納データベース108へ格納する。
ここで復旧用Insert命令の作成とは、データ問い合わせ/取得処理206により取得した削除データのレコードが、例えば、'COLUM1','COLUMN2','COLUMN3'というデータであれば、
INSERT INTO TABLE1 VALUES ('COLUM1','COLUMN2','COLUMN3');
というSQL文を作成することである。
INSERT INTO TABLE1 VALUES ('COLUM1','COLUMN2','COLUMN3');
というSQL文を作成することである。
レプリカデータベース104に異常が無い場合は、処理202〜209を繰り返す。
レプリカデータベース104に障害が発生した場合は、障害復旧後、全データ転送処理201(図5の501)によってマスタデータベース103の全データを復旧したレプリカデータベース104へ転送する。更新命令判断処理210、211によって、更新命令格納データベース108に格納されたレコードが、レプリカデータベース104に存在しているか確認する。
すでに存在しているデータの場合は処理を終了する(存在するレコードに対しては反映処理を省略する)。レプリカデータベース104にレコードが存在していない場合は、マスタデータベース103上にもすでに存在していないので、データ反映処理111、212(図5の502)により、更新命令格納データベース108に格納されているデータを、上記INSERT文を使用して、復旧対象のレプリカデータベース104へデータを反映させる。データ更新命令判断処理210から212もしくは、213までの処理を更新命令格納データベース108のデータ全てについて繰り返すことで、レプリカデータベース障害前の状態に復旧する。
具体例で示すと、以下にようになる。
<全データ転送処理201により、レプリカデータベース104に転送後の状態>
マスタデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
第1のレプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
第2レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
<全データ転送処理201により、レプリカデータベース104に転送後の状態>
マスタデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
第1のレプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
第2レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
<削除処理が発生した後の状態>
(レコード2を削除)
マスタデータベースの内容
'aa','bb','cc'→レコード1
DELETE命令のため、レプリカデータベースへは、反映を実施しない。
代わりに、第1レプリカデータベース又は第2のレプリカデータベースのうちの先に通信した方から、レコード2のデータを取得する(マスタサーバの削除データは、該当するデータの一部しか、プロセス107に渡されない場合があるため)。
レコード2から、次の更新命令を作成し、更新命令格納データベース108へ格納する。
INSERT INTO TABLE VALUES ('dd','ee','ff');
第1レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
第2レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
(レコード2を削除)
マスタデータベースの内容
'aa','bb','cc'→レコード1
DELETE命令のため、レプリカデータベースへは、反映を実施しない。
代わりに、第1レプリカデータベース又は第2のレプリカデータベースのうちの先に通信した方から、レコード2のデータを取得する(マスタサーバの削除データは、該当するデータの一部しか、プロセス107に渡されない場合があるため)。
レコード2から、次の更新命令を作成し、更新命令格納データベース108へ格納する。
INSERT INTO TABLE VALUES ('dd','ee','ff');
第1レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
第2レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
<第1レプリカデータベースで障害>
第1のレプリカデータベースが障害によりデータがなくなり、その復旧のために、マスタデータベースから全データ転送処理により、データを転送する。
第1のレプリカデータベースの内容
'aa','bb','cc'→レコード1
元あったはずの、レコード2が無いため、次の更新命令を作成し、更新命令格納データベース108に格納したレコード2を元に復旧する。
INSERT INTO 第1のレプリカデータベース VALUES ('dd','ee','ff');
第1レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
第1のレプリカデータベースが障害によりデータがなくなり、その復旧のために、マスタデータベースから全データ転送処理により、データを転送する。
第1のレプリカデータベースの内容
'aa','bb','cc'→レコード1
元あったはずの、レコード2が無いため、次の更新命令を作成し、更新命令格納データベース108に格納したレコード2を元に復旧する。
INSERT INTO 第1のレプリカデータベース VALUES ('dd','ee','ff');
第1レプリカデータベースの内容
'aa','bb','cc'→レコード1
'dd','ee','ff'→レコード2
101 マスタサーバ
102,103 レプリカサーバ
103 マスタデータベース
104 レプリカデータベース
105 業務プログラム
106 ネットワーク
107 プロセス
108 更新命令格納データベース
109 データ反映処理
110 更新命令格納処理
111 データ反映処理
201 全データ転送処理
202 更新検出処理
203 更新種類判断処理
204 反映判断処理
205 反映判断処理
206 データ問い合わせ/取得処理
207 データ反映処理
208 更新命令生成処理
209 更新命令格納処理
210 更新命令判断処理
211 更新命令判断処理
212 データ反映処理
213 処理終了
301 全データ転送処理
401 反映判断処理
402 データ問い合わせ/取得処理
403 更新命令格納処理
501 全データ転送処理
502 データ反映処理
102,103 レプリカサーバ
103 マスタデータベース
104 レプリカデータベース
105 業務プログラム
106 ネットワーク
107 プロセス
108 更新命令格納データベース
109 データ反映処理
110 更新命令格納処理
111 データ反映処理
201 全データ転送処理
202 更新検出処理
203 更新種類判断処理
204 反映判断処理
205 反映判断処理
206 データ問い合わせ/取得処理
207 データ反映処理
208 更新命令生成処理
209 更新命令格納処理
210 更新命令判断処理
211 更新命令判断処理
212 データ反映処理
213 処理終了
301 全データ転送処理
401 反映判断処理
402 データ問い合わせ/取得処理
403 更新命令格納処理
501 全データ転送処理
502 データ反映処理
Claims (3)
- マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されたレプリケーションシステムにおいて、前記マスタデータベースに対する更新データの種類を検出し、その種類が削除の場合は、前記レプリカデータベースにアクセスして更新データに該当するレコードを読み出し、その読み出しデータを復旧用インサートデータとして前記マスタサーバに備えられた更新命令格納データベースに格納しておき、前記レプリカデータベースを復旧させる際に、前記マスタデータベースからのデータ以外のデータをこの更新命令格納データベースからレプリカデータベースへ反映させることを特徴とするレプリケーションシステムにおけるデータ復旧方法。
- レプリカデータベース障害復旧時は、マスタデータベースの全データをレプリカデータベースへ転送後に、更新命令格納データベースに格納されているデータをレプリカデータベースへ反映させることを特徴とする請求項1に記載のレプリケーションシステムにおけるデータ復旧方法。
- 更新命令格納データベースに格納されているデータをレプリカデータベースへ反映させる際に、すでにレプリカデータベースにレコードが存在していた場合は、そのレコードに対しては反映処理を省略することを特徴とする請求項1又は2に記載のレプリケーションシステムにおけるデータ復旧方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006082338A JP2007257416A (ja) | 2006-03-24 | 2006-03-24 | レプリケーションシステムにおけるデータ復旧方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006082338A JP2007257416A (ja) | 2006-03-24 | 2006-03-24 | レプリケーションシステムにおけるデータ復旧方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007257416A true JP2007257416A (ja) | 2007-10-04 |
Family
ID=38631579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006082338A Withdrawn JP2007257416A (ja) | 2006-03-24 | 2006-03-24 | レプリケーションシステムにおけるデータ復旧方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007257416A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7276959B2 (ja) | 2020-03-04 | 2023-05-18 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理方法及びプログラム |
-
2006
- 2006-03-24 JP JP2006082338A patent/JP2007257416A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7276959B2 (ja) | 2020-03-04 | 2023-05-18 | Necプラットフォームズ株式会社 | 情報処理装置、情報処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10235375B1 (en) | Persistent file system objects for management of databases | |
US11256715B2 (en) | Data backup method and apparatus | |
TW522320B (en) | Apparatus and method for recovering a failed database data set | |
CN106407356B (zh) | 一种数据备份方法及装置 | |
US8688645B2 (en) | Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith | |
CA2626227C (en) | Apparatus and method for creating a real time database replica | |
JP5646639B2 (ja) | メタデータ仮想ハードドライブおよび差分仮想ハードドライブを使用するバックアップ | |
CN106933703B (zh) | 一种数据库数据备份的方法、装置及电子设备 | |
US10970257B2 (en) | Replicating file systems via cloud storage | |
CN106407040A (zh) | 一种远程数据复制方法及系统 | |
JP2017533520A (ja) | データーベースのストレージ・スナップショットからの時間指定復元 | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US8762347B1 (en) | Method and apparatus for processing transactional file system operations to enable point in time consistent file data recreation | |
JP2014526748A (ja) | 効率的なデータ回復 | |
JP5665889B2 (ja) | サブバージョンリポジトリをバックアップする方法及び装置 | |
CN107229540A (zh) | 一种基于时间点的数据库恢复方法及系统 | |
US9087115B1 (en) | Mirror resynchnronization of fixed page length tables for better repair time to high availability in databases | |
US7730351B2 (en) | Per file dirty region logging | |
US20160139996A1 (en) | Methods for providing unified storage for backup and disaster recovery and devices thereof | |
US9378101B2 (en) | Automatic failure recovery using snapshots and replicas | |
WO2013091183A1 (zh) | 一种键值对的操作方法及装置 | |
US8195612B1 (en) | Method and apparatus for providing a catalog to optimize stream-based data restoration | |
JP6251965B2 (ja) | 情報システムおよびデータベース復旧方法 | |
US7831782B1 (en) | Roll-back log to provide data consistency | |
US11669501B2 (en) | Address mirroring of a file system journal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20080404 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080407 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20091214 |