JP2002318718A - データベースレプリケーション方法、そのプログラム及び記録媒体 - Google Patents

データベースレプリケーション方法、そのプログラム及び記録媒体

Info

Publication number
JP2002318718A
JP2002318718A JP2001122817A JP2001122817A JP2002318718A JP 2002318718 A JP2002318718 A JP 2002318718A JP 2001122817 A JP2001122817 A JP 2001122817A JP 2001122817 A JP2001122817 A JP 2001122817A JP 2002318718 A JP2002318718 A JP 2002318718A
Authority
JP
Japan
Prior art keywords
site
data
primary
replicate
database
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.)
Pending
Application number
JP2001122817A
Other languages
English (en)
Inventor
Kentaro Hotta
健太郎 堀田
Toshio Kanazawa
敏雄 金澤
Toshinao Kokubu
利直 国分
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001122817A priority Critical patent/JP2002318718A/ja
Publication of JP2002318718A publication Critical patent/JP2002318718A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 異種スキーマ構造を持つデータベース間で、
双方のデータベースのスキーマ及びアリプリケーション
の改造なしにリプリケーションを実現する。 【解決手段】 プライマリ・サイト100とレプリケー
ト・サイト200の間に、プライマリ・サイトと同一ス
キーマ構造のプライマリ側中間サイト301及びレプリ
ケート・サイトと同一スキーマ構造のレプリケート側中
間サイト302の中間サイト300を設置し、プライマ
リ・サイト100のデータをプライマリ側中間サイト3
01にレプリケーションし、プライマリ側中間サイト3
01とレプリケート側中間サイト302の間でデータ変
換し、レプリケート側中間サイト302のデータをレプ
リケート・サイト200にレプリケーションする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、異種スキーマ構造
を持つ複数のデータベース間におけるデータベースレプ
リケーション技術に関するものである。
【0002】
【従来の技術】従来、いくつかの汎用的なデータベース
レプリケーション技術では、図13および図14のよう
にプライマリ・サイトとレプリケート・サイトの構成が
階層状構成や放射状構成を取ることや、図15のように
特定条件に一致したデータのみレプリケーションするマ
スタ/ディテール関係を実装している機能を持つが、最
低限レプリケーション対象テーブルのスキーマ構造が一
致していなければレプリケーションを行うことはできな
かった。図13および図14は、プライマリ・サイトの
データベーススキーマPと各リプリケート・サイトのデ
ータベーススキーマRn(n≧1)が一致していること
を示し、図15はプライマリ・サイトとレプリケートサ
イトのリプリケーション対象テーブルA、Bのスキーマ
構造が一致していることを示している。
【0003】
【発明が解決しようとする課題】このように、従来技術
においては、データベースレプリケーションを実現する
ためには、データ流通を行うシステム間で共通のスキー
マを構築してレプリケーションを行う必要があった。
【0004】そのため、異なるスキーマ構造を持つシス
テム間でレプリケーションを実現する場合、スキーマ構
造を一致させるために、プライマリ・サイトもしくはレ
プリケート・サイト、または双方のスキーマ構造を修正
する必要があった。この場合、スキーマ構造の修正に伴
い、該当データベースにアクセスする全ての既存アプリ
ケーションを、共通スキーマにアクセスしてデータを取
得できるように改造する必要があった。
【0005】つまり、従来の手法では、異なるスキーマ
構造を持つシステム間でのレプリケーションを実現する
ためには、データベース側のスキーマ変更とアプリケー
ション側の変更を必要とする問題があった。
【0006】本発明の目的は、上記従来の問題を解決す
べく、プライマリ・サイトとレプリケート・サイトの間
のスキーマ構造が異なっていても、双方のデータベース
のスキーマ改造及び双方のアプリケーションの改造なし
にデータベースレプリケーションを実現することにあ
る。
【0007】
【課題を解決するための手段】本発明は、上記目的を達
成するために、プライマリ・サイトとレプリケート・サ
イトの間にプライマリ側中間サイト及びレプリケート側
中間サイトの中間サイトを設置し、プライマリ側中間サ
イトにはプライマリ・サイトと同一のスキーマ構造(以
下、スキーマP)を持たせ、レプリケート側中間サイト
にはレプリケート・サイトと同一のスキーマ構造(以
下、スキーマR)を持たせ、プライマリ・サイトにて出
力されたデータを、プライマリ側中間サイトにレプリケ
ーションし、該プライマリ側中間サイトのデータをスキ
ーマPからスキーマRにデータ変換してレプリケート側
中間サイトに反映させ、該レプリケート側中間サイトの
データをレプリケート・サイトにレプリケーションする
ことをもっとも主要な特徴とする。
【0008】また、本発明は、プライマリ・サイトから
プライマリ側中間サイトの間、プライマリ側中間サイト
からレプリケート側中間サイトの間、及びレプリケート
側中間サイトからレプリケート・サイトの間におけるデ
ータベーストランザクションを保証することによって、
各サイト間の通信回線断や各サイト上のハードウェア/
ソフトウェアトラブルが発生した場合にも、各サイトに
おけるデータベース上のデータの一貫性を保証すること
も特徴とする。
【0009】更に、本発明は、各サイト間のレプリケー
ションまたは中間サイト上でのデータ変換において、プ
ライマリキーの衝突やプラットフォームに依存した漢字
コード体系の違い等によって、レプリケーション処理や
データ変換処理を行うことが出来なかった場合、処理が
失敗した原因と該当データに関する情報をデータベース
中のログ管理テーブルに書き出し、またオペレーション
システム上にログファイルとして書き出すことで、シス
テム管理者が障害の原因を把握するための情報を提供す
ることも特徴とする。
【0010】このように本発明では、プライマリ・サイ
トとレプリケート・サイトの間のスキーマ構造の差異を
中間サイトにて吸収することにより、プライマリ・サイ
ト及びレプリケート・サイトのデータベーススキーマ構
造に対する変更を必要とせず、また、データベーススキ
ーマ構造の変更が入らないことからアプリケーションの
変更も必要としない。
【0011】一実施例では、プライマリ・サイト上のテ
ーブルから、プライマリ側中間サイト上のスキーマPを
持つテーブル(以下、テーブルP)に一定時間ごとにデ
ータのレプリケーションを行う。この時、前回プライマ
リ側中間サイトに取得したデータより後に発生した更新
・挿入・削除等の変更データ(以下、差分データ)を対
象として、1テーブル単位のレプリケーションを1トラ
ンザクションとしてレプリケーションする。ここで、複
数のトランザクションをまとめて1つのトランザクショ
ンにすることも可能とする。このとき、プライマリ・サ
イトと中間サイトのプラットフォームの違い、漢字コー
ド体系の違い等によってレプリケーションに失敗した場
合、データベース中のログ管理テーブル及びオペレーシ
ョンシステム上のログファイルに対して、処理が失敗し
た原因と該当データに関する情報を書き出す。全てのテ
ーブルのレプリケーションが成功した場合、次の処理に
移る。
【0012】プライマリ側中間サイト上のテーブルPか
ら、レプリケート側中間サイトのスキーマRを持つテー
ブル(以下、テーブルR)に一定時間ごとに差分データ
のデータ変換を行う。ここで、テーブルPとテーブルR
は多対多に以下のパターンで関連付けられる。 (i) 無条件に特定のテーブルPから特定のテーブルR
へのデータ変換を行うパターン(1対1対応) (ii) 特定のテーブルPの特定カラムの値が、特定条件
を満たす場合のみ特定のテーブルRへのデータ変換を行
うパターン(テーブルの対応事体は1対多だが、データ
の対応は1対1対応) (iii) 特定のテーブルPの特定カラムのみ特定のテーブ
ルRへのデータ変換を行うパターン(特定のテーブルP
が非正規化構造になっており、特定のテーブルRに正規
化を行いつつデータ変換する場合を含む)(1対多対
応) (iv) 上記パターンの任意の複合 テーブルPから見てテーブルRの対応は常に1対1もし
くは1対多だが、テーブルRは複数のテーブルPと関連
しうるため、テーブルPとテーブルRは多対多に関連す
る。
【0013】また、テーブルP上の特定カラムにレプリ
ケート側中間サイト上のどのデータベースに差分データ
を反映させれば良いかの情報が含まれていれば、その情
報を使用してデータ変換した差分データを反映させる先
のデータベースを決定する。
【0014】よって、プライマリ側中間サイト上のデー
タベース数とレプリケート側中間サイト上のデータベー
ス数は一致しなくても良い。
【0015】データ変換は、以下のパターンで行われ
る。 ・文字列操作 ・データ型変換 ・四則演算 ・特定カラムの値による条件分岐 ・固定値の挿入 ・特定カラムの値を引数とした関数呼び出し ・上記パターンの任意の複合
【0016】テーブルPからテーブルRへのデータ変換
は、前回データ変換したデータより後に発生した差分デ
ータのみを対象として、1つのテーブルPから1つのデ
ータベース上の1つのテーブルRへのデータ変換を1ト
ランザクションとして処理する。ここで、複数のトラン
ザクションをまとめて1つのトランザクションにするこ
とも可能とする。このデータ変換において何らかの問題
が発生した場合、データベース中のログ管理テーブル及
びオペレーションシステム上のログファイルに対して、
処理が失敗した原因と該当データに関する情報を書き出
す。全てのテーブルの変換が成功した場合、次の処理に
移る。
【0017】レプリケート中間サイトのテーブルRか
ら、レプリケート・サイト上のテーブルに一定時間ごと
に差分データのレプリケーションを行う。この時も、前
回レプリケート・サイト側に取得したデータより後に発
生した差分データのみを対象として、1テーブル単位の
レプリケーションを1トランザクションとしてレプリケ
ーションする。ここで、複数のトランザクションをまと
めて1つのトランザクションにすることも可能とする。
このレプリケーションにおいて、中間サイトとレプリケ
ート・サイトのプラットフォームの違い、漢字コード体
系の違い等によってレプリケーションに失敗した場合、
データベース中のログ管理テーブル及びオペレーション
システム上のログファイルに対して、処理が失敗した原
因と該当データに関する情報を書き出す。
【0018】
【発明の実施の形態】以下、本発明の実施形態について
図面により具体的に説明する。
【0019】[システム構成]図1は本発明のデータベ
ースレプリケーション方法を実施するハードイメージの
システム構成図である。図1において、100はプライ
マリ・サイト側サーバ(以下、プライマリ・サイト)、
200はリプリケート・サイト側サーバ(以下、レプリ
ケート・サイト)、300は中間サイトサーバ(以下、
中間サイト)であり、それぞれネットワーク400を介
して接続されている。一般にレプリケート・サイト20
0は、プライマリ・サイト100に対して複数存在する
が(例えば図13や図14)、便宜上、図1では1台の
み示したものである。
【0020】プライマリ・サイト100は制御部110
とデータベース120を具備する。同様に、レプリケー
ト・サイト200も制御部210とデータベース220
を具備する。これらプライマリ・サイト100とレプリ
ケート・サイト200の構成は従来と同じであり、制御
部110、210はレプリケーション機能を備えてい
る。ここで、プライマリ・サイト100におけるデータ
ベース120のスキーマ構造をスキーマP、レプリケー
ト・サイト200におけるデータベース220のスキー
マ構造をスキーマRとし、スキーマPとスキーマRは異
なるとする。
【0021】中間サイト300は制御部310とデータ
ベース320、330を具備する。ここで、データベー
ス320のスキーマ構造はスキーマPとし、データベー
ス330のスキーマ構造はスキーマRとする。制御部3
10はレプリケーション機能に加えて、データのスキー
マPからスキーマRへの変換機能(データ変換機能)を
備えている。つまり、中間サイト300は論理的には、
プライマリ側中間サイト301とレプリケート側中間サ
イト302で構成されていると見做すことができる。
【0022】[実施例1]図2は本実施例における動作
説明図であり、図3は全体の処理フローチャートを示し
たものである。また、図4は、プライマリ・サイト10
0上のスキーマP(=プライマリ側中間サイト301上
のスキーマP)とレプリケート・サイト200上のスキ
ーマR(=プライマリ側中間サイト302上のスキーマ
R)、及び両者間におけるカラム対応とデータ変換方法
を表した図である。
【0023】以下、図3のフローチャートに従って本実
施例1の動作を説明する。ユーザ等が定めたプライマリ
・サイトと中間サイト間のレプリケーション時間間隔
で、既存のレプリケーション機能を用いて、プライマリ
・サイト100の特定データベースの特定テーブルのデ
ータを、中間サイト300のプライマリ側中間サイト3
01の特定データベースの特定テーブルに1対1対応で
レプリケーションを実施する(ステップS1、S2)。
次に、中間サイト300において、プライマリ側中間サ
イト301のスキーマPからレプリケート側中間サイト
302のスキーマRに、図4に示したような変換ルール
を用いて、文字列変換やデータ型変換、四則演算、関数
呼び出しなどを行ってデータ変換し(ステップS3)、
レプリケート側中間サイト302の複数データベースの
複数テーブルに反映させる(ステップS4)。最後に、
同様に、ユーザ等が定めた中間サイトとレプリケートサ
イト間のレプリケーション時間間隔で、既存のレプリケ
ーション機能を用いて、中間サイト300のレプリケー
ト側中間サイト302の特定データベースの特定テーブ
ルのデータを、レプリケート・サイト200の特定デー
タベースの特定テーブルに1対1対応でレプリケーショ
ンを実施する(ステップS5、S6)。
【0024】このように、プライマリ・サイト100と
レプリケート・サイト200のスキーマが異なっていて
も、中間サイト300のプライマリ側中間サイト301
とレプリケート側中間サイト302の間でスキーマの差
異を吸収させることで、従来は実現できなかった異種ス
キーマ構造を持つ複数のデータベース間におけるデータ
ベースレプリケーションを実現することができる。
【0025】[実施例2]これは、中間サイトを論理的
に3つ用意する(以下、中間サイト1、中間サイト2、
中間サイト3)ことによって、中間サイト上にプライマ
リ・サイトやレプリケート・サイト上の全てのデータを
格納せず、前回レプリケーションした以降にプライマリ
・サイトで変更(更新、挿入、削除)のあったデータ
(差分データ)のみを流通させることで、中間サイトに
必要とされるハードディスク容量等を極力抑えるもので
ある。また、本実施例では、各サイト間のレプリケーシ
ョンまたは中間サイト上でのデータ変換において、プラ
イマリキーの衝突やプラットフォームに依存した漢字コ
ード体系の違い等によって、レプリケーション処理やデ
ータ変換処理を行うことが出来なかった場合、処理が失
敗した原因と該当データに関する情報をデータベース中
のログ管理テーブルに書き出し、またオペレーションシ
ステム上にログファイルとして書き出すことで、システ
ム管理者が障害の原因を把握するための情報を提供する
こともできるようにしたものである。
【0026】図5は本実施例の動作説明図であり、図6
乃至図9は全体の処理フローチャートを示したものであ
る。図10はプライマリ・サイト100上のテーブル5
05のスキーマ、レプリケート・サイト200上のテー
ブル511のスキーマ及び中間サイト3上におけるレプ
リケートサイト上のテーブル511にアクセスするため
のプロキシテーブル510(以下、プロキシテーブル
R)のスキーマであり、図11はプライマリ・サイト1
00上の差分テーブル506のスキーマ、中間サイト1
上におけるプライマリ・サイト上の差分テーブル506
にアクセスするための差分プロキシテーブル507(以
下、差分プロキシテーブルP)のスキーマ、及び中間サ
イト1上の実テーブル508(以下、中間側差分テーブ
ルP)のスキーマであり、図12は中間サイト2上の実
テーブル509(以下、中間側差分テーブルR)のスキ
ーマである。
【0027】以下、図6乃至図9のフローチャートに従
って本実施例の動作を説明する。なお、図5のカウンタ
番号管理テーブル501、503は前回までのレプリケ
ーションやデータ変換を実施したデータの最大のカウン
タ番号(通番)を管理しており、ここでは「100」と
する(図11、図12)。
【0028】プライマリ・サイト100の実テーブル5
05でデータの更新、挿入、削除が発生すると(ステッ
プS11)、該データをプライマリ・サイト100上の
差分テーブル506上にトリガを用いて格納し(ステッ
プS12)、差分テーブル506の現カウンタ番号+1
を当該データのカウンタ番号(通番)として格納する。
この動作は、プライマリ・サイト100の実テーブル5
05において、データの変更(更新、挿入、削除)が発
生する毎に繰り返される。
【0029】一方、ユーザ等が定めたプライマリ・サイ
ト100と中間サイト1間のレプリケーション時間間隔
で(ステップS13)、以下のようにしてレプリケート
・サイト100と中間サイト1(プライマリ側中間サイ
ト)間でのレプリケーションを実施する(ステップS1
4)。プライマリ・サイト100から中間サイト1への
レプリケーション対象テーブル(差分テーブル506)
を選択し(ステップ141)、プライマリ・サイト10
0のカウンタ番号管理テーブルP501の該レプリケー
ション対象テーブルのカウンタ番号を参照することによ
り(ステップS142)、その番号より大きなカウンタ
番号を持つデータを、差分プロキシテーブルP507を
参照することで、プライマリ・サイト100上の差分テ
ーブル106から中間サイト1の中間側差分テーブルP
508にレプリケーションする(ステップS143)。
ここでは、差分テーブルP506の「100」より大き
なカウンタ番号(通番)を持つデータ(差分データ)が
中間側差分テーブルP508にレプリケーションされ
る。このレプリケーションデータ中の最大のカウンタ番
号を、例えば「120」とする。また、この時1テーブ
ルのレプリケーションを1トランザクションとする。次
に、このレプリケーションが成功したかチエックし(ス
テップS144)、漢字コード体系の違いによってレプ
リケーション処理を行うことが出来なかった場合、ログ
管理テーブルP502及びオペレーションシステム上の
ログファイルに対して、処理が失敗した原因と該当デー
タに関する情報を書き出し(ステップS145)、レプ
リケーションを終了する。レプリケーションが成功した
場合には、レプリケーションしたデータ中の最大のカウ
ンタ番号(例では「120」)をカウンタ番号管理テー
ブルP501に格納する(ステップS146)。次に、
プライマリ・サイト100の差分テーブルP506上で
最小のカウンタ番号を参照し、そのカウンタ番号より小
さなカウンタ番号(例では「100」未満)を持つ中間
側差分テーブルP508のデータを削除する(ステップ
S147)。つまり、中間側差分テーブルP508上の
前回までのレプリケーションデータを削除する。次に、
プライマリ・サイト100の差分テーブルP506上の
データに対して、カウンタ番号管理テーブルP501の
カウンタ番号を参照して、そのカウンタ番号(例では
「120」)より小さなデータを削除する(ステップS
148)。つまり、プライマリ・サイト100の差分テ
ーブルP506上の今回レプリケーション済みのデータ
を削除する(ステップS149)。
【0030】上記ステップS141〜S148の処理を
繰り返し、全てのレプリケーション対象テーブルのレプ
リケーションが成功した場合、次の処理に移る(ステッ
プS149)。
【0031】中間サイト300において、中間サイト1
のスキーマPから中間サイト2のスキーマRのデータ変
換を次のように実施する(ステップS15)。中間サイ
ト1から中間サイト2へのデータ変換処理対象テーブル
を選定し(ステップS151)、カウンタ番号管理テー
ブルM503を参照して、中間側差分テーブルR509
上のカウンタ番号より大きなカウンタ番号(例では「1
00」以上)を持つデータを処理対象として、中間側差
分テーブルP508から中間側差分テーブルR509
に、文字列変換やデータ型変換、四則演算などを行って
データ変換する(ステップS152、S153)。この
時、1つの中間側差分テーブルPからデータ変換処理対
象の複数の中間側差分テーブルRへのデータ変換を1ト
ランザクションとする。次に、このデータ変換処理が成
功したかチエックし(ステップS154)、データ変換
処理時に何らかの問題が発生した場合、ログ管理テーブ
ルM504及びオペレーションシステム上のログファイ
ルに対して、処理が失敗した原因と該当データに関する
情報を書き出し(ステップS155)、データ変換処理
を終了する。データ変換処理が成功した場合には、中間
側差分テーブルR509上のデータに対して、中間側差
分テーブルP508上のカウンタ番号を参照して、その
最小のカウンタ番号より小さなカウンタ番号(例では
「100」未満)のデータを削除する(ステップS15
6)。つまり、中間側差分テーブルR509上の前回の
データ変換処理済みデータを削除する。
【0032】上記ステップS151〜S156を繰り返
し、全てのデータ変換処理対象テーブルのデータ変換が
成功した場合、次の処理に移る(ステップS157)。
【0033】中間サイト300の中間サイト2から中間
サイト3を介し、レプリケート・サイト300へのレプ
リケーションを次のように実施する(ステップS1
6)。中間サイト上300のカウンタ番号管理テーブル
M503のレプリケーション対象テーブルのカウンタ番
号を参照することにより(ステップS161)、中間側
差分テーブルR509において、その番号より大きなカ
ウンタ番号(例では「100」より大きな番号)を持つ
データを、プロキシテーブルR510を参照することで
レプリケート・サイト200上のテーブルR511に1
レコードずつ反映させる(ステップS162、S16
3)。ここで、ステップS162では、図12に示すよ
うに中間側差分テーブルR509上のDB名カラムの値
によって、レプリケート・サイト200上のどのデータ
ベースにデータを反映させるか決定する。また、ステッ
プS163では、中間側差分テーブルR509中のデー
タにおいて処理内容が‘1’(更新)の場合、旧column
_Xをプライマリ・キーとして持つテーブルR511上の
レコードを、column_X、 column_Y、 column_Zに更新
し、中間側差分テーブルR509中のデータにおいて処
理内容が‘2’(挿入)の場合、テーブルR511上に
1レコード挿入し、中間側差分テーブルR509中のデ
ータにおいて処理内容が‘3’(削除)の場合、旧colu
mn_Xをプライマリ・キーとして持つテーブルR511上
のレコードを削除する。この時1テーブルのレプリケー
ションを1トランザクションとする。
【0034】次に、データ反映処理が成功したかチエッ
クし(ステップS164)、このレプリケーション時
に、差分データが挿入だった場合にレプリケート・サイ
ト200でプライマリキーが衝突する場合や、差分デー
タが削除だった場合にレプリケート・サイト200で該
当プライマリキーを持つデータが存在しない場合や、差
分データが更新だった場合にレプリケート・サイト20
0で該当旧プライマリキー持つデータが存在しなかった
り該当新プライマリキーが衝突する場合、ログ管理テー
ブルM504及びオペレーションシステム上のログファ
イルに対して、処理が失敗した原因と該当データに関す
る情報を書き出し(ステップ165)、データ反映処理
を終了する。データ反映処理が成功した場合には、レプ
リケーションした最大のデータのカウンタ番号(例では
「120」の番号)を中間サイト300のカウンタ番号
管理テーブルM503に格納し(ステップS166)、
処理終了となる。
【0035】このように、実施例2では、中間サイトに
必要とされるハードディスク容量を極力抑えてスキーマ
の差異を吸収でき、更にはレプリケーション処理やデー
タ変換処理が成功しなかった場合、その原因や該当デー
タに関する情報をログ管理テーブルに書き出し、また、
オペレーションシステム上にログファイルとして書き出
すことで、システム管理者が障害の原因を把握するのに
役立つ。
【0036】以上、本発明の実施例を説明したが、図3
や図6乃至図9に示したような処理フローを各サイトの
コンピュータに実行させるためのプログラムは、あらか
じめコンピュータ読み取り可能な記録媒体(FD、CD
−ROM、MO等)に記録して提供することが可能であ
る。この記録媒体に記録されたプログラムを、必要に応
じ各サイトのコンピュータにインストールすることによ
り、各実施例で説明したようなレプリケーションが達成
される。なお、この種のプログラムは各サイトのコンピ
ュータにプレインストールされていてもよい。
【0037】
【発明の効果】以上説明したように、本発明によれば、
中間サイトの中でプライマリ・サイトとレプリケート・
サイトの間のスキーマの差異を吸収させることで、プラ
イマリ・サイトのデータベーススキーマ構造と、レプリ
ケート・サイトのデータベーススキーマ構造が異なり、
テーブル間の関係やデータベース間の関係が多対多にな
っており、テーブル間のプライマリキーが異なっていて
も、プライマリ・サイト上のプライマリキーに対して何
らかの変換を行うことでレプリケート・サイト上のプラ
イマリキーに一意に結び付けることができる場合には、
プライマリ・サイトとレプリケート・サイトの間でレプ
リケーションを行うことができる。
【0038】特に、大規模なデータベース間で新規にレ
プリケーションを行う必要性が生じた場合や、元々プラ
イマリ・サイトだったデータベースシステムに大規模な
改造が入りスキーマ構造が大きく変わってしまったよう
な場合に、本発明を適用した場合、全てのデータベース
スキーマの修正を必要とせず、またそれらデータベース
にアクセスしている全てのアプリケーションに対して修
正を必要としないことから、既存システムの資産を有効
活用できると共に関連するシステムの改造費用を抑える
ことができるメリットがある。
【図面の簡単な説明】
【図1】本発明の各実施例におけるシステム構成図であ
る。
【図2】本発明の第1の実施例の動作説明図である。
【図3】本発明の第1の実施例の処理フローチャートで
ある。
【図4】プライマリ・サイト上のスキーマとレプリケー
ト・サイト上のスキーマの関係を説明する図である。
【図5】本発明の第2の実施例の動作説明図である。
【図6】本発明の第2の実施例の処理フローチャートの
一部である。
【図7】図6の続きの処理フローチャートである。
【図8】図7の続きの処理フローチャートである。
【図9】図8の続きの処理フローチャートである。
【図10】プライマリ・サイト上のスキーマ、レプリケ
ート・サイト上のスキーマ及び中間サイト3上のプロキ
シテーブルスキーマを説明する図である。
【図11】プライマリ・サイト上の差分テーブル、中間
サイト1上のプロキシテーブル及び中間サイト1上の実
テーブルスキーマを説明する図である。
【図12】中間サイト2上の実テーブルスキーマを説明
する図である。
【図13】従来の階層状構成システムのレプリケーショ
ンを説明する図である。
【図14】従来の放射線状構成システムのレプリケーシ
ョンを説明する図である。
【図15】従来のマスタ/ディテール関係を実装するシ
ステムにおいてレプリケーション動作を説明する図であ
る。
【符号の説明】
100 プライマリ・サイト 120 データベース(スキーマP) 200 レプリケート・サイト 220 データベース(スキーマR) 300 中間サイト 301 プライマリ側中間サイト 302 レプリケート側中間サイト 320 データベース(スキーマP) 330 データベース(スキーマR) 400 ネットワーク
───────────────────────────────────────────────────── フロントページの続き (72)発明者 国分 利直 東京都千代田区大手町二丁目3番1号 日 本電信電話株式会社内 Fターム(参考) 5B082 DE04 GA03 GA04 GA07 GB02

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 異種スキーマ構造を持つ複数のデータベ
    ース間におけるデータベースレプリケーション方法であ
    って、 レプリケーション元であるプライマリ・サイトとレプリ
    ケーション先であるレプリケート・サイトの間に、プラ
    イマリ側中間サイト及びレプリケート側中間サイトの中
    間サイトを設置し、 プライマリ側中間サイトにはプライマリ・サイトと同一
    のスキーマ構造を持たせ、レプリケート側中間サイトに
    はレプリケート・サイトと同一のスキーマ構造を持た
    せ、 プライマリ・サイトにて出力されたデータをプライマリ
    側中間サイトにレプリケーションし、 プライマリ側中間サイト上のデータをデータ変換してレ
    プリケート側中間サイトに反映させ、 レプリケート側中間サイト上のデータをレプリケート・
    サイトにレプリケーションする、 ことを特徴とするデータベースレプリケーション方法。
  2. 【請求項2】 請求項1記載のデータベースレプリケー
    ション方法において、 プライマリ・サイトにて出力された特定データベースの
    特定テーブル上のデータを、プライマリ側中間サイト上
    の特定データベースの特定テーブル上に1対1対応でレ
    プリケーションし、 プライマリ側中間サイト上のデータをデータ変換すると
    共に、レプリケート側中間サイト上の複数のデータベー
    ス上の複数のテーブルに反映させ、 レプリケート側中間サイト上の特定データベースの特定
    テーブル上のデータをレプリケート・サイト上の特定デ
    ータベースの特定テーブルに1対1対応でレプリケーシ
    ョンする、 ことを特徴とするデータベースレプリケーション方法。
  3. 【請求項3】 請求項1もしくは2記載のデータベース
    レプリケーション方法において、 前回のレプリケーション後に発生した変更データ(以
    下、差分データ)のみを対象として、プライマリ・サイ
    トにて出力された差分データをプライマリ側中間サイト
    にレプリケーションし、 プライマリ側中間サイト上の差分データをデータ変換
    し、レプリケート側中間サイトに反映させ、 レプリケート側中間サイト上の差分データをレプリケー
    ト・サイトにレプリケーションする、 ことを特徴とするデータベースレプリケーション方法。
  4. 【請求項4】 請求項1乃至3記載のデータベースレプ
    リケーション方法において、各サイト間のレプリケーシ
    ョン処理もしくは中間サイトでのデータ変換処理に失敗
    した場合、該処理が失敗した原因と該当データに関する
    情報をログ管理テーブルに書き出し、また、オペレーシ
    ョンシステム上にログファイルとして書き出すことを特
    徴とするデータベースレプリケーション方法。
  5. 【請求項5】 請求項1乃至4記載のデータベースレプ
    リケーション方法をコンピュータに実行させるためのプ
    ログラム。
  6. 【請求項6】 請求項1乃至4記載のデータベースレプ
    リケーション方法をコンピュータに実行させるためのプ
    ログラムを記録した記録媒体。
JP2001122817A 2001-04-20 2001-04-20 データベースレプリケーション方法、そのプログラム及び記録媒体 Pending JP2002318718A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001122817A JP2002318718A (ja) 2001-04-20 2001-04-20 データベースレプリケーション方法、そのプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001122817A JP2002318718A (ja) 2001-04-20 2001-04-20 データベースレプリケーション方法、そのプログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2002318718A true JP2002318718A (ja) 2002-10-31

Family

ID=18972470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001122817A Pending JP2002318718A (ja) 2001-04-20 2001-04-20 データベースレプリケーション方法、そのプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2002318718A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275582A (ja) * 2004-03-23 2005-10-06 Hitachi Ltd ストレージ装置
JP2010527087A (ja) * 2007-05-21 2010-08-05 エヌエイチエヌ コーポレーション データベースマネジメントシステム(dbms)におけるデータ複製方法およびシステム
JP2010176625A (ja) * 2009-02-02 2010-08-12 Ricoh Co Ltd 情報処理装置、および情報処理装置の情報処理方法
WO2010131482A1 (ja) * 2009-05-14 2010-11-18 株式会社エヌ・ティ・ティ・ドコモ データベース装置、データベース整合システム、及び、データベース整合方法
JP2013120578A (ja) * 2011-12-09 2013-06-17 Yahoo Japan Corp 変動連携サーバ、変動連携システム及び方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005275582A (ja) * 2004-03-23 2005-10-06 Hitachi Ltd ストレージ装置
JP4549709B2 (ja) * 2004-03-23 2010-09-22 株式会社日立製作所 ストレージ装置
JP2010527087A (ja) * 2007-05-21 2010-08-05 エヌエイチエヌ コーポレーション データベースマネジメントシステム(dbms)におけるデータ複製方法およびシステム
US8874512B2 (en) 2007-05-21 2014-10-28 Nhn Business Platform Corporation Data replication method and system for database management system
JP2010176625A (ja) * 2009-02-02 2010-08-12 Ricoh Co Ltd 情報処理装置、および情報処理装置の情報処理方法
WO2010131482A1 (ja) * 2009-05-14 2010-11-18 株式会社エヌ・ティ・ティ・ドコモ データベース装置、データベース整合システム、及び、データベース整合方法
JP2010267051A (ja) * 2009-05-14 2010-11-25 Ntt Docomo Inc データベース装置、データベース整合システム、及び、データベース整合方法
JP2013120578A (ja) * 2011-12-09 2013-06-17 Yahoo Japan Corp 変動連携サーバ、変動連携システム及び方法

Similar Documents

Publication Publication Date Title
US7734585B2 (en) Updateable fan-out replication with reconfigurable master association
US7610314B2 (en) Online tablespace recovery for export
US8756196B2 (en) Propagating tables while preserving cyclic foreign key relationships
US8676749B2 (en) Statement logging in databases
US8280840B2 (en) Data integration apparatus, data integration method, and computer product
US8060720B2 (en) System and method for removing a storage server in a distributed column chunk data store
KR940002344B1 (ko) 새로운 참조 제한 조건의 유효성 결정 방법 및 장치
CN107209704A (zh) 检测丢失的写入
US10628492B2 (en) Distributed graph database writes
US8667027B2 (en) Directed graph transitive closure
US7283999B1 (en) Similarity string filtering
US8433692B2 (en) Effective dating for entity attributes and relationships
KR20080102622A (ko) Dbms에서의 데이터 복제 방법 및 시스템
US20070061543A1 (en) Method for a distributed column chunk data store
US20040199521A1 (en) Method, system, and program for managing groups of objects when there are different group types
CN111930850A (zh) 数据校验方法、装置、计算机设备和存储介质
CN113656384B (zh) 数据处理方法、分布式数据库系统、电子设备及存储介质
US9965535B2 (en) Client-side handling of transient duplicates for row-level replication
CN112800066B (zh) 索引管理的方法、相关设备及存储介质
JP2002318718A (ja) データベースレプリケーション方法、そのプログラム及び記録媒体
US20110088013A1 (en) Method and system for synchronizing software modules of a computer system distributed as a cluster of servers, application to data storage
US20050066235A1 (en) Automated fault finding in repository management program code
WO2013096447A1 (en) A multiphase approach to data availability
CN109710629A (zh) 数据访问方法、装置、服务器和存储介质
JP3487732B2 (ja) 複製データベースデータ不整合回避装置及び回避方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070817

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071003