JP5724735B2 - データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム - Google Patents

データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム Download PDF

Info

Publication number
JP5724735B2
JP5724735B2 JP2011171380A JP2011171380A JP5724735B2 JP 5724735 B2 JP5724735 B2 JP 5724735B2 JP 2011171380 A JP2011171380 A JP 2011171380A JP 2011171380 A JP2011171380 A JP 2011171380A JP 5724735 B2 JP5724735 B2 JP 5724735B2
Authority
JP
Japan
Prior art keywords
update
database
replica
unit
journal
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
Application number
JP2011171380A
Other languages
English (en)
Other versions
JP2013037450A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011171380A priority Critical patent/JP5724735B2/ja
Priority to US13/494,051 priority patent/US8959052B2/en
Publication of JP2013037450A publication Critical patent/JP2013037450A/ja
Application granted granted Critical
Publication of JP5724735B2 publication Critical patent/JP5724735B2/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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • 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

Description

本発明は、データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラムに関する。
従来、データベース(DB)を利用した業務を提供するメインセンタでは、災害などに備えて、遠隔地のバックアップセンタにDBの複製を行っている。メインセンタは、複数のマスタDBを有し、バックアップセンタは、各マスタDBに対応したレプリカDBを有し、各マスタDBと各レプリカDBとの同期を取っている。
DBを複製して同期するシステムは、メインセンタが保持するマスタDBが更新された場合に、各マスタDBの更新差分結果(以下、ジャーナルという)をバックアップセンタへリアルタイムに転送する。バックアップセンタでは、メインセンタから受信したジャーナルを1つのトランザクションとして各レプリカDBへ反映する。このようにして、マスタDBとレプリカDBの同期をとっており、メインセンタで災害が発生した場合には、バックアップセンタで業務の再開を行う。
メインセンタの業務は、1つのトランザクションで複数のマスタDBを更新することが一般的に行われており、このトランザクションにより各マスタDBの整合性が保たれている。バックアップセンタが有する各レプリカDBの整合性を保つ技術としては、一時ファイルにジャーナルを蓄積し、レプリカDBへの反映を一時的に保留する技術が知られている。
マスタDB(A)とマスタDB(B)とを有するメインシステムと、マスタDB(A)の複製DBに対応するレプリカDB(C)とマスタDB(B)の複製DBに対応するレプリカDB(D)とを有するバックアップセンタとを例にして説明する。
メインセンタは、レプリカDB(C)用の1世代目のジャーナルファイルとして、トランザクション1、トランザクション2、トランザクション3、トランザクション4をバックアップセンタに送信する。同様に、メインセンタは、レプリカDB(D)用の1世代目のジャーナルファイルとして、トランザクション1、トランザクション2をバックアップセンタに送信する。なお、各トランザクションは、ジャーナルをDBに反映させる処理である。
バックアップセンタは、各レプリカDBに対するジャーナルにトランザクション1とトランザクション2が含まれていることを特定する。すなわち、バックアップセンタは、トランザクション1とトランザクション2の各ジャーナルが各レプリカDBに共通に届いていることを特定する。この結果、バックアップセンタは、レプリカDB(C)とレプリカDB(D)の各々に、トランザクション1とトランザクション2を実行して更新結果を反映する。そして、バックアップセンタは、トランザクション3、トランザクション4をレプリカDB(C)用の引き継ぎファイルとして保持し、次の世代のジャーナルを受信するまで反映を保留する。
その後、メインセンタは、レプリカDB(C)用の2世代目のジャーナルファイルとして、トランザクション5とトランザクション6をバックアップセンタに送信する。同様に、メインセンタは、レプリカDB(D)用の2世代目のジャーナルファイルとして、トランザクション3をバックアップセンタに送信する。
そして、バックアップセンタは、レプリカDB(C)用の引継ぎファイルにトランザクション3のジャーナルが存在し、レプリカDB(D)用として2世代目でトランザクション3を受信したことを特定する。すなわち、バックアップセンタは、トランザクション3のジャーナルが各レプリカDBに共通に届いていることを特定する。この結果、バックアップセンタは、レプリカDB(C)には引継ぎファイル内に保持されるトランザクション3を実行して更新結果を反映し、レプリカDB(D)には2世代目に受信したトランザクション3を実行して更新結果を反映する。
そして、バックアップセンタは、レプリカDB(C)用として2世代目で受信したトランザクション5、トランザクション6を引き継ぎファイルとして保持し、次の世代のジャーナルを受信するまで反映を保留する。つまり、バックアップセンタは、レプリカDB(C)の引継ぎファイルとして、トランザクション4、トランザクション5、トランザクション6の各ジャーナルを保持する。
特開2007−317040号公報 特開2006−18796号公報 特開2006−92005号公報
しかしながら、複製先のDBに対するデータ反映に時間がかかり、障害発生から運用再開までにも時間がかかるという問題がある。
従来技術では、ジャーナルに対するバックアップセンタへの転送状況を把握してから、トランザクションの整合状態を把握して反映を行っている。また、メインセンタは、各世代のジャーナル間で同期をとらずに、非同期でジャーナルを送信する。したがって、次の世代のジャーナルを受信するまで、引継ぎファイルに保持されるジャーナルについては、いつ反映が実行できるか予測できず、非常に長い時間保留されたままになる場合もある。このように、複製先のDBに対するデータ反映に時間がかかる場合がある。
また、引継ぎファイルはレプリカDBごとに反映保留中のジャーナルを保持する。このため、メインシステムで障害が発生した場合には、保留中のジャーナルからメインシステムの各マスタDBの最新状態を特定することになる。したがって、引継ぎファイルに保持されるジャーナルが多い状態でメインシステムに障害が発生した場合、各マスタDBの最新状態を把握するまでに多くの時間がかかる。その後、各レプリカDBが最新のマスタDBの状態になるように、各レプリカDBにジャーナルを反映することになるので、障害発生から運用再開までに時間がかかる。また、すべてのジャーナルを反映した場合には、各レプリカDBの整合性が保てなくなることもあるので、保留されているジャーナルのうちどのジャーナルまで反映できるかを特定する時間もかかる。このように、障害発生から運用再開までにかかる時間は短いとは言い難い。
第1の側面として、複製先のDBに対するデータ反映にかかる時間および/又は障害発生から運用再開までにかかる時間を短縮することができるデータベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラムを提供することを目的とする。
第1の案では、データベース更新制御装置は、第1のデータベースまたは第2のデータベースに対する更新情報を受信した場合に、前記更新情報に基づいて前記第1のデータベースまたは前記第2のデータベースを更新する更新部を有する。データベース更新制御装置は、前記更新部が第1のデータベースまたは第2のデータベースを更新する場合に、更新前のデータと前記更新部が実行する前記更新情報に付与される識別子とを対応付けて、前記データベースごとに保持する保持部を有する。データベース更新制御装置は、前記保持部が保持する識別子から最新の更新情報を示す識別子を前記データベースごとに抽出し、抽出した識別子のうち、最も古くに更新した識別子を特定する特定部を有する。データベース更新制御装置は、前記特定部が特定した識別子より新しい更新情報の識別子に対応する更新前データを、該当する前記第1のデータベースまたは前記第2のデータベースに反映する反映部を有する。
複製先のDBに対するデータ反映にかかる時間および/又は障害発生から運用再開までにかかる時間を短縮することができる。
図1は、実施例1に係るバックアップシステムの全体構成例を示す図である。 図2は、実施例2に係るメインセンタでDBMSを実行するデータベース管理装置の構成を示す機能ブロック図である。 図3は、整合情報管理テーブルに記憶される情報の例を示す図である。 図4は、メインセンタからバックアップセンタに転送されるジャーナルファイルの例を示す図である。 図5は、実施例2に係るバックアップセンタでDBMSを実行するデータベース管理装置の構成を示す機能ブロック図である。 図6は、反映完了ポイント管理テーブルに記憶される情報の例を示す図である。 図7は、更新前ログテーブルに記憶される情報の例を示す図である。 図8は、実施例2に係るメインセンタにおける処理の流れを示すフローチャートである。 図9は、実施例2に係るバックアップセンタにおけるDB反映処理の流れを示すフローチャートである。 図10は、実施例2に係るバックアップセンタにおけるDB反映戻し処理の流れを示すフローチャートである。 図11は、メインセンタにおけるマスタDBを更新するトランザクションを説明する図である。 図12は、メインセンタにおけるジャーナル取得処理の流れを示すシーケンス図である。 図13は、バックアップセンタにおけるジャーナル反映処理の流れを示すシーケンス図である。 図14は、バックアップセンタにおける更新前ログ取得処理の流れを示すシーケンス図である。 図15は、レプリカDBへのジャーナル反映から反映戻しまでの一連の処理例を説明する図である。 図16は、実施例3に係る1ジャーナルファイルに複数のレプリカDBのジャーナルが格納されている場合の処理例を説明する図である。 図17は、実施例3に係る反映戻しの判定例1を説明する図である。 図18は、実施例3に係る反映戻しの判定例2を説明する図である。 図19は、実施例3に係る反映戻しの判定例3を説明する図である。 図20は、データベース更新制御プログラムを実行するコンピュータのハードウェア構成の例を示す図である。
以下に、本願の開示するデータベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、実施例1に係るバックアップシステムの全体構成例を示す図である。図1に示すように、このバックアップシステムは、メインセンタ1とバックアップセンタ5とを有し、メインセンタ1のデータベース(DB)をバックアップセンタ5に複製するシステムである。なお、メインセンタ1やバックアップセンタ5の例としては、サーバ等を設置したり、クラウドシステムを提供したりするデータセンタなどがある。
メインセンタ1は、情報処理装置2とデータベース管理システム(DBMS:Data Base Management System)3と有し、リモートディスク装置4を介してバックアップセンタ5と接続する。バックアップセンタ5は、データベース管理システム6を有し、リモートディスク装置4を介してメインセンタ1と接続する。
メインセンタ1の情報処理装置2は、アプリケーションなどの業務処理を実行するサーバ装置である。また、情報処理装置2は、データベース管理システム3が提供するトランザクションの制御を利用して、データベース管理システム3が保持する各マスタDBを操作する。
データベース管理システム3は、マスタDB3aとマスタDB3bとを有し、各マスタDBを運用、管理するサーバ装置である。データベース管理システム3は、アプリケーションが矛盾なくマスタDBを利用することができるように、トランザクションを制御しトランザクション終了によってマスタDBの更新を実行する。このデータベース管理システム3は、マスタDBが更新されると、更新差分を示すジャーナルをリモートディスク装置4のジャーナルファイルDBに格納する。
リモートディスク装置4は、ジャーナルファイルDB4aとジャーナルファイルDB4bとを有し、所定の周期で、ジャーナルファイルDBからジャーナルを読み出して、バックアップセンタ5に転送する装置である。
バックアップセンタ5のデータベース管理システム6は、マスタDB3aを複製したレプリカDB6aと、マスタDB3bを複製したレプリカDB6bとを有するサーバ装置である。このデータベース管理システム6は、更新部6cと保持部6dと特定部6eと反映部6fとを有し、矛盾なくレプリカDBを利用することができるようにトランザクションを制御しトランザクション終了によってレプリカDBの更新を実行する。
更新部6cは、レプリカDB6aまたはレプリカDB6bに対するジャーナルを受信した場合に、ジャーナルに基づいてレプリカDB6aまたはレプリカDB6bを更新する。保持部6dは、更新部6cがレプリカDB6aまたはレプリカDB6bを更新する場合に、更新前のデータと更新部6cが実行する更新情報に付与される識別子とを対応付けて、レプリカDBごとに保持する。更新情報に付与される識別子は、データ更新の順所がわかるように付与される。
特定部6eは、保持部6dが保持する識別子から最新の更新情報を示す識別子をレプリカDBごとに抽出し、抽出した識別子のうち、最も古くに更新した識別子を特定する。反映部6fは、特定部6eが特定した識別子より新しい更新情報の識別子に対応する更新前データを、該当するレプリカDB6aまたはレプリカDB6bに反映する。特定部6eと反映部6fが動作する契機としては、オペレータからの指示を受け付けた場合、メインセンタに障害が発生したことを検知した場合、メインセンタとの通信が切断された場合などがある。
このように、実施例1に係るバックアップシステムでは、マスタDBから受信したジャーナルを一時的に保留することなく、各レプリカDBに随時反映する。そして、マスタDBの障害発生時には整合が取れているポイントまで各レプリカDBのデータを戻す。このようにすることで、複製先のDBに対するデータ反映にかかる時間および障害発生から運用再開までにかかる時間を短縮することができる。
次に、実施例2では、図1に示したメインセンタでマスタDBの更新を実行するデータベース管理装置と、バックアップセンタでレプリカDBの更新を実行するデータベース管理装置とについて説明する。ここでは、各データベース管理装置の構成例、処理の流れ等について説明する。
[データベース管理装置(メインセンタ)]
図2は、実施例2に係るメインセンタでDBMSを実行するデータベース管理装置の構成を示す機能ブロック図である。図2に示すように、このデータベース管理装置10は、メモリ11と、DBMS12と、リモートディスク処理部13とを有する。なお、ここで図示した制御部等は、あくまで例示であり、これに限定されるものではなく、例えばマウスなどの入力部、ディスプレイなどの表示部、ネットワークインタフェースカード等を有していてもよい。また、各処理部はプロセッサなどにより実行される。
メモリ11は、DBMS12やリモートディスク処理部13等が実行するプログラムなどを記憶し、作業領域11aと整合情報管理テーブル11bとを有する。作業領域11aは、DBMS12やリモートディスク処理部13等が処理を実行する際に使用する一時領域である。
整合情報管理テーブル11bは、ジャーナルに付与するトランザクション整合情報を管理するテーブルである。図3は、整合情報管理テーブルに記憶される情報の例を示す図である。図3に示すように、整合情報管理テーブル11bは、「ジャーナルの名称、トランザクション整合情報」を対応付けて記憶する。ここで記憶される「ジャーナルの名称」は、ジャーナルを識別する識別子であり、「トランザクション整合情報」は、ジャーナルに付与されるトランザクションを識別する識別子である。図3の場合、ジャーナル「xxx」には、トランザクション整合情報として「1」が割り与えられたことを示す。
DBMS12は、マスタDB12aとマスタDB12bとDB操作部12cとジャーナル取得部12dと整合情報管理部12eとを有し、トランザクションによって各マスタDBの更新を実行する処理部である。
マスタDB12aとマスタDB12bは、バックアップセンタが管理するレプリカDBの複製元となるデータベースである。例えば、マスタDB12aは、商品の販売データを記憶する販売データベースであり、マスタDB12bは、商品の在庫を記憶する在庫データベースである。一般的に、販売数が増えれば同時に在庫数が減ることになるので、マスタDB12aが更新された場合には、マスタDB12bも更新される。
DB操作部12cは、情報処理装置が実行した業務処理によって各マスタDBを更新するトランザクションを実行する処理部である。
ジャーナル取得部12dは、DB操作部12cと連動して動作し、マスタDBが更新された場合に、更新差分を抽出する処理部である。詳しくは、ジャーナル取得部12dは、マスタDBごとに、更新された情報をジャーナルとして抽出する。そして、ジャーナル取得部12dは、マスタDBを更新したトランザクションを識別するトランザクション整合情報の通知を、整合情報管理部12eに要求する。その後、ジャーナル取得部12dは、整合情報管理部12eから通知されたトランザクション整合情報を、抽出したジャーナルに付与してジャーナルファイルDBに格納する。
一例を挙げると、ジャーナル取得部12dは、マスタDB12aからジャーナルを抽出し、トランザクション整合情報として「1」が通知された場合に、抽出したジャーナルにトランザクション整合情報「1」を付与して、ジャーナルファイルDB13aに格納する。同様に、ジャーナル取得部12dは、マスタDB12bからジャーナルを抽出し、トランザクション整合情報として「1」が通知された場合に、抽出したジャーナルにトランザクション整合情報「1」を付与したジャーナルファイルをジャーナルファイルDB13bに格納する。
整合情報管理部12eは、ジャーナル取得部12dと連動して動作し、トランザクション整合情報を管理する処理部である。詳しくは、整合情報管理部12eは、ジャーナル取得部12dからトランザクション整合情報の通知を要求された場合に、整合情報管理テーブル11bを参照する。そして、整合情報管理部12eは、整合情報管理テーブル11bに記憶されているトランザクション整合情報をインクリメントした値を、トランザクション整合情報としてジャーナル取得部12dに通知する。このとき、整合情報管理部12eは、ジャーナル取得部12dからジャーナルの名称を取得し、通知したトランザクション整合情報と対応付けて整合情報管理テーブル11bに格納する。
リモートディスク処理部13は、ジャーナルファイルDB13aとジャーナルファイルDB13bとリモート処理部13cとを有し、バックアップセンタに配置したジャーナルファイルDBの同値性を保つ処理部である。このリモートディスク処理部13は、バックアップセンタのデータベース管理装置20との間に通信回線で接続する。
ジャーナルファイルDB13aは、マスタDB12aのジャーナルを含むジャーナルファイルが書き込まれるデータベースであり、ジャーナル取得部12dによって随時更新される。ジャーナルファイルDB13bは、マスタDB12bのジャーナルを含むジャーナルファイルが書き込まれるデータベースであり、ジャーナル取得部12dによって随時更新される。
リモート処理部13cは、各ジャーナルファイルDBに書き込まれたジャーナルファイルを随時読み出してバックアップセンタに転送する処理部である。このリモート処理部13cがジャーナルファイルを読み出して転送するタイミングは、任意に設定することができる。リモート処理部13cは、ジャーナルファイルがジャーナルファイルDBに書き込まれるたびでもよく、所定の間隔でもよく、ジャーナルファイルが所定数溜まった場合でもよい。また、リモート処理部13cは、各ジャーナルファイルDB間については非同期で、ジャーナルファイルを転送する。
図4は、メインセンタからバックアップセンタに転送されるジャーナルファイルの例を示す図である。図4に示すように、リモート処理部13cは、「更新先、位置、トランザクション整合情報、DB更新後の内容」を有するジャーナルファイルをバックアップセンタに転送する。ここで、「更新先」は、更新されたマスタDBの名前であり、スキーマ名などである。「位置」は、更新されたマスタDBの更新位置を示す情報であり、物理ブロック番号などである。「トランザクション整合情報」は、整合情報管理部12eが管理し、ジャーナル取得部12dが付与したトランザクションの識別子である。「DB更新後の内容」は、具体的な更新内容、すなわち更新後のデータである。
[データベース管理装置(バックアップセンタ)]
図5は、実施例2に係るバックアップセンタでDBMSを実行するデータベース管理装置の構成を示す機能ブロック図である。図5に示すように、このデータベース管理装置20は、メモリ21と、リモートディスク処理部22と、反映部23と、DBMS24と、更新後ログ取得部25と、反映戻し実行部26とを有する。なお、ここで図示した制御部等は、あくまで例示であり、これに限定されるものではなく、マウスなどの入力部、ディスプレイなどの表示部、ネットワークインタフェースカード等を有していてもよい。また、各処理部はプロセッサなどにより実行される。
メモリ21は、各処理部が実行するプログラムなどを記憶し、作業領域21aと反映完了ポイント管理テーブル21bと更新前ログテーブル21cと更新後ログテーブル21dとを有する。作業領域21aは、各処理部等が処理を実行する際に使用する一時領域である。
反映完了ポイント管理テーブル21bは、レプリカDBごとに、反映部23によってレプリカDBへの反映が完了したジャーナルファイルのトランザクション整合情報を記憶するテーブルである。図6は、反映完了ポイント管理テーブルに記憶される情報の例を示す図である。図6に示すように、反映完了ポイント管理テーブル21bは、「レプリカDB名、反映完了ポイント」を対応付けて記憶する。
ここで記憶される「レプリカDB名」は、レプリカDBの名称であり、「反映完了ポイント」は、反映が完了した最新のトランザクション整合情報である。図6の場合、レプリカDB24aにはトランザクション整合情報として「5」が割り振られたジャーナルファイルまで反映が完了していることを示す。また、レプリカDB24bにはトランザクション整合情報として「6」が割り振られたジャーナルファイルまで反映が完了していることを示す。なお、ここで記憶される情報は、反映部23によって更新される。
更新前ログテーブル21cは、レプリカDBごとに、更新前ログ取得部24cによって取得された更新前のログ情報を累積して記憶するテーブルである。図7は、更新前ログテーブルに記憶される情報の例を示す図である。図7に示すように、更新前ログテーブル21cは、「更新先、位置、トランザクション整合情報、DB更新前の内容」を対応付けて記憶する。ここで記憶される更新先、位置、トランザクション整合情報」は、図4と同様なので、詳細な説明は省略する。「DB更新前の内容」は、更新前の具体的な内容、すなわち更新前のデータである。
更新後ログテーブル21dは、レプリカDBごとに、更新後ログ取得部25によって取得された更新後のログ情報を累積して記憶するテーブルである。ここで記憶される情報は、図4と同様なので、詳細な説明は省略する。
リモートディスク処理部22は、ジャーナルファイルDB22aとジャーナルファイルDB22bとリモート処理部22cとを有し、メインセンタに配置したジャーナルファイルDBの同値性を保つ処理部である。このリモートディスク処理部22は、メインセンタのデータベース管理装置20との間に通信回線で接続する。
ジャーナルファイルDB22aは、レプリカDB24aへの反映対象となるジャーナルファイルが書き込まれるデータベースであり、リモート処理部22cによって随時更新される。ジャーナルファイルDB22bは、レプリカDB24bへの反映対象となるジャーナルファイルが書き込まれるデータベースであり、リモート処理部22cによって随時更新される。
リモート処理部22cは、メインセンタのデータベース管理装置10から転送されたジャーナルファイルを該当するジャーナルファイルDBに格納する処理部である。
反映部23は、各ジャーナルファイルDBからジャーナルファイルを読み出し、ジャーナルと同じ内容にレプリカDBを更新する処理部である。反映部23は、ジャーナルファイルDB22aから読み出したジャーナルをレプリカDB24aに反映し、ジャーナルファイルDB22bから読み出したジャーナルをレプリカDB24bに反映する。
詳しくは、反映部23は、ジャーナルファイルDB22aからジャーナルファイルを読み出した場合、ジャーナルファイルから「更新先」と「位置」とを特定する。そして、反映部23は、レプリカDB24a上の更新先の位置に、ジャーナルファイルに格納される「DB更新後の内容」を反映する。そして、反映部23は、レプリカDB24aに対応付けて、反映を完了させたジャーナルファイルの「トランザクション整合情報」を反映完了ポイント管理テーブル21bに格納する。反映部23は、上記処理を各レプリカDBに実行する。
より詳細な例を挙げると、反映部23は、ジャーナルファイルDB22aからジャーナルファイルを読み出すと、ジャーナルを反映するトランザクションを開始し、トランザクションを開始したことをDBMS24に通知する。そして、反映部23は、読み込んだジャーナルファイルから「更新先」と「位置」とを特定し、特定した「更新先」と「位置」に「DB更新後の内容」を反映させる指示をDBMS24に指示する。その後、反映部23は、読み込んだジャーナルファイルの「トランザクション整合情報」を反映完了ポイント管理テーブル21bに格納してトランザクションを終了し、トランザクションを終了することをDBMS24に通知する。
DBMS24は、レプリカDB24aとレプリカDB24bと更新前ログ取得部24cとを有し、トランザクションによって各レプリカDBの更新を実行する処理部である。このDBMS24は、反映部23からジャーナル反映指示を受信して、該当するレプリカDBの該当する更新位置にジャーナル反映させる。
レプリカDB24aは、マスタDB12aのデータを複製させる複製先のデータベースであり、レプリカDB24bは、マスタDB12bのデータを複製させる複製先のデータベースである。
更新前ログ取得部24cは、DBMS24と連動して動作し、反映部23の指示によってDBMS24がレプリカDBを更新する場合に、更新前のデータとランザクション整合情報とを対応付けて、更新前ログテーブル21cに格納する処理部である。詳しくは、更新前ログ取得部24cは、反映部23から通知された「更新先」と「位置」に対応するデータを該当するレプリカDBから読み出す。そして、更新前ログ取得部24cは、読み出したデータと、読み出したDBの名称すなわち「更新先」と、読み出した位置と、反映部23から通知されたジャーナルファイルの「トランザクション整合情報」と対応付けて更新前ログテーブル21cに格納する。
より詳細な例を説明すると、更新前ログ取得部24cは、反映部23によってトランザクションが開始されて、DBMS24に対してジャーナルの反映指示が通知されると、反映部23から通知されたジャーナルファイルから「更新先」と「位置」を抽出する。なお、ここでのジャーナルファイルは、ジャーナルファイルDB22bから読み出されたものであるとする。この場合、更新前ログ取得部24cは、ジャーナルファイルDB22bにおける「更新先」の「位置」から「データ」を抽出する。また、更新前ログ取得部24cは、反映部23から通知されたジャーナルファイルから「トランザクション整合情報」を抽出する。そして、更新前ログ取得部24cは、抽出した「更新先」、「位置」、「データ」、「トランザクション整合情報」を対応付けて更新前ログテーブル21cに格納する。
更新後ログ取得部25は、各レプリカDBを監視し、レプリカDBが更新された場合に、更新された箇所を特定して、更新されたログを更新後ログテーブル21dに格納する処理部である。なお、更新後ログ取得部25は、更新した内容、位置、更新先、トランザクション整合情報等を反映部23やDBMS24から取得してもよい。
反映戻し実行部26は、更新前ログテーブル21c中の更新前ログを読み込んで、更新前の状態にレプリカDBを更新することで、レプリカDBをトランザクション整合状態に戻す処理部である。また、反映戻し実行部26は、更新前の状態にレプリカDBを更新するか否かを、更新前ログ中のトランザクション整合情報と、反映完了ポイン管理トテーブル21bが管理しているトランザクション整合情報を用いて判定する。なお、反映戻し実行部26が反映を戻す契機としては、オペレータからの指示を受け付けた場合、メインセンタに障害が発生したことを検知した場合、メインセンタとの通信が切断された場合などがある。
反映戻し実行部26は、反映完了ポイン管理トテーブル21bを参照し、各レプリカDBに対応付けられている「トランザクション整合情報」の最小値を特定する。そして、反映戻し実行部26は、更新前ログテーブル21cにおいて、レプリカDB24aに対応付けて記憶される更新前ログを古いものから参照する。そして、反映戻し実行部26は、特定した最小値である「トランザクション整合情報」より大きい「トランザクション整合情報」に対応付けられる更新前ログを特定する。その後、反映戻し実行部26は、レプリカDB24aに対して、特定した更新前ログの「更新先」の「位置」に「DB更新前の内容」を反映させる。
同様に、反映戻し実行部26は、更新前ログテーブル21cにおいて、レプリカDB24bに対応付けて記憶される更新前ログを古いものから参照する。そして、反映戻し実行部26は、特定した最小値である「トランザクション整合情報」より大きい「トランザクション整合情報」に対応付けられる更新前ログを特定する。その後、反映戻し実行部26は、レプリカDB24bに対して、特定した更新前ログの「更新先」の「位置」に「DB更新前の内容」を反映させる。
なお、反映戻し実行部26は、更新前のログを反映させた「更新先」と「位置」と同じ情報を有する更新後ログを、更新後ログテーブル21dから削除してもよく、更新前に戻されたことを示すフラグ等を付与してもよい。
[処理の流れ]
次に、メインセンタのデータベース管理装置10やバックアップセンタのデータベース管理装置20が実行する処理の流れを説明する。
(メインセンタ内の処理の流れ)
図8は、実施例2に係るメインセンタにおける処理の流れを説明するフローチャートである。図8に示すように、DBMS12のDB操作部12cは、情報処理装置によってマスタDBの更新が要求されると(S101肯定)、トランザクションを実行して各マスタDBを更新する(S102)。
そして、ジャーナル取得部12dは、各マスタDBのジャーナルを抽出し、整合情報管理部12eにトランザクション整合情報の取得を要求する(S103)。続いて、整合情報管理部12eは、整合情報管理テーブル11bに記憶されるトランザクション整合情報をインクリメントした値をジャーナル取得部12dに応答するとともに、整合情報管理テーブル11bに格納する(S104)。
その後、ジャーナル取得部12dは、抽出したジャーナルに、通知されたトランザクション整合情報を付与したジャーナルファイルを生成して(S105)、各ジャーナルファイルDBに格納する(S106)。
そして、リモート処理部13cは、転送契機に到達すると(S107肯定)、各ジャーナルファイルDBからジャーナルファイルを読み出して、バックアップセンタに転送する(S108)。その後、データベース管理装置10は、S101に戻って処理を繰り返して実行する。
(バックアップセンタ内のDB反映処理の流れ)
図9は、実施例2に係るバックアップセンタにおけるDB反映処理の流れを示すフローチャートである。図9に示すように、リモート処理部22cは、メインセンタからジャーナルファイルを受信すると(S201肯定)、ジャーナルファイルを該当するジャーナルファイルDBに格納する(S202)。
そして、反映部23は、各ジャーナルファイルDBからジャーナルファイルを読み出して、トランザクション整合情報を抽出する(S203)。続いて、反映部23は、各レプリカDBのジャーナルファイルから抽出したトランザクション整合情報を、各レプリカDBに対応付けて反映完了ポイント管理テーブル21bに格納する(S204)。
そして、更新前ログ取得部24cは、反映部23が抽出したジャーナルファイルから更新位置を特定し、特定した更新位置のデータを更新前ログとして更新前ログテーブル21cに格納する(S205)。
その後、反映部23は、ジャーナルファイルに含まれるジャーナルによって該当するレプリカDBを反映する指示をDBMS24に出力し、DBMS24がジャーナルを反映する(S206)。なお、ジャーナルとは、ジャーナルファイルからトランザクション整合情報を除いた情報である。そして、更新後ログ取得部25は、レプリカDBが更新された更新位置の更新後のログを抽出して、更新後ログテーブル21dに格納する(S207)。その後、データベース管理装置20は、S201に戻って処理を繰り返して実行する。
(バックアップセンタ内のDB反映戻し処理の流れ)
図10は、実施例2に係るバックアップセンタにおけるDB反映戻し処理の流れを示すフローチャートである。図10に示すように、反映戻し実行部26は、オペレータ等から切替指示を受信すると(S301肯定)、反映完了ポイン管理トテーブル21bを参照して、各レプリカDBの反映完了ポイントを抽出する(S302)。
そして、反映戻し実行部26は、抽出した各レプリカDBの反映完了ポイント、すなわちトランザクション整合情報の最小値を特定する(S303)。その後、反映戻し実行部26は、更新前ログテーブル21cを参照し、レプリカDBごとに、最小値よりも大きいトランザクション整合情報を有する更新前ログを特定する(S304)。
そして、反映戻し実行部26は、レプリカDBごとに、特定した最小値より大きいトランザクション整合情報を有する更新前ログの更新前データを、該当する更新位置に反映する(S305)。その後、データベース管理装置20は、S301に戻って処理を繰り返して実行する。
(トランザクションの説明)
図11は、メインセンタにおけるマスタDBを更新するトランザクションを説明する図である。図11に示すように、情報処理装置が実行する業務処理は、トランザクションを開始すると、トランザクション処理開始の操作要求をDBMS12に送信し、DBMS12は、マスタDBを更新するトランザクションを開始する。
そして、業務処理は、具体的なDB操作、すなわちデータ更新等を実行すると、データ更新の操作実行をDBMS12に要求し、DBMS12は、要求に応じてマスタDBを更新する。業務処理は、この処理を処理数分実行する。
その後、業務処理は、データ更新を実行する処理が終了すると、トランザクション秋涼の操作要求をDBMS12に送信し、DBMS12は、マスタDBを更新するトランザクションを終了する。なお、業務処理は、業務に応じて、トランザクション開始、DB操作、トランザクション終了を繰り返す。
(メインセンタにおけるジャーナル取得処理の流れ)
図12は、メインセンタにおけるジャーナル取得処理の流れを示すシーケンス図である。図12に示すように、DBMS12のDB操作部12cは、トランザクション処理を開始すると(S401)、DBを更新する操作を実行し、DBを更新したことをジャーナル取得部12dに通知する(S402)。
ジャーナル取得部12dは、更新されたマスタDBから更新後の内容をジャーナルとして抽出してメモリ11の作業領域11a等に格納する(S403とS404)。そして、DBMS12のDB操作部12cは、マスタDBの更新が完了すると、トランザクション処理を終了する通知をジャーナル取得部12dに通知する(S405)。
ジャーナル取得部12dは、整合情報管理部12eにトランザクション整合情報の取得を要求し(S406)、整合情報管理部12eからインクリメントされたトランザクション整合情報を取得する(S407)。すると、ジャーナル取得部12dは、S404でメモリ11に格納したジャーナルに、取得したトランザクション整合情報を付与してジャーナルファイルを生成する(S408とS409)。
その後、ジャーナル取得部12dは、メモリ11の作業領域11aからジャーナルファイルを読み出して、該当するジャーナルファイルDBに格納する(S410)。そして、DBMS12のDB操作部12cは、ジャーナル取得部12dによってジャーナルファイルがDBに格納されると、トランザクション処理を終了する(S411)。
(バックアップセンタにおけるジャーナル反映処理の流れ)
図13は、バックアップセンタにおけるジャーナル反映処理の流れを示すシーケンス図である。なお、この処理は、レプリカDBごとに実行される。図13に示すように、反映部23は、各ジャーナルファイルDBからジャーナルファイルを読み込み(S501)、トランザクション処理を開始する(S502)。DBMS24は、反映部23からトランザクション開始が通知されると、各レプリカDBにデータを反映する処理を実行するトランザクション処理を開始する(S503)。
そして、反映部23は、ジャーナルファイルとDBへの操作指示とを含むDB反映要求をDBMS24に送信し(S504)、DBMS24は、更新前ログ取得部24cに対して、更新前ログの取得を要求する(S505)。その後、DBMS24は、該当レプリカにジャーナルを反映させてデータを更新し(S506)、更新が完了したことを反映部23に通知する(S507)。
そして、反映部23は、レプリカDBごとに、反映が完了したジャーナルファイルのトランザクション整合情報を反映完了ポイントとして反映完了ポイント管理テーブル21bに格納する(S508)。その後、反映部23は、トランザクションの終了処理を開始し(S509)、DBMS24は、トランザクション確定処理を実行して、各レプリカDBに反映させたデータを確定させる(S510)。
その後、DBMS24は、トランザクションを確定させたことを反映部23に通知し(S511)、この通知を受けた反映部23は、トランザクション処理を終了する(S512)。
(バックアップセンタにおける更新前ログ取得処理の流れ)
図14は、バックアップセンタにおける更新前ログ取得処理の流れを示すシーケンス図である。DBMS24は、ジャーナルをレプリカDBに反映させるトランザクション処理を開始すると(S601)、該当するレプリカDBの更新前ログの取得を更新前ログ取得部24cに要求する(S602)。
更新前ログ取得部24cは、反映部23から受信したジャーナルファイルから更新先と位置とを特定し、該当するレプリカDBの更新先と位置から更新前のデータを取得する(S603)。続いて、更新前ログ取得部24cは、反映部23から受信したジャーナルファイルからトランザクション整合情報を取得して更新前ログにトランザクション整合情報を付与し(S604)、メモリ21の作業領域21a等に格納する(S605)。その後、更新前ログ取得部24cは、更新前ログを取得したことをDBMS24に通知する(S606)。
そして、この通知を受けたDBMS24は、反映部23から受信したジャーナルファイルに基づいてレプリカDBにジャーナルを反映させる(S607)。その後、DBMS24は、ジャーナルをレプリカDBに反映させるトランザクション処理の終了処理を開始する(S608)。すると、更新前ログ取得部24cは、作業領域21aに格納した更新前ログを読み込んで、更新前ログテーブル21cに格納する(S609とS610)。
そして、更新前ログ取得部24cは、更新前ログを更新前ログテーブル21cに格納したことを示す完了通知をDBMS24に通知し(S611)、この通知を受けたDBMS24は、トランザクション処理を終了する(S612)。
(処理の具体例)
図15は、レプリカDBへのジャーナル反映から反映戻しまでの一連の処理例を説明する図である。この例では、レプリカDB(A)、レプリカDB(B)、レプリカDB(C)を有し、レプリカDBごとにジャーナルファイルDB(A)、ジャーナルファイルDB(B)、ジャーナルファイルDB(C)を有する例を用いて説明する。
図15に示すように、1世代目のジャーナルファイルとして、データベース管理装置20のリモート処理部22cは、トランザクション整合情報が「1」であるジャーナルファイルを3つ受信し、各ジャーナルファイルDBに格納する。すなわち、データベース管理装置20は、1世代目のジャーナルファイルとして、各レプリカDBへのジャーナルを受信する。
すると、反映部23は、各ジャーナルファイルDBからジャーナルファイルを読み込んで、各レプリカDBに反映する。そして、反映部23は、各レプリカDBの反映完了ポイントを1に更新する。また、更新前ログ取得部24cは、各レプリカDBが更新される前に、各レプリカDBの更新前ログを取得して、レプリカDBごとに更新前ログテーブル21cに格納する。
次に、2世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「2」であるジャーナルファイルを2つ受信し、ジャーナルファイルDB(B)とジャーナルファイルDB(C)とに格納する。すなわち、データベース管理装置20は、2世代目のジャーナルファイルとして、レプリカDB(B)へのジャーナルとレプリカDB(C)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(B)からジャーナルファイルを読み込んで、レプリカDB(B)に反映する。同様に、反映部23は、ジャーナルファイルDB(C)からジャーナルファイルを読み込んで、レプリカDB(C)に反映する。そして、反映部23は、レプリカDB(B)とレプリカDB(C)の反映完了ポイントを2に更新し、レプリカDB(A)の反映完了ポイントを1のままにする。また、更新前ログ取得部24cは、レプリカDB(B)が更新される前に、レプリカDB(B)の更新前ログを取得して、更新前ログテーブル21cに格納する。同様に、更新前ログ取得部24cは、レプリカDB(C)が更新される前に、レプリカDB(C)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、3世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「3」であるジャーナルファイルを2つ受信し、ジャーナルファイルDB(A)とジャーナルファイルDB(B)とに格納する。すなわち、データベース管理装置20は、3世代目のジャーナルファイルとして、レプリカDB(A)へのジャーナルとレプリカDB(B)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(A)からジャーナルファイルを読み込んで、レプリカDB(A)に反映する。同様に、反映部23は、ジャーナルファイルDB(B)からジャーナルファイルを読み込んで、レプリカDB(B)に反映する。そして、反映部23は、レプリカDB(A)とレプリカDB(B)の反映完了ポイントを3に更新し、レプリカDB(C)の反映完了ポイントを2のままにする。また、更新前ログ取得部24cは、レプリカDB(A)が更新される前に、レプリカDB(A)の更新前ログを取得して、更新前ログテーブル21cに格納する。同様に、更新前ログ取得部24cは、レプリカDB(B)が更新される前に、レプリカDB(B)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、4世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「4」であるジャーナルファイルを2つ受信し、ジャーナルファイルDB(A)とジャーナルファイルDB(C)とに格納する。すなわち、データベース管理装置20は、4世代目のジャーナルファイルとして、レプリカDB(A)へのジャーナルとレプリカDB(C)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(A)からジャーナルファイルを読み込んで、レプリカDB(A)に反映する。同様に、反映部23は、ジャーナルファイルDB(C)からジャーナルファイルを読み込んで、レプリカDB(C)に反映する。そして、反映部23は、レプリカDB(A)とレプリカDB(C)の反映完了ポイントを4に更新し、レプリカDB(B)の反映完了ポイントを3のままにする。また、更新前ログ取得部24cは、レプリカDB(A)が更新される前に、レプリカDB(A)の更新前ログを取得して、更新前ログテーブル21cに格納する。同様に、更新前ログ取得部24cは、レプリカDB(C)が更新される前に、レプリカDB(C)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、5世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「5」であるジャーナルファイルを1つ受信し、ジャーナルファイルDB(B)とに格納する。すなわち、データベース管理装置20は、5世代目のジャーナルファイルとして、レプリカDB(B)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(B)からジャーナルファイルを読み込んで、レプリカDB(B)に反映する。そして、反映部23は、レプリカDB(B)の反映完了ポイントを5に更新し、レプリカDB(A)とレプリカDB(C)の反映完了ポイントを4のままにする。また、更新前ログ取得部24cは、レプリカDB(B)が更新される前に、レプリカDB(B)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、6世代目のジャーナルファイルを受信するタイミングで障害が発生したとする。しかし、リモート処理部22cは、トランザクション整合情報が「6」であるジャーナルファイルを1つ受信し、ジャーナルファイルDB(A)に格納する。すなわち、データベース管理装置20は、6世代目のジャーナルファイルとして、レプリカDB(A)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(A)からジャーナルファイルを読み込んで、レプリカDB(A)に反映する。そして、反映部23は、レプリカDB(A)の反映完了ポイントを6に更新し、レプリカDB(B)の反映完了ポイントを5のままにし、レプリカDB(C)の反映完了ポイントを4のままにする。また、更新前ログ取得部24cは、レプリカDB(A)が更新される前に、レプリカDB(A)の更新前ログを取得して、更新前ログテーブル21cに格納する。
ここで、データベース管理装置20は、6世代目のジャーナルファイルを受信するタイミングで障害を検出したので、反映戻し処理を実行する。反映戻し実行部26は、まず、反映完了ポイン管理テーブル21bを参照し、レプリカごとに反映完了ポイントを抽出する。次に、反映戻し実行部26は、抽出した反映完了ポイントのうち最小値を特定する。上記した例では、レプリカDB(A)の反映完了ポイントが6、レプリカDB(B)の反映完了ポイントが5、レプリカDB(C)の反映完了ポイントが4であることより、反映戻し実行部26は、最小値を4と特定する。
その後、反映戻し実行部26は、トランザクション整合情報が4より大きいジャーナルを反映前の状態に戻す。具体的には、反映戻し実行部26は、レプリカDB(A)については、更新前ログテーブル21cを参照し、トランザクション整合情報が4より大きい更新前ログとして、トランザクション整合情報が6の更新前ログを特定する。そして、反映戻し実行部26は、トランザクション整合情報が6の更新前ログに含まれる更新先の位置に、DB更新前の内容を反映させて、更新前の状態に戻す。
同様に、反映戻し実行部26は、レプリカDB(B)については、更新前ログテーブル21cを参照し、トランザクション整合情報が4より大きい更新前ログとして、トランザクション整合情報が5の更新前ログを特定する。そして、反映戻し実行部26は、トランザクション整合情報が5の更新前ログに含まれる更新先の位置に、DB更新前の内容を反映させて、更新前の状態に戻す。
また、反映戻し実行部26は、レプリカDB(C)については、更新前ログテーブル21cを参照し、トランザクション整合情報が4より大きい更新前が存在しないことを特定する。このため、反映戻し実行部26は、レプリカDB(C)について反映戻し処理を実行しない。このようにすることで、各レプリカDBの反映状況をトランザクション整合情報が4以下の状態に変更することができる。したがって、各レプリカDB間で整合性を確定することができる。
上述した実施例2に係るバックアップシステムでは、バックアップセンタでは定常運用中はトランザクション整合を気にせずに無条件にジャーナルをレプリカDBへ反映することができる。このため、バックアップセンタでは、ジャーナルの受信と同時にレプリカDBへ反映を行うリアルタイム反映が実現できる。また、災害発生前まで各ジャーナルファイルの転送レスポンスに開きがない通常の運用状況では、災害発生時の反映戻し処理の量は微量となり、災害発生時の運用再開までの時間が短縮される。
従来では、ジャーナルファイルの世代ごとに一括して反映を行うため、災害後の反映量が多く、例えば数千トランザクション分などになり、時間が掛かる。しかし、実施例2に係るバックアップシステムでは、リアルタイムに反映を行うため反映戻しを行うトランザクション分の処理時間に短縮される。
実施例2では、ジャーナルファイルとレプリカDBが1:1で対応する例を説明したが、ジャーナルファイル内に複数のレプリカDBのジャーナルが格納される状況、すなわち1:nでも同様に処理することができる。そこで、実施例3では、ジャーナルファイル内に複数のレプリカDBのジャーナルが格納される例を説明する。
図16は、実施例3に係る1ジャーナルファイルに複数のレプリカDBのジャーナルが格納されている場合の処理例を説明する図である。この例では、レプリカDB(A)、レプリカDB(B)、レプリカDB(C)を有し、レプリカDBごとにジャーナルファイルDB(A)、ジャーナルファイルDB(B)、ジャーナルファイルDB(C)を有する例を用いて説明する。
また、ここでは、各ジャーナルファイルに、「ジャーナルファイル(A)、ジャーナルファイル(B)、ジャーナルファイル(C)」のトランザクション整合情報が含まれているものとする。つまり、メインセンタのジャーナル取得部12dが、各ジャーナルに「1、1、1」などとトランザクション整合情報を付与することとする。
図16に示すように、1世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「1、1、1」を含むジャーナルファイルを3つ受信し、各ジャーナルファイルDBに格納する。すなわち、データベース管理装置20は、1世代目のジャーナルファイルとして、各レプリカDBへのジャーナルを受信する。
すると、反映部23は、各ジャーナルファイルDBからジャーナルファイルを読み込んで、各レプリカDBに反映する。そして、反映部23は、各レプリカDBの反映完了ポイントを1に更新する。また、更新前ログ取得部24cは、各レプリカDBが更新される前に、各レプリカDBの更新前ログを取得して、レプリカDBごとに更新前ログテーブル21cに格納する。
次に、2世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「1、2、2」を含むジャーナルファイルを2つ受信し、ジャーナルファイルDB(B)とジャーナルファイルDB(C)とに格納する。すなわち、データベース管理装置20は、2世代目のジャーナルファイルとして、レプリカDB(B)へのジャーナルとレプリカDB(C)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(B)からジャーナルファイルを読み込んで、レプリカDB(B)に反映する。同様に、反映部23は、ジャーナルファイルDB(C)からジャーナルファイルを読み込んで、レプリカDB(C)に反映する。そして、反映部23は、レプリカDB(B)とレプリカDB(C)の反映完了ポイントを2に更新し、レプリカDB(A)の反映完了ポイントを1のままにする。また、更新前ログ取得部24cは、レプリカDB(B)が更新される前に、レプリカDB(B)の更新前ログを取得して、更新前ログテーブル21cに格納する。同様に、更新前ログ取得部24cは、レプリカDB(C)が更新される前に、レプリカDB(C)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、3世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「3、3、2」であるジャーナルファイルを2つ受信し、ジャーナルファイルDB(A)とジャーナルファイルDB(B)とに格納する。すなわち、データベース管理装置20は、3世代目のジャーナルファイルとして、レプリカDB(A)へのジャーナルとレプリカDB(B)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(A)からジャーナルファイルを読み込んで、レプリカDB(A)に反映する。同様に、反映部23は、ジャーナルファイルDB(B)からジャーナルファイルを読み込んで、レプリカDB(B)に反映する。そして、反映部23は、レプリカDB(A)とレプリカDB(B)の反映完了ポイントを3に更新し、レプリカDB(C)の反映完了ポイントを2のままにする。また、更新前ログ取得部24cは、レプリカDB(A)が更新される前に、レプリカDB(A)の更新前ログを取得して、更新前ログテーブル21cに格納する。同様に、更新前ログ取得部24cは、レプリカDB(B)が更新される前に、レプリカDB(B)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、4世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「4、3、4」であるジャーナルファイルを2つ受信し、ジャーナルファイルDB(A)とジャーナルファイルDB(C)とに格納する。すなわち、データベース管理装置20は、4世代目のジャーナルファイルとして、レプリカDB(A)へのジャーナルとレプリカDB(C)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(A)からジャーナルファイルを読み込んで、レプリカDB(A)に反映する。同様に、反映部23は、ジャーナルファイルDB(C)からジャーナルファイルを読み込んで、レプリカDB(C)に反映する。そして、反映部23は、レプリカDB(A)とレプリカDB(C)の反映完了ポイントを4に更新し、レプリカDB(B)の反映完了ポイントを3のままにする。また、更新前ログ取得部24cは、レプリカDB(A)が更新される前に、レプリカDB(A)の更新前ログを取得して、更新前ログテーブル21cに格納する。同様に、更新前ログ取得部24cは、レプリカDB(C)が更新される前に、レプリカDB(C)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、5世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「4、5、4」であるジャーナルファイルを1つ受信し、ジャーナルファイルDB(B)とに格納する。すなわち、データベース管理装置20は、5世代目のジャーナルファイルとして、レプリカDB(B)へのジャーナルを受信する。
すると、反映部23は、ジャーナルファイルDB(B)からジャーナルファイルを読み込んで、レプリカDB(B)に反映する。そして、反映部23は、レプリカDB(B)の反映完了ポイントを5に更新し、レプリカDB(A)とレプリカDB(C)の反映完了ポイントを4のままにする。また、更新前ログ取得部24cは、レプリカDB(B)が更新される前に、レプリカDB(B)の更新前ログを取得して、更新前ログテーブル21cに格納する。
続いて、6世代目のジャーナルファイルとして、リモート処理部22cは、トランザクション整合情報が「6、6、6」であるジャーナルファイルを1つ受信し、ジャーナルファイルDB(A)に格納する。すなわち、データベース管理装置20は、6世代目のジャーナルファイルを3つ受信するはずが、1つが受信していないことを根拠に、障害発生を検出する。
すると、反映部23は、ジャーナルファイルDB(A)からジャーナルファイルを読み込んで、レプリカDB(A)に反映する。そして、反映部23は、レプリカDB(A)の反映完了ポイントを6に更新し、レプリカDB(B)の反映完了ポイントを5のままにし、レプリカDB(C)の反映完了ポイントを4のままにする。また、更新前ログ取得部24cは、レプリカDB(A)が更新される前に、レプリカDB(A)の更新前ログを取得して、更新前ログテーブル21cに格納する。
そして、データベース管理装置20は、6世代目のジャーナルファイルを受信するタイミングで障害を検出したので、反映戻し処理を実行する。ここで、図17から図19を用いて反映戻し判定の例を説明する。図17は、実施例3に係る反映戻しの判定例1を説明する図である。図18は、実施例3に係る反映戻しの判定例2を説明する図である。図19は、実施例3に係る反映戻しの判定例3を説明する図である。
反映戻し実行部26は、以下の条件1と条件2の両方を満たす場合に、データの戻しを実行する。(条件1)更新前ログの各トランザクション整合情報が、反映完了ポイント管理テーブル21bで管理している各トランザクション整合情報以上の値である。(条件2)更新前ログ中の各トランザクション整合情報が、反映完了ポイント管理テーブル21bで管理している各トランザクション整合情報と一致しないものがある。
図17を用いて、反映戻し実行部26は、レプリカDB(A)のジャーナルファイルについて説明する。この場合、ジャーナルファイル(A)の更新前ログのトランザクション整合情報が「6」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「6」である。また、ジャーナルファイル(B)の更新前ログのトランザクション整合情報が「6」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「5」である。また、ジャーナルファイル(C)の更新前ログのトランザクション整合情報が「6」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「4」である。
したがって、反映戻し実行部26は、更新前ログの各トランザクション整合情報が、反映完了ポイント管理テーブル21bで管理している各トランザクション整合情報以上の値であるので、(条件1)を満たすと判定する。また、ジャーナルファイル(C)の更新前ログのトランザクション整合情報が「6」が、反映完了ポイント管理テーブル21bのトランザクション整合情報が「4」であることより、(条件2)を満たすと判定する。
この結果、反映戻し実行部26は、レプリカDB(A)に対しては、ジャーナルを戻すと判定して、反映戻し処理を実行する。具体的には、反映戻し実行部26は、レプリカDB(A)に反映された、トランザクション整合情報が「6、6、6」であるジャーナルを戻す。つまり、反映戻し実行部26は、トランザクション整合情報が「6」である更新前ログをレプリカDB(A)に反映する。
次に、図18を用いて、反映戻し実行部26は、レプリカDB(B)のジャーナルファイルについて説明する。この場合、ジャーナルファイル(A)の更新前ログのトランザクション整合情報が「4」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「6」である。また、ジャーナルファイル(B)の更新前ログのトランザクション整合情報が「5」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「5」である。また、ジャーナルファイル(C)の更新前ログのトランザクション整合情報が「4」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「4」である。
したがって、反映戻し実行部26は、ジャーナルファイル(A)の更新前ログのトランザクション整合情報「4」が反映完了ポイント管理テーブル21bのトランザクション整合情報「6」以上を満たさないので、(条件1)を満たさないと判定する。この結果、反映戻し実行部26は、レプリカDB(B)に対してはジャーナルを戻さないと判定する。
次に、図19を用いて、反映戻し実行部26は、レプリカDB(C)のジャーナルファイルについて説明する。この場合、ジャーナルファイル(A)の更新前ログのトランザクション整合情報が「6」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「6」である。また、ジャーナルファイル(B)の更新前ログのトランザクション整合情報が「5」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「5」である。また、ジャーナルファイル(C)の更新前ログのトランザクション整合情報が「4」であり、反映完了ポイント管理テーブル21bのトランザクション整合情報が「4」である。
したがって、反映戻し実行部26は、更新前ログの各トランザクション整合情報が、反映完了ポイント管理テーブル21bで管理している各トランザクション整合情報以上の値であることから、(条件1)を満たすと判定する。しかし、反映戻し実行部26は、更新前ログの各トランザクション整合情報が、反映完了ポイント管理テーブル21bで管理している各トランザクション整合情報と全て一致するので、(条件2)を満たさないと判定する。この結果、反映戻し実行部26は、レプリカDB(C)に対してはジャーナルを戻さないと判定する。
このようにすることで、図15では、トランザクション整合情報が5のジャーナルを元に戻してしまっていた。ところが、当該ジャーナルはレプリカDB(B)に閉じたものである。実施例2の手法では、ジャーナルが該当するレプリカDBに閉じたものかどうかを判定できないので、元に戻すことになるが、実施例3では、ジャーナルが該当するレプリカDBに閉じたものかどうかをすることができる。したがって、マスタDBの更新により近く、かつ、整合性の取れたレプリカDBに復元して、サービスを継続することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
(トランザクション整合情報)
上記実施例では、トランザクション整合情報として、順番にインクリメントされる番号を例にして説明したが、これに限定されるものではない。例えば、任意な識別子を用いることもできる。その場合、更新前ログ等としては、時系列に記憶し、時間にしたがって反映戻しを判定することもできる。
また、トランザクション整合情報として、マスタDBを更新したトランザクションを識別するトランザクションID等を用いることもできる。その場合には、更新前ログに同様のトランザクションIDを含むようにする。この結果、データベース間で共通に保持されていない識別子を反映戻し対象と特定することもできる。
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。また、実施例ではバックアップシステムを例にして説明したがこれに限定されるものではなく、任意のデータベースシステムに適用することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(ハードウェア構成)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
図20は、データベース更新制御プログラムを実行するコンピュータのハードウェア構成例を示す図である。図20に示すように、コンピュータ100は、CPU102、入力装置103、出力装置104、通信インタフェース105、媒体読取装置106、HDD(Hard Disk Drive)107、RAM(Random Access Memory)108を有する。また、図20に示した各部は、バス101で相互に接続される。
入力装置103は、マウスやキーボードであり、出力装置104は、ディスプレイなどであり、通信インタフェース105は、NIC(Network Interface Card)などのインタフェースである。HDD107は、データベース更新制御プログラム107aとともに、図2に示した各DBやテーブル等を記憶する。記録媒体の例としてHDD107を例に挙げたが、ROM(Read Only Memory)、RAM、CD−ROM等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記録媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
CPU102は、データベース更新制御プログラム107aを読み出してRAM108に展開することで、図5等で説明した各機能を実行するデータベース更新制御プロセス108aを動作させる。すなわち、データベース更新制御プロセス108aは、図5に記載したリモートディスク処理部22、反映部23、DBMS24、更新後ログ取得部25、反映戻し実行部26と同様の機能を実行する。また、データベース更新制御プロセス108aは、図2に記載したDBMS12、リモートディスク処理部13と同様の機能を実行することもできる。このようにコンピュータ100は、プログラムを読み出して実行することでデータベース更新制御方法を実行する情報処理装置として動作する。
コンピュータ100は、媒体読取装置106によって記録媒体からデータベース更新制御プログラムを読み出し、読み出されたデータベース更新制御プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
1 メインセンタ
2 情報処理装置
3 データベース管理システム
3a、3b マスタDB
4 リモートディスク装置
4a、4b、4d、4e ジャーナルファイルDB
5 バックアップセンタ
6 データベース管理システム
6a、6b レプリカDB
10 データベース管理装置
11 メモリ
11a 作業領域
11b 整合情報管理テーブル
12 DBMS
12a、12b マスタDB
12c DB操作部
12d ジャーナル取得部
12e 整合情報管理部
13 リモートディスク処理部
13a、13b ジャーナルファイルDB
13c リモート処理部
20 データベース管理装置
21 メモリ
21a 作業領域
21b 反映完了ポイント管理テーブル
21c 更新前ログテーブル
21d 更新後ログテーブル
22 リモートディスク処理部
22a、22b ジャーナルファイルDB
22c リモート処理部
23 反映部
24 DBMS
24a、24b レプリカDB
24c 更新前ログ取得部
25 更新後ログ取得部
26 反映戻し実行部

Claims (6)

  1. 複数のデータベースの内容がデータベースごとに対応して複製される複数の複製データベースにおいて、1つのトランザクションによって前記複数のデータベースが更新されて前記複製データベースごとに生成された各更新情報に基づいて、各更新情報に対応する各複製データベースを更新する更新部と、
    前記更新部が前記複製データベースを更新する場合に、更新前のデータと更新に使用された更新情報に付与される識別子とを対応付けて、前記複製データベースごとに保持する保持部と、
    前記保持部が保持する識別子から最新の更新情報を示す識別子を前記複製データベースごとに抽出し、抽出した識別子のうち、各複製データベースの間で最も古くに更新した識別子を特定する特定部と、
    前記特定部が特定した識別子より新しい更新情報の識別子に対応する更新前データを、前記複数の複製データベースのうち該当する前記複製データベースに反映する反映部と
    を有することを特徴とするデータベース更新制御装置。
  2. 前記識別子は、前記更新情報を送信する送信元がトランザクション単位でインクリメントして付与する番号であって、
    前記保持部は、最新の更新情報を示す番号を前記複数の複製データベースごとに更に記憶し、
    前記特定部は、前記保持部が前記複数の複製データベースごとに記憶した最新の更新情報を示す番号のうち最小の番号を特定し、
    前記反映部は、前記特定部が特定した最小の番号より大きい番号に対応付けられた更新前のデータを前記保持部から読み込んで、該当する前記複製データベースに反映することを特徴とする請求項1に記載のデータベース更新制御装置。
  3. 前記更新情報は、当該更新情報を送信する送信元がインクリメントする番号が付与された更新情報を前記複数の複製データベース分含む更新ファイルであって、
    前記更新部は、受信した更新ファイルに含まれる更新情報のうち、前回の更新情報に付与された番号より大きい番号が付与されている更新情報に基づいて、該当する前記複製データベースを更新することを特徴する請求項1に記載のデータベース更新制御装置。
  4. 前記保持部は、前記更新前のデータと前記番号と含む更新前ログを前記更新ファイルごとに保持し、さらに、前記データを更新した最新の更新情報に付与されていた番号を反映完了ポイントとして前記データベースごとに保持し、
    前記特定部は、前記更新前ログの番号が反映完了ポイントで管理される値以上であり、かつ、前記更新前ログの番号が反映完了ポイントで管理される番号と一致しない更新情報が存在する、更新ファイルを特定することを特徴とする請求項3に記載のデータベース更新制御装置。
  5. 複数のデータベースを保持する第1のデータベース管理装置と、前記複数のデータベースの内容がデータベースごとに対応して複製される複数の複製データベースを保持する第2のデータベース管理装置を有するデータベース管理システムであって、
    前記第1のデータベース管理装置は、
    1つのトランザクションを実行して前記複数のデータベースを更新した場合に、更新した内容と前記内容を識別する識別子とを含む更新情報を前記複製データベースごとに生成して、前記第2のデータベース管理装置に送信する送信部を有し、
    前記第2のデータベース管理装置は、
    前記第1のデータベース管理装置から複数の更新情報を受信した場合に、各更新情報に対応する各複製データベースを、各更新情報に基づいて更新する更新部と、
    前記更新部が前記複製データベースを更新する場合に、更新前のデータと更新に使用された更新情報に付与される識別子とを対応付けて、前記複製データベースごとに保持する保持部と、
    前記保持部が保持する識別子から最新の更新情報を示す識別子を前記複製データベースごとに抽出し、抽出した識別子のうち、各複製データベースの間で最も古くに更新した識別子を特定する特定部と、
    前記特定部が特定した識別子より新しい更新情報の識別子に対応する更新前データを、前記複数の複製データベースのうち該当する前記複製データベースに反映する反映部と
    を有することを特徴とするデータベース管理システム。
  6. コンピュータに、
    複数のデータベースの内容がデータベースごとに対応して複製される複数の複製データベースにおいて、1つのトランザクションによって前記複数のデータベースが更新されて前記複製データベースごとに生成された各更新情報に基づいて、各更新情報に対応する各複製データベースを更新し、
    前記複製データベースを更新する場合に、更新前のデータと更新に使用された更新情報に付与される識別子とを対応付けて、前記複製データベースごとに保持し、
    保持する識別子から最新の更新情報を示す識別子を前記データベースごとに抽出し、抽出した識別子のうち、各複製データベースの間で最も古くに更新した識別子を特定し、
    特定した識別子より新しい更新情報の識別子に対応する更新前データを、前記複数の複製データベースのうち該当する前記複製データベースに反映する
    処理を実行させることを特徴とするデータベース更新制御プログラム。
JP2011171380A 2011-08-04 2011-08-04 データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム Expired - Fee Related JP5724735B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011171380A JP5724735B2 (ja) 2011-08-04 2011-08-04 データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム
US13/494,051 US8959052B2 (en) 2011-08-04 2012-06-12 Database update control apparatus, database management system, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011171380A JP5724735B2 (ja) 2011-08-04 2011-08-04 データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム

Publications (2)

Publication Number Publication Date
JP2013037450A JP2013037450A (ja) 2013-02-21
JP5724735B2 true JP5724735B2 (ja) 2015-05-27

Family

ID=47627612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011171380A Expired - Fee Related JP5724735B2 (ja) 2011-08-04 2011-08-04 データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム

Country Status (2)

Country Link
US (1) US8959052B2 (ja)
JP (1) JP5724735B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2013323618B2 (en) * 2012-09-25 2019-04-04 Mx Technologies Inc. Aggregation source routing
US9542177B1 (en) * 2012-10-30 2017-01-10 Amazon Technologies, Inc. Peer configuration analysis and enforcement
JP6036470B2 (ja) * 2013-03-26 2016-11-30 富士通株式会社 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
US10468126B1 (en) 2014-08-19 2019-11-05 Multiscale Health Networks, Llc. Clinical activity network generation
US10892046B1 (en) * 2014-08-19 2021-01-12 Multiscale Health Networks Llc Systems and methods for dynamically extracting electronic health records
CN105630625A (zh) * 2014-10-29 2016-06-01 国际商业机器公司 检测数据副本之间的一致性的方法和装置
JP6325630B2 (ja) * 2016-10-28 2018-05-16 ファナック株式会社 ラダーライブラリ管理装置
US11334599B2 (en) * 2018-01-23 2022-05-17 Computer Projects of Illinois, Inc. Systems and methods for electronic data record synchronization
JP7220689B2 (ja) * 2020-09-16 2023-02-10 株式会社富士通エフサス 情報処理システム、情報処理方法および情報処理プログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4076326B2 (ja) * 2001-05-25 2008-04-16 富士通株式会社 バックアップシステム、データベース装置、データベース装置のバックアップ方法、データベース管理プログラム、バックアップ装置、バックアップ方法および、バックアッププログラム
US7606881B2 (en) * 2002-04-25 2009-10-20 Oracle International Corporation System and method for synchronization of version annotated objects
JP2004094710A (ja) * 2002-09-02 2004-03-25 Hitachi Ltd 記憶サブシステムのデータ二重化方法およびシステム
US20080027830A1 (en) * 2003-11-13 2008-01-31 Eplus Inc. System and method for creation and maintenance of a rich content or content-centric electronic catalog
JP4575762B2 (ja) 2004-06-03 2010-11-04 株式会社日立製作所 データ処理方法および装置並びにストレージ装置およびその処理プログラム
US7194486B2 (en) * 2004-06-03 2007-03-20 Hitachi, Ltd. Method and system for data processing with data replication for the same
JP4477950B2 (ja) * 2004-07-07 2010-06-09 株式会社日立製作所 リモートコピーシステム及び記憶装置システム
JP4549793B2 (ja) * 2004-09-21 2010-09-22 株式会社日立製作所 データ処理方法、データベースシステム及びストレージ装置
JP2007317040A (ja) 2006-05-29 2007-12-06 Hitachi Ltd Dbレプリケーションシステムにおける更新履歴db改竄検知方式
JP4870190B2 (ja) * 2009-04-27 2012-02-08 株式会社日立製作所 データ処理方法、計算機、及びデータ処理プログラム

Also Published As

Publication number Publication date
US8959052B2 (en) 2015-02-17
US20130036090A1 (en) 2013-02-07
JP2013037450A (ja) 2013-02-21

Similar Documents

Publication Publication Date Title
JP5724735B2 (ja) データベース更新制御装置、データベース管理システムおよびデータベース更新制御プログラム
US20200265017A1 (en) Synchronization of client machines with a content management system repository
US10353918B2 (en) High availability and disaster recovery in large-scale data warehouse
US8838721B2 (en) File sharing system and file sharing method
CN101334797B (zh) 一种分布式文件系统及其数据块一致性管理的方法
US10089187B1 (en) Scalable cloud backup
US9367261B2 (en) Computer system, data management method and data management program
JP5952960B2 (ja) 計算機システム、計算機システム管理方法及びプログラム
US10489378B2 (en) Detection and resolution of conflicts in data synchronization
JP2004334574A (ja) ストレージの運用管理プログラム、運用管理方法及び管理計算機
JP2012234333A (ja) クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
JP2007241486A (ja) 記憶装置システム
CN110019469B (zh) 分布式数据库数据处理方法、装置、存储介质及电子装置
CN104750757B (zh) 一种基于HBase的数据存储方法和设备
CN103186418B (zh) 一种任务分发方法及系统
JP5691306B2 (ja) 情報処理システム
JP2010026965A (ja) アーカイブシステムおよびコンテンツの管理方法
CN116389233A (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
JP2007293821A (ja) データベースシステム管理方法及びデータベースシステム
JP5735051B2 (ja) マスタサーバ、情報同期方法、および、情報同期プログラム
CN105245375A (zh) 一种基于网络的高效存储方法
WO2016067370A1 (ja) 情報処理装置、方法およびプログラム
CN104504123B (zh) 一种基于日志拆分的目录复制实现方法
JP6291977B2 (ja) 分散ファイルシステム、バックアップファイル取得方法、制御装置及び管理装置
US10547677B1 (en) System for data storage for distributed access

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150316

R150 Certificate of patent or registration of utility model

Ref document number: 5724735

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees