JP4268141B2 - データベース複製プログラムおよびデータベース複製装置 - Google Patents

データベース複製プログラムおよびデータベース複製装置 Download PDF

Info

Publication number
JP4268141B2
JP4268141B2 JP2004570551A JP2004570551A JP4268141B2 JP 4268141 B2 JP4268141 B2 JP 4268141B2 JP 2004570551 A JP2004570551 A JP 2004570551A JP 2004570551 A JP2004570551 A JP 2004570551A JP 4268141 B2 JP4268141 B2 JP 4268141B2
Authority
JP
Japan
Prior art keywords
log
update
primary key
difference
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.)
Expired - Fee Related
Application number
JP2004570551A
Other languages
English (en)
Other versions
JPWO2004090726A1 (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
Publication of JPWO2004090726A1 publication Critical patent/JPWO2004090726A1/ja
Application granted granted Critical
Publication of JP4268141B2 publication Critical patent/JP4268141B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/278Data partitioning, e.g. horizontal or vertical partitioning
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、マスタシステムでおこなわれたデータベースの更新内容を差分ログとして受け取り、受け取った差分ログをクローンシステムのデータベースに適用するデータベース複製プログラムおよびデータベース複製装置に関し、特に、複数の差分ログの並列処理間での同期を不要とし、もって差分ログを高速に処理することができるデータベース複製プログラムおよびデータベース複製装置に関するものである。
従来、24時間停止することなく稼動する必要があるオンラインシステムでは、災害対策センターなどにマスタシステムと同一のクローンシステムを設け、災害や保守などによってマスタシステムが利用できない場合に、クローンシステムを用いてオンライン業務を継続できるようにシステムが構築されている。クローンシステムは、マスタシステムでおこなわれたデータベースの更新内容をネットワークなどを経由して差分ログとして受け取り、受け取った差分ログをクローンシステムのデータベースに適用することによって、常にオンライン業務の引き継ぎに備えている。このような、あるサイトのデータベースの更新を他のサイトのデータベースに反映させる技術については、たとえば、特許文献1に開示されている。
特開2001−75852号公報
クローンシステムを用いる場合、マスタシステムからクローンシステムへの切り替えにともなうオンライン業務の停止時間を短くするために、マスタシステムのデータベースの更新内容をできるだけ短い時間でクローンシステムのデータベースに反映させる必要がある。このため、差分ログをできるだけ速くクローンシステムに転送するとともに、クローンシステムでの差分ログの処理を高速化することが重要となる。
しかし、これまでのクローンシステムでは、マスタシステムと比較して差分ログを処理する速度が遅く、マスタシステムのオンライン業務の負荷が高い場合には、差分ログが滞留し、クローンシステムへの高速な切り替えをおこなうことができなかった。その原因は、マスタシステムでは複数のプロセスが並列にトランザクション処理を実行して差分ログを生成するのに対して、クローンシステムでは一つのプロセスだけが差分ログを処理している点にある。
そこで、クローンシステムにおいても、複数のプロセスによって並列に差分ログを処理することが考えられる。しかしながら、単に複数のプロセスに差分ログの処理を分散させるだけでは、差分ログ間の処理順序を守る必要がある場合にプロセス間の同期が必要となり、並列処理の効果が得られないという問題があった。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、複数の差分ログの並列処理間での同期を不要とし、もって差分ログを高速に処理することができるデータベース複製プログラムおよびデータベース複製装置を提供することを目的としている。
上述した課題を解決し、目的を達成するため、本発明は、マスタシステムでおこなわれたデータベースの更新内容を差分ログとして受け取り、該受け取った差分ログをクローンシステムのデータベースに適用するデータベース複製プログラムであって、前記差分ログの種別を示すログ種別が更新であるか否かを判定することにより該差分ログが更新ログであるか否かを判定する更新ログ判定手順と、前記更新ログ判定手順により前記差分ログが更新ログであると判定された場合に、該差分ログで更新対象のレコードを識別する主キーが更新前後で一致するか否かを判定することにより該差分ログが主キーの更新であるか否かを判定する主キー更新判定手順と、前記主キー判定手順により前記差分ログが主キーの更新であると判定された場合に、更新前の主キーで識別されるレコードを削除する削除ログを生成するとともに更新前の主キーを更新後の主キーで置き換えたレコードを挿入する挿入ログを生成することによって該差分ログを分割する差分ログ分割手順と、前記差分ログが主キーの更新でない場合には該差分ログを主キーに基づいて分類することにより複数の並列処理対象に振り分け、前記差分ログが主キーの更新である場合には前記削除ログおよび挿入ログをそれぞれ主キーに基づいて分類することにより複数の並列処理対象に振り分けることによって並列処理間での同期を不要とする差分ログ振分手順と、前記差分ログ振分手順により複数の並列処理対象に振り分けられたそれぞれの並列処理対象の差分ログを前記クローンシステムのデータベースに適用して該データベースを更新する処理を処理間で同期を取ることなく並列におこなう差分ログ並列適用手順と、をコンピュータに実行させることを特徴とする。
また、本発明は、マスタシステムでおこなわれたデータベースの更新内容を差分ログとして受け取り、該受け取った差分ログをクローンシステムのデータベースに適用するデータベース複製装置であって、前記差分ログの種別を示すログ種別が更新であるか否かを判定することにより該差分ログが更新ログであるか否かを判定する更新ログ判定手段と、前記更新ログ判定手段により前記差分ログが更新ログであると判定された場合に、該差分ログで更新対象のレコードを識別する主キーが更新前後で一致するか否かを判定することにより該差分ログが主キーの更新であるか否かを判定する主キー更新判定手段と、前記主キー判定手段により前記差分ログが主キーの更新であると判定された場合に、更新前の主キーで識別されるレコードを削除する削除ログを生成するとともに更新前の主キーを更新後の主キーで置き換えたレコードを挿入する挿入ログを生成することによって該差分ログを分割する差分ログ分割手段と、前記差分ログが主キーの更新でない場合には該差分ログを主キーに基づいて分類することにより複数の並列処理対象に振り分け、前記差分ログが主キーの更新である場合には前記削除ログおよび挿入ログをそれぞれ主キーに基づいて分類することにより複数の並列処理対象に振り分けることによって並列処理間での同期を不要とする差分ログ振分手段と、前記差分ログ振分手段により複数の並列処理対象に振り分けられたそれぞれの並列処理対象の差分ログを前記クローンシステムのデータベースに適用して該データベースを更新する処理を処理間で同期を取ることなく並列におこなう複数の差分ログ並列適用手段と、を備えたことを特徴とする。
かかる発明によれば、差分ログの種別を示すログ種別が更新であるか否かを判定することにより差分ログが更新ログであるか否かを判定し、差分ログが更新ログであると判定した場合に、差分ログで更新対象のレコードを識別する主キーが更新前後で一致するか否かを判定することにより差分ログが主キーの更新であるか否かを判定し、差分ログが主キーの更新であると判定した場合に、更新前の主キーで識別されるレコードを削除する削除ログを生成するとともに更新前の主キーを更新後の主キーで置き換えたレコードを挿入する挿入ログを生成することによって差分ログを分割し、差分ログが主キーの更新でない場合には差分ログを主キーに基づいて分類することにより複数の並列処理対象に振り分け、差分ログが主キーの更新である場合には削除ログおよび挿入ログをそれぞれ主キーに基づいて分類することにより複数の並列処理対象に振り分けることによって並列処理間での同期を不要とし、複数の並列処理対象に振り分けたそれぞれの並列処理対象の差分ログをクローンシステムのデータベースに適用してデータベースを更新する処理を処理間で同期を取ることなく並列におこなうこととしたので、差分ログを高速に処理することができる
差分ログの種別を示すログ種別が更新であるか否かを判定することにより差分ログが更新ログであるか否かを判定し、差分ログが更新ログであると判定した場合に、差分ログで更新対象のレコードを識別する主キーが更新前後で一致するか否かを判定することにより差分ログが主キーの更新であるか否かを判定し、差分ログが主キーの更新であると判定した場合に、更新前の主キーで識別されるレコードを削除する削除ログを生成するとともに更新前の主キーを更新後の主キーで置き換えたレコードを挿入する挿入ログを生成することによって差分ログを分割し、差分ログが主キーの更新でない場合には差分ログを主キーに基づいて分類することにより複数の並列処理対象に振り分け、差分ログが主キーの更新である場合には削除ログおよび挿入ログをそれぞれ主キーに基づいて分類することにより複数の並列処理対象に振り分けることによって並列処理間での同期を不要とし、複数の並列処理対象に振り分けたそれぞれの並列処理対象の差分ログをクローンシステムのデータベースに適用してデータベースを更新する処理を処理間で同期を取ることなく並列におこなうよう構成したので、差分ログを高速に処理することができるという効果を奏する。
以下、添付図面を参照して、この発明に係るデータベース複製プログラムおよびデータベース複製装置の好適な実施の形態を詳細に説明する。
まず、本実施の形態に係るデータベース複製装置による主キー更新の概念について説明する。第1図は、本実施の形態に係るデータベース複製装置による主キー更新の概念を説明するための説明図である。本実施の形態では、差分ログをデータベースへ適用する差分ログ適用部を複数設け、複数の差分ログ適用部を並列に動作させることによって差分ログの処理を高速化している。そして、各差分ログが有する主キーに基づいて複数の差分ログ適用部の中から一つの差分ログ適用部を選択し、選択した差分ログ適用部が差分ログをデータベースに適用している。
たとえば、第1図において、主キーA更新部は、主キーがAである差分ログをデータベースに適用する差分ログ適用部であり、主キーC更新部は、主キーがCである差分ログをデータベースに適用する差分ログ適用部であり、主キーD更新部は、主キーがDである差分ログをデータベースに適用する差分ログ適用部である。なお、ここでは、主キーの数だけ差分ログ適用部を設ける場合を示しているが、一つの差分ログ適用部が複数の主キーを処理することもできる。
このように、複数の差分ログ適用部を設けて差分ログを並列に処理することによって差分ログの処理を高速化することができるが、差分ログが主キーを更新する場合には、差分ログ適用部間での同期が必要となり、並列処理を十分に活かすことができない。
たとえば、第1図において、第1ログが主キーCをDに更新する差分ログであり、第2ログが主キーDの「カラム1」を更新する差分ログであり、第3ログが主キーAをCに更新する差分ログである場合に、第1図(a)に示すように、更新前の主キーの値に基づいて差分ログ適用部を選択し、主キーC更新部が第1ログを処理することとすると、主キーC更新部が第1ログを処理した後でなければ、主キーD更新部は第2ログを処理することができず、また、主キーA更新部は第3ログを処理することができない。したがって、主キーD更新部および主キーA更新部は、主キー更新部Cと並列に動作できる利点を活かすことができず、並列化による効果が得られない。
また、第1図(b)に示すように、更新後の主キーの値に基づいて差分ログ適用部を選択し、主キーD更新部が第1ログを処理することとすると、主キーD更新部が第1ログを処理した後でなければ、主キーC更新部は第3ログを処理することができない。したがって、主キーC更新部は、主キーD更新部と並列に動作できる利点を活かすことができず、並列化による効果が得られない。
このように、三つの差分ログ適用部を設けて差分ログを並列に処理したとしても、単に差分ログを分散させるだけでは、差分ログが主キーを更新する場合に、関連する差分ログ処理間での同期が必要となり、差分ログの並列処理ができず、処理速度を向上することができない。
そこで、本実施の形態に係るデータベース複製装置では、第1図(c)に示すように、主キーを更新する差分ログを、更新前の主キーを有するレコードを削除する削除ログと、更新後の主キーを有するレコードを挿入する挿入ログとに分割して処理する。具体的には、主キーCをDに更新する第1ログを、主キーCを有するレコードの削除ログと主キーDを有するレコードの挿入ログに分割して処理し、主キーAをCに更新する第3ログを、主キーAを有するレコードの削除ログと主キーCを有するレコードの挿入ログに分割して処理する。
このように、本実施の形態に係るデータベース複製装置では、主キーを更新する差分ログを、削除ログと挿入ログに分割して処理することにより、差分ログ処理部間での同期を不要とし、もって差分ログ処理の高速化を図っている。
次に、本実施の形態に係るデータベース複製装置の構成について説明する。第2図は、本実施の形態に係るデータベース複製装置の構成を示す機能ブロック図である。なお、このデータベース複製装置は、クローンシステムの一部として使用される。同図に示すように、このデータベース複製装置200は、差分ログファイル210と、差分ログ振分部220と、n個の差分ログ適用部2301〜230nと、データベース240とを有する。
差分ログファイル210は、マスタシステムがマスタシステムのデータベースを更新した内容を差分ログとして蓄積したファイルであり、マスタシステムからネットワークなどを介して転送される。
差分ログ振分部220は、差分ログの主キーに基づいて差分ログを差分ログ適用部2301〜230nに振り分ける処理部であり、差分ログを差分ログファイル210から読み込む差分ログ読込部221と、差分ログの主キーにハッシュ関数を適用して差分ログ適用部を決定する担当決定部222と、差分ログが主キー更新ログである場合にその差分ログを削除ログと挿入ログとに分割する主キー更新変換部223と、差分ログ適用部2301〜230nに差分ログを引渡す差分ログ引渡し部224とを有する。
この差分ログ振分部220が、主キーを更新する差分ログを削除ログと挿入ログとに分割し、分割した削除ログと挿入ログとを差分ログ適用部2301〜230nに振り分けることによって、差分ログ適用部2301〜230n間での処理の同期が不要となり、差分ログ適用部2301〜230nが差分ログを完全に並列に処理することができる。
また、この差分ログ振分部220が、差分ログの主キーにハッシュ関数を適用して差分ログ適用部を決定することによって、差分ログ適用部2301〜230nの数を主キーの数と比較して少なく抑えることができる。
差分ログ適用部2301〜230nは、差分ログ振分部220により振り分けられた差分ログをデータベース240に適用する処理部であり、各差分ログ適用部は並列に動作する。また、各差分ログ適用部は、それぞれ、振り分けられた差分ログを受け取る差分ログ受取部231と、受け取った差分ログを処理するトランザクション制御部232と、差分ログの処理結果をデータベース240に反映するデータベース反映部233とを有する。
データベース240は、マスタシステムが有するデータベースを複製したデータベースであり、マスタシステムに災害が発生した場合などにクローンシステムがオンライン業務を引き継ぐ場合に使用される。
次に、第2図に示した差分ログファイル210に格納される差分ログについて説明する。第3図は、第2図に示した差分ログファイル210に格納される差分ログの一例を示す図である。同図(a)は挿入ログを示し、同図(b)は削除ログを示し、同図(c)は更新ログを示している。
同図(a)に示すように、挿入ログは、ログ種別と、レコード識別子と、第1カラム〜第kカラムとを有する。ログ種別は、差分ログの種別を示し、挿入ログの場合には、「INSERT」である。レコード識別子は、データベースに挿入するレコードの主キーであり、挿入するレコードを識別するために用いられる。第1カラム〜第kカラムは、挿入するレコードのデータである。そして、レコード識別子と第1カラム〜第kカラムがデータベース240に挿入するレコードを構成する。
また、同図(b)に示すように、削除ログは、ログ種別と、レコード識別子とを有する。ログ種別は、差分ログの種別を示し、削除ログの場合には、「DELETE」である。レコード識別子は、データベースから削除するレコードの主キーであり、削除するレコードを識別するために用いられる。
また、同図(c)に示すように、更新ログは、ログ種別と、レコード識別子と、第1カラム〜第kカラムとを有する。ログ種別は、差分ログの種別を示し、更新ログの場合には、「UPDATE」である。レコード識別子は、更新するレコードの主キーであり、更新するレコードを識別するために用いられる。このレコード識別子は、主キーを更新する場合には、更新前の主キーと更新後の主キーとから構成される。第1カラム〜第kカラムは、更新するレコードの更新後のデータである。
次に、第2図に示した差分ログ振分部220の処理手順について説明する。第4図は、第2図に示した差分ログ振分部220の処理手順を示すフローチャ−トである。同図に示すように、この差分ログ振分部220は、差分ログ読込部221が差分ログファイル210から差分ログを順に読み込み(ステップS401)、差分ログが無くなると(ステップS402の否定)、処理を終了する。
一方、差分ログが有る場合には(ステップS402の肯定)、担当決定部222が主キーにハッシュ関数を適用した結果に基づいて差分ログの処理を担当する差分ログ適用部を決定し(ステップS403)、差分ログが主キーの更新でない場合には(ステップS404の否定)、差分ログ引渡し部224が差分ログを担当決定部222が決定した差分ログ適用部に引渡す。そして、差分ログ振分部220は、ステップS401に戻って次の差分ログを処理する。
これに対して、差分ログが主キーの更新である場合には(ステップS404の肯定)、主キー更新変換部223が更新前の主キーをレコード識別子として差分ログを削除ログに変更し(ステップS406)、担当決定部222が決定した差分ログ適用部に引渡す(ステップS407)。また、主キー更新変換部223は、更新後の主キーをレコード識別子として差分ログを挿入ログに変更し(ステップS408)、担当決定部222が決定した差分ログ適用部に引渡す(ステップS409)。そして、差分ログ振分部220は、ステップS401に戻って次の差分ログを処理する。
このように、差分ログが主キーの更新である場合に、主キー更新変換部223が差分ログから更新前の主キーをレコード識別子とする削除ログおよび更新後の主キーをレコード識別子とする挿入ログを作成し、差分ログ適用部2301〜230nに引渡すことにより、差分ログ適用部2301〜230n間での処理の同期を不要とし、もって差分ログの処理を高速化することができる。
次に、第2図に示した差分ログ適用部2301〜230nの処理手順について説明する。なお、これらの差分ログ適用部2301〜230nはいずれも同様の処理をおこなうので、ここでは差分ログ適用部2301を例にとって説明する。第5図は、第2図に示した差分ログ適用部2301の処理手順を示すフローチャ−トである。
同図に示すように、この差分ログ適用部2301は、差分ログ受取部231が差分ログ振分部220から差分ログを受け取り(ステップS501)、トランザクション制御部232が受け取った差分ログのログ種別を判定し(ステップS502)、ログ種別に応じたトランザクション処理をおこなう。すなわち、トランザクション制御部232は、ログ種別が「INSERT」である場合には、データベース240に差分ログで指定されたレコードを挿入し(ステップS503)、ログ種別が「DELETE」である場合には、データベース240から差分ログで指定されたレコードを削除し(ステップS504)、ログ種別が「UPDATE」である場合には、データベース240の差分ログで指定されたレコードを更新する(ステップS505)。
そして、差分ログの処理件数が指定件数を超えたか否かを調べる(ステップS506)。ここで、指定件数とは、トランザクションの終了処理をまとめておこなうトランザクション数をパラメータによって指定したものであり、トランザクションの終了処理をまとめておこなうことにより、差分ログ適用処理を高速化することができる。そして、差分ログの処理件数が指定件数を超えていない場合には、処理件数に「1」を加え(ステップS507)、処理を終了する。
一方、差分ログの処理件数が指定件数を超えた場合には、データベース反映部233が指定件数の差分ログの処理結果をまとめてトランザクションの終了処理、すなわち、差分ログの処理結果をデータベース240に反映するcommit処理をおこない(ステップS508)、処理件数を初期化し(ステップS509)、処理を終了する。
このように、このデータベース反映部233が差分ログの処理結果を一定の件数まとめてデータベース240に反映するcommit処理をおこなうことによって、差分ログ適用処理を高速化することができる。
上述したように、本実施の形態では、差分ログが主キーの更新である場合に、差分ログ振分部220が、差分ログから更新前の主キーをレコード識別子とする削除ログおよび更新後の主キーをレコード識別子とする挿入ログを作成し、差分ログ適用部2301〜230nに引渡すことによって、差分ログ適用部2301〜230n間での処理の同期を不要とし、もって差分ログの処理を高速化することができる。
また、本実施の形態では、差分ログ適用部2301〜230nが差分ログの処理結果を一定の件数まとめてデータベース240に反映するcommit処理をおこなうことによって、差分ログ適用処理を高速化することができる。
なお、本実施の形態では、差分ログの中の主キーを用いて差分ログを振り分ける場合について説明したが、本発明はこれに限定されるものではなく、たとえば、データベースの入出力処理分散を図るために、物理位置を特定するキーを用いて差分ログを振り分ける場合にも同様に適用することができる。
また、本実施の形態では、データベース複製装置について説明したが、このデータベース複製装置が有する構成をソフトウェアによって実現することで、同様の機能を有するデータベース複製プログラムを得ることができる。そこで、このデータベース複製プログラムを実行するコンピュータシステムについて説明する。
第6図は、本実施の形態に係るデータベース複製プログラムを実行するコンピュータシステムを示す図である。同図に示すように、このコンピュータシステム100は、本体部101と、本体部101からの指示により表示画面102aに画像等の情報を表示するディスプレイ102と、このコンピュータシステム100に種々の情報を入力するためのキーボード103と、ディスプレイ102の表示画面102a上の任意の位置を指定するマウス104と、ローカルエリアネットワーク(LAN)106または広域エリアネットワーク(WAN)に接続するLANインタフェースと、インターネットなどの公衆回線107に接続するモデム105とを有する。ここで、LAN106は、他のコンピュータシステム(PC)111、サーバ112、プリンタ113などとコンピュータシステム100とを接続している。
また、第7図は、第6図に示した本体部101の構成を示す機能ブロック図である。同図に示すように、この本体部101は、CPU121と、RAM122と、ROM123と、ハードディスクドライブ(HDD)124と、CD−ROMドライブ125と、FDドライブ126と、I/Oインタフェース127と、LANインタフェース128とを有する。
そして、このコンピュータシステム100において実行されるデータベース複製プログラムは、フロッピィディスク(FD)108、CD−ROM109、DVDディスク、光磁気ディスク、ICカードなどの可搬型記憶媒体に記憶され、これらの記憶媒体から読み出されてコンピュータシステム100にインストールされる。
あるいは、このデータベース複製プログラムは、LANインタフェース128を介して接続されたサーバ112のデータベース、他のコンピュータシステム(PC)111のデータベース、公衆回線107を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータシステム100にインストールされる。
そして、インストールされたデータベース複製プログラムは、HDD124に記憶され、RAM122、ROM123などを利用してCPU121により実行される
以上のように、本発明に係るデータベース複製プログラムおよびデータベース複製装置は、マスタシステムが災害などにより停止したオンライン業務を引き継ぐクローンシステムによるデータベースの更新に適している。
第1図は、本実施の形態に係るデータベース複製装置による主キー更新の概念を説明するための説明図である。 第2図は、本実施の形態に係るデータベース複製装置の構成を示す機能ブロック図である。 第3図は、第2図に示した差分ログファイルに格納される差分ログの一例を示す図である。 第4図は、第2図に示した差分ログ振分部の処理手順を示すフローチャートである。 第5図は、第2図に示した差分ログ適用部の処理手順を示すフローチャートである。 第6図は、本実施の形態に係るデータベース複製プログラムを実行するコンピュータシステムを示す図である。 第7図は、第6図に示した本体部の機能構成を示す機能ブロック図である。

Claims (6)

  1. マスタシステムでおこなわれたデータベースの更新内容を差分ログとして受け取り、該受け取った差分ログをクローンシステムのデータベースに適用するデータベース複製プログラムであって、
    前記差分ログの種別を示すログ種別が更新であるか否かを判定することにより該差分ログが更新ログであるか否かを判定する更新ログ判定手順と、
    前記更新ログ判定手順により前記差分ログが更新ログであると判定された場合に、該差分ログで更新対象のレコードを識別する主キーが更新前後で一致するか否かを判定することにより該差分ログが主キーの更新であるか否かを判定する主キー更新判定手順と、
    前記主キー判定手順により前記差分ログが主キーの更新であると判定された場合に、更新前の主キーで識別されるレコードを削除する削除ログを生成するとともに更新前の主キーを更新後の主キーで置き換えたレコードを挿入する挿入ログを生成することによって該差分ログを分割する差分ログ分割手順と、
    前記差分ログが主キーの更新でない場合には該差分ログを主キーに基づいて分類することにより複数の並列処理対象に振り分け、前記差分ログが主キーの更新である場合には前記削除ログおよび挿入ログをそれぞれ主キーに基づいて分類することにより複数の並列処理対象に振り分けることによって並列処理間での同期を不要とする差分ログ振分手順と、
    前記差分ログ振分手順により複数の並列処理対象に振り分けられたそれぞれの並列処理対象の差分ログを前記クローンシステムのデータベースに適用して該データベースを更新する処理を処理間で同期を取ることなく並列におこなう差分ログ並列適用手順と、
    をコンピュータに実行させることを特徴とするデータベース複製プログラム。
  2. 前記差分ログ振分手順は、前記主キーにハッシュ関数を適用した結果を用いて分類することによって差分ログを振り分けることを特徴とする請求項1に記載のデータベース複製プログラム。
  3. 前記差分ログ並列適用手順は、所定の件数のコミット処理をまとめておこなうことを特徴とする請求項1に記載のデータベース複製プログラム。
  4. マスタシステムでおこなわれたデータベースの更新内容を差分ログとして受け取り、該受け取った差分ログをクローンシステムのデータベースに適用するデータベース複製装置であって、
    前記差分ログの種別を示すログ種別が更新であるか否かを判定することにより該差分ログが更新ログであるか否かを判定する更新ログ判定手段と、
    前記更新ログ判定手段により前記差分ログが更新ログであると判定された場合に、該差分ログで更新対象のレコードを識別する主キーが更新前後で一致するか否かを判定することにより該差分ログが主キーの更新であるか否かを判定する主キー更新判定手段と、
    前記主キー判定手段により前記差分ログが主キーの更新であると判定された場合に、更新前の主キーで識別されるレコードを削除する削除ログを生成するとともに更新前の主キーを更新後の主キーで置き換えたレコードを挿入する挿入ログを生成することによって該差分ログを分割する差分ログ分割手段と、
    前記差分ログが主キーの更新でない場合には該差分ログを主キーに基づいて分類することにより複数の並列処理対象に振り分け、前記差分ログが主キーの更新である場合には前記削除ログおよび挿入ログをそれぞれ主キーに基づいて分類することにより複数の並列処理対象に振り分けることによって並列処理間での同期を不要とする差分ログ振分手段と、
    前記差分ログ振分手段により複数の並列処理対象に振り分けられたそれぞれの並列処理対象の差分ログを前記クローンシステムのデータベースに適用して該データベースを更新する処理を処理間で同期を取ることなく並列におこなう複数の差分ログ並列適用手段と、
    を備えたことを特徴とするデータベース複製装置。
  5. 前記差分ログ振分手段は、前記主キーにハッシュ関数を適用した結果を用いて分類することによって差分ログを振り分けることを特徴とする請求項4に記載のデータベース複製装置。
  6. 前記差分ログ並列適用手段は、所定の件数のコミット処理をまとめておこ なうことを特徴とする請求項4に記載のデータベース複製装置。
JP2004570551A 2003-04-04 2003-04-04 データベース複製プログラムおよびデータベース複製装置 Expired - Fee Related JP4268141B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/004343 WO2004090726A1 (ja) 2003-04-04 2003-04-04 データベース複製プログラムおよびデータベース複製装置

Publications (2)

Publication Number Publication Date
JPWO2004090726A1 JPWO2004090726A1 (ja) 2006-07-06
JP4268141B2 true JP4268141B2 (ja) 2009-05-27

Family

ID=33156430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004570551A Expired - Fee Related JP4268141B2 (ja) 2003-04-04 2003-04-04 データベース複製プログラムおよびデータベース複製装置

Country Status (2)

Country Link
JP (1) JP4268141B2 (ja)
WO (1) WO2004090726A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747324B2 (en) 2013-03-26 2017-08-29 Fujitsu Limited System, apparatus, and method for transferring updates between storage devices

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4811076B2 (ja) * 2006-03-22 2011-11-09 富士通株式会社 ログデータ圧縮プログラム及び方法
JP6106499B2 (ja) * 2013-04-11 2017-03-29 株式会社日立製作所 データ反映方法
CN107402981B (zh) * 2017-07-07 2023-07-18 国网浙江省电力公司信息通信分公司 一种基于分布式离线数据库的数据增量处理方法及系统
CN113377763B (zh) * 2020-03-10 2022-10-28 阿里巴巴集团控股有限公司 数据库表格切换方法、装置、电子设备及计算机存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63191248A (ja) * 1987-02-04 1988-08-08 Hitachi Ltd リレ−シヨナルデ−タベ−スシステムにおけるテ−ブルの排他制御方式
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US5530855A (en) * 1992-10-13 1996-06-25 International Business Machines Corporation Replicating a database by the sequential application of hierarchically sorted log records
JPH09259023A (ja) * 1996-03-26 1997-10-03 Hitachi Ltd オンラインデータベースシステムのバックアップ方法
JP2000035911A (ja) * 1998-07-21 2000-02-02 Mitsubishi Electric Corp データベースの等価方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747324B2 (en) 2013-03-26 2017-08-29 Fujitsu Limited System, apparatus, and method for transferring updates between storage devices

Also Published As

Publication number Publication date
WO2004090726A1 (ja) 2004-10-21
JPWO2004090726A1 (ja) 2006-07-06

Similar Documents

Publication Publication Date Title
US11768739B2 (en) Manifest-based snapshots in distributed computing environments
EP4254183A1 (en) Transaction processing method and apparatus, computer device, and storage medium
KR100926880B1 (ko) Dbms에서의 데이터 복제 방법 및 시스템
JP6553822B2 (ja) 分散システムにおける範囲の分割および移動
JP4414381B2 (ja) ファイル管理プログラム、ファイル管理装置、ファイル管理方法
US7017144B2 (en) Combined image views and method of creating images
EP2264617B1 (en) Method and apparatus for replicating a database
US8078582B2 (en) Data change ordering in multi-log based replication
US7886124B2 (en) Method and mechanism for implementing dynamic space management for large objects
US5613113A (en) Consistent recreation of events from activity logs
KR102431806B1 (ko) 대량 오디오 지문 데이터베이스의 온라인 실시간 업데이트를 구축하는 방법과 장치
JP2001076005A (ja) データベースシステム
CN112965951A (zh) 用于数据库中数据重分布的系统和方法
CN112308727A (zh) 保险理赔业务处理方法及装置
JP2001306372A (ja) 文書管理方法およびその方法を実施するためのプログラムを記憶した記憶媒体
JP4268141B2 (ja) データベース複製プログラムおよびデータベース複製装置
US20060020572A1 (en) Computer, storage system, file management method done by the computer, and program
JP2004302662A (ja) ジャーナル取得・配付装置、ジャーナル取得・配付方法、その方法をコンピュータに行わせるプログラム
US20230101740A1 (en) Data distribution in data analysis systems
US11954119B2 (en) Applying changes in a target database system
KR20220072545A (ko) 데이터 분할 기반 데이터 전처리 장치 및 방법
TW479176B (en) Client server system performing exclusion control
JP2009301352A (ja) テスト装置およびテスト方法
CN112035486B (zh) 分区表的分区建立方法、装置和设备
JP2000020374A (ja) レプリケーション制御システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081212

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090219

R150 Certificate of patent or registration of utility model

Ref document number: 4268141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees