JP2007257416A - レプリケーションシステムにおけるデータ復旧方法 - Google Patents

レプリケーションシステムにおけるデータ復旧方法 Download PDF

Info

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
Application number
JP2006082338A
Other languages
English (en)
Inventor
Tomohiro Hakuba
智博 白馬
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006082338A priority Critical patent/JP2007257416A/ja
Publication of JP2007257416A publication Critical patent/JP2007257416A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】レプリカデータベースに障害が発生し、レプリカデータベースのデータが破壊、消失しても、レプリカデータベースの状態を簡単に障害発生前の状態に戻すことができるデータ復旧方法を提供する。
【解決手段】マスタデータベース103に対する更新データの種類を検出し、その種類が削除の場合は、レプリカデータベース104にアクセスして更新データに該当するレコードを読み出し、その読み出しデータを復旧用インサートデータとしてマスタサーバ101に備えられた更新命令格納データベース108に格納しておき、レプリカデータベース104を復旧させる際に、マスタデータベース103からのデータ以外のデータをこの更新命令格納データベース108からレプリカデータベース104へ反映させる。
【選択図】図1

Description

本発明は、マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されたレプリケーションシステムに関し、特にデータ反映条件を指定できるデータ復旧方法に関するものである。
従来のレプリケーションシステムによる復旧の一例が、特許文献1に記載されている。この従来のシステムは、マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されている。この従来のシステムでは、マスタサーバからレプリカサーバへのデータ送信を行っており、一部のレプリカサーバに障害が発生した場合、レプリカサーバへ送信するはずであったデータを保持しておき、障害が発生したレプリカサーバが回復した後に、保持したマスタサーバの更新データをレプリカサーバへ再送する仕組みである。
他の一般的な復旧方法としては、マスタデータベースの全データをレプリカデータベースへ送信して、同期を取る方法がある。
特開平11−259347号公報
マスタデータベースの全データをレプリカデータベースへ一旦転送し、同期状態を作成した後、マスタデータベースによる削除処理が発生してもレプリカデータ側へ削除処理を反映させない仕組みをもったレプリケーションシステムの場合、次のような問題点があった。
第1の問題点は、レプリカデータベースに障害が発生し、データが破壊、もしくは、消失した場合、レプリカデータベースのバックアップを採取していないと障害直前の状態には復旧できない、ということである。
その理由は次の通りである。
マスタデータベースとレプリカデータベースを初期同期後、マスタデータベースへ削除処理(Delete命令による更新)を行った場合、その内容を反映しない仕組みを適用しているため、マスタデータベースでは削除されたデータをレプリカデータベース側だけに保持している状態が発生する。
マスタデータベースでは削除されたデータをレプリカデータベース側だけに保持している状態で、レプリカデータベースに障害が発生した場合、レプリカデータベース側でバックアップを採取していないと、復旧のためにマスタデータベースの全データを送信しても、レプリカデータベース側だけに保持していたデータの復旧はできない。
また、特許文献1のように、レプリカデータベース障害時点からの更新データを保持する場合、復旧できる範囲はレプリカデータベース障害発生後の更新部分についてだけである。
第2の問題点は、レプリカデータベース側でバックアップを保持していても、復旧時間がかかるということである。
その理由は、レプリカデータベースにバックアップデータを適用後、レプリカデータベースを最新の状態にするために、バックアップを採取した時点から現在までの間に、マスタデータベースへ発生した更新データを調査して反映させなければならないためである。
本発明の目的は、マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されたシステムにおいて、マスタデータベースによる削除処理が発生してもレプリカデータベース側へ削除処理を反映させない仕組みをもっている場合、レプリカデータベースに障害が発生し、レプリカデータベースのデータが破壊、消失しても、レプリカデータベースの状態を簡単に障害発生前の状態に戻すことができるデータ復旧方法を提供することにある。
本発明のレプリケーションシステムにおけるデータ復旧方法では、マスタデータベースに対する更新データの種類を検出し、その種類が削除の場合は、レプリカデータベースにアクセスして更新データに該当するレコードを読み出し、その読み出しデータを復旧用インサートデータとしてマスタサーバに備えられた更新命令格納データベースに格納しておき、レプリカデータベースを復旧させる際に、マスタデータベースからのデータ以外のデータをこの更新命令格納データベースからレプリカデータベースへ反映させる。
レプリカデータベースの障害発生時は、マスタデータベースの全データをレプリカデータベースへ転送後、更新命令格納データベースに保存していた更新データを適用することで、レプリカデータベースを障害直前の状態に復旧することが可能である。
更新命令格納データベースに格納されているデータをレプリカデータベースへ反映させる際に、すでにレプリカデータベースにレコードが存在していた場合は、そのレコードに対しては反映処理を省略することにより、復旧までの時間を一層短縮できる。
本発明の第1の効果は、レプリカデータベースにのみ存在していたデータをレプリカデータベースのバックアップを取得することなく、復旧できることにある。
その理由は、マスタデータベース上で削除処理(Delete命令による更新)したデータから、レプリカデータベース側への復旧用更新データを作成し保存する機能を有しているからである。
第2の効果は、レプリカデータベース障害発生後から復旧するまでの時間を短縮できることにある。
その理由は、レプリカデータベースのバックアップが採取してあった場合、バックアップデータを適用するまでは時間がかからないが、バックアップ採取時点から、レプリカデータベース障害発生時点まで、もしくは復旧を行う現時点までのマスタデータベースに対する更新データ(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に更新処理が実行される。
プロセス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文を作成することである。
レプリカデータベース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
<削除処理が発生した後の状態>
(レコード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のプロセスの動作を示す流れ図である。 図2の全データ転送処理が終了した直後のレコード状態を示す図である。 図1の動作をレコード単位で説明した図である。 図1の動作をレコード単位で説明した図である。
符号の説明
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 データ反映処理

Claims (3)

  1. マスタデータベースを備えるマスタサーバと、レプリカデータベースを備えるレプリカサーバとそれらを接続するネットワークによって構成されたレプリケーションシステムにおいて、前記マスタデータベースに対する更新データの種類を検出し、その種類が削除の場合は、前記レプリカデータベースにアクセスして更新データに該当するレコードを読み出し、その読み出しデータを復旧用インサートデータとして前記マスタサーバに備えられた更新命令格納データベースに格納しておき、前記レプリカデータベースを復旧させる際に、前記マスタデータベースからのデータ以外のデータをこの更新命令格納データベースからレプリカデータベースへ反映させることを特徴とするレプリケーションシステムにおけるデータ復旧方法。
  2. レプリカデータベース障害復旧時は、マスタデータベースの全データをレプリカデータベースへ転送後に、更新命令格納データベースに格納されているデータをレプリカデータベースへ反映させることを特徴とする請求項1に記載のレプリケーションシステムにおけるデータ復旧方法。
  3. 更新命令格納データベースに格納されているデータをレプリカデータベースへ反映させる際に、すでにレプリカデータベースにレコードが存在していた場合は、そのレコードに対しては反映処理を省略することを特徴とする請求項1又は2に記載のレプリケーションシステムにおけるデータ復旧方法。
JP2006082338A 2006-03-24 2006-03-24 レプリケーションシステムにおけるデータ復旧方法 Withdrawn JP2007257416A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7276959B2 (ja) 2020-03-04 2023-05-18 Necプラットフォームズ株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
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