(57)【要約】【課題】更新ログテーブルや一時テーブルを追加することなく、データベースシステムと異種データベースシステム間で、一部または全部のデータ整合性を保つレプリケーションシステムを得る。【解決手段】コンピュータ１のデータベースシステム１１中に配置され、更新状態を示すカラム及び削除状態を示すカラムが設けられたユーザテーブル１３から、コンピュータ１のデータ抽出手段１４により、更新状態を示すカラム及び削除状態を示すカラムを基にして、変更データを抽出し、これをコンピュータ２に送信して、コンピュータ２の異種データベースシステム２１のユーザテーブル２２を、コンピュータ２のデータ変更手段２４により更新するようにした。【選択図】        図１
2004171447.tif 000002
【特許請求の範囲】
【請求項１】
異なるデータベースシステム間のユーザテーブル中のデータの整合を行うレプリケーションシステムにおいて、第一のコンピュータの第一のデータベースシステム中に配置され、更新状態を示すカラム及び削除状態を示すカラムが設けられた第一のユーザテーブルと、第二のコンピュータの上記第一のデータベースシステムとは異種の第二のデータベースシステム中に配置された第二のユーザテーブルとのデータの整合を行うように、上記第一のコンピュータには、上記第一のユーザテーブルの更新状態を示すカラム及び削除状態を示すカラムを基に、上記第一のユーザテーブルから変更データを抽出するデータ抽出手段、及びこのデータ抽出手段によって抽出された変更データを上記第二のコンピュータに送信する第一のデータ通信手段を備え、上記第二のコンピュータには、上記第一のデータ通信手段によって送信された変更データを受信する第二のデータ通信手段、及びこの第二の通信手段によって受信された変更データを用いて上記第二のユーザテーブルを更新するデータ変更手段を備えたことを特徴とするレプリケーションシステム。
【請求項２】
上記第一のコンピュータには、上記第一のユーザテーブルを更新するＳＱＬ文を、上記更新状態を示すカラム及び削除状態を示すカラムの更新を含むＳＱＬ文に変換するＳＱＬ文変換手段を備えたことを特徴とする請求項１記載のレプリケーションシステム。
【請求項３】
上記第一のコンピュータには、上記データ抽出手段によるデータ抽出に用いられる抽出条件を定義したデータ抽出定義部を備え、上記データ抽出手段は、上記データ抽出定義部によって定義された抽出条件にしたがって上記第一のユーザテーブルから変更データを抽出することを特徴とする請求項１または請求項２記載のレプリケーションシステム。
【請求項４】
複数の第二のコンピュータにそれぞれ配置された複数の第二のユーザテーブルを上記抽出条件を用いて更新できるように、上記データ抽出定義部は、上記複数の第二のコンピュータのそれぞれに対して抽出条件を定義していることを特徴とする請求項３記載のレプリケーションシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、異なるデータベースシステム間において、ユーザテーブルの一部または全てのデータの整合を行うレプリケーションシステムに関するものである。
【０００２】
【従来の技術】
異なるデータベースシステム間のデータ整合を行うには、新規に挿入されたレコードや更新されたレコードの抽出、及び削除されたレコードの抽出が必要であるが、ユーザテーブルの中から削除されたレコードは存在しなくなるため、レコードの差分を抽出することは困難である。
従来のレプリケーションシステムにおいては、例えば、特許文献１に示されるように、ユーザテーブルの更新レコードのイベントを格納する更新ログテーブルやユーザテーブルを複製した一時テーブルを設けて、ユーザテーブルと一時テーブルのレコードの差分を抽出し、この差分に基づいてデータ整合を行うように構成されている。
【０００３】
【特許文献１】
特開２０００−１３２４３５号公報（第３〜６頁、図１）
【０００４】
【発明が解決しようとする課題】
従来のレプリケーションシステムは、以上のように構成されているので、ユーザテーブルの更新レコードのイベントを格納する更新ログテーブルやユーザテーブルを複製した一時テーブルを用意しなければならず、更新するデータ量に比例して、更新ログテーブルと一時テーブルに格納されるデータ量が多くなるため、データ格納領域を大きくする必要があるなどの問題があった。
【０００５】
この発明は、上記のような問題点を解決するためになされたものであり、更新ログテーブルや一時テーブルを追加することなく、データベースシステムと異種データベースシステム間で、一部または全部のデータ整合性を保つレプリケーションシステムを得ることを目的とする。
【０００６】
【課題を解決するための手段】
この発明に係わるレプリケーションシステムにおいては、異なるデータベースシステム間のユーザテーブル中のデータの整合を行うレプリケーションシステムにおいて、第一のコンピュータの第一のデータベースシステム中に配置され、更新状態を示すカラム及び削除状態を示すカラムが設けられた第一のユーザテーブルと、第二のコンピュータの第一のデータベースシステムとは異種の第二のデータベースシステム中に配置された第二のユーザテーブルとのデータの整合を行うように、第一のコンピュータには、第一のユーザテーブルの更新状態を示すカラム及び削除状態を示すカラムを基に、第一のユーザテーブルから変更データを抽出するデータ抽出手段、及びこのデータ抽出手段によって抽出された変更データを第二のコンピュータに送信する第一のデータ通信手段を備え、第二のコンピュータには、第一のデータ通信手段によって送信された変更データを受信する第二のデータ通信手段、及びこの第二の通信手段によって受信された変更データを用いて第二のユーザテーブルを更新するデータ変更手段を備えたものである。
【０００７】
【発明の実施の形態】
実施の形態１．
以下、この発明の実施の形態１を図に基づいて説明する。
図１は、この発明の実施の形態１によるレプリケーションシステムを示す構成図である。
図１において、コンピュータ１、２は、それぞれ異なる種類のコンピュータである。コンピュータ１（第一のコンピュータ）は、データベースシステム１１（第一のデータベースシステム）、ＳＱＬ文変換手段１２、データ抽出手段１４、データ通信手段１５（第一のデータ通信手段）などを有している。データベースシステム１１には、レコードの更新状態を示すカラム及び削除状態を示すカラムを有するユーザテーブル１３（第一のユーザテーブル）が設けられ、ＳＱＬ文変換手段１２は、ユーザテーブル１３を更新するＳＱＬ文を、この更新状態のカラムおよび削除状態のカラムを含み更新するＳＱＬ文に変換する。コンピュータ２（第二のコンピュータ）は、データベースシステム１１とは異種のデータベースシステム２１（第二のデータベースシステム）、データ通信手段２３（第二のデータ通信手段）、データ変更手段２４などを有している。異種データベースシステム２１は、レコードの更新状態を示すカラム及び削除状態を示すカラムを有するユーザテーブル２２（第二のユーザテーブル）を有している。
【０００８】
図２は、この発明の実施の形態１によるレプリケーションシステムの各テーブルを示す図であり、顧客管理データを格納したテーブルの例を示す。図２（ａ）は、ユーザテーブル１３の構成を示し、図２（ｂ）は、ユーザテーブル２２の構成を示している。
図２において、データベースシステム１１のユーザテーブル１３は、ユニークキーの顧客ＩＤ５１、顧客名５２、住所５３、評価ランク５４、レコードの更新状態を格納する更新状態５５、レコードの削除状態を格納する削除状態５６のカラムから構成されている。例えば、更新状態５５が０の場合は、レコードが更新されていないことを示し、１の場合は更新されていることを示している。同様に、削除状態５６が０の場合は、レコードが削除されていないことを示し、１の場合は削除されていることを示す。
【０００９】
異種データベースシステム２１のユーザテーブル２２は、顧客管理データの中で最も最重要視した顧客データを格納するための例を示している。ユーザテーブル１３とは構造が異なり、顧客ＩＤ８０、顧客名８１、住所８２、評価ランク８３、コメント８４、更新状態８５、削除状態８６のカラムから構成されている。この内、顧客ＩＤ８０と顧客ＩＤ５１、顧客名８１と顧客名５２、住所８２と住所５３、評価ランク８３と評価ランク５４の各カラムが、ユーザテーブル１３と対応している。
【００１０】
次に、動作について説明する。
ユーザテーブル１３の更新（ＩＮＳＥＲＴ、ＵＰＤＡＴＥ、ＤＥＬＥＴＥ）を行うＳＱＬ文を実行する場合、ＳＱＬ文変換手段１２によって、ＳＱＬ文を更新状態５５及び削除状態５６のカラムの変更を含むＳＱＬ文に変換後、ＳＱＬ文を実行する。データ抽出手段１４は、ユーザテーブル１３の更新状態５５が１であるレコードを検索し、その結果をデータ通信手段１５によってコンピュータ２に送信する。データ通信手段２３は、データ通信手段１５から受信したデータ（変更データ）をデータ変更手段２４に渡す。データ変更手段２４は、受け取ったデータにしたがってユーザテーブル２２の更新を行う。
【００１１】
図３は、この発明の実施の形態１によるレプリケーションシステムのＳＱＬ文変換手段の動作を示すフローチャートである。
図３では、ＳＱＬ文がＤＥＬＥＴＥ文かどうかの判断を行い（ステップＳ１）、ＤＥＬＥＴＥ文の場合は、更新状態５５と削除状態５６のカラムを１にするＵＰＤＡＴＥ文に変換する（ステップＳ２）。ステップＳ１で、ＤＥＬＥＴＥ文でなければ、ＵＰＤＡＴＥ文かどうかを判断し（ステップＳ３）、ＵＰＤＡＴＥ文の場合は、更新状態５５を１にするＵＰＤＡＴＥ文に変換する（ステップＳ４）。ステップＳ３で、ＵＰＤＡＴＥ文でなければ、ＩＮＳＥＲＴ文かどうかを判断し（ステップＳ５）、ＩＮＳＥＲＴ文の場合は、ユニークキーの顧客ＩＤ５１と同じレコードが存在し、かつ削除状態が１かを判断し（ステップＳ６）、真の場合は、更新状態を１にし削除状態を０にするＵＰＤＡＴＥ文に変換する（ステップＳ７）。偽の場合は、更新状態を１にするＩＮＳＥＲＴ文に変換する。そして、ＳＱＬ文を実行する（ステップＳ９）。
【００１２】
図４は、この発明の実施の形態１によるレプリケーションシステムのデータ抽出手段の動作を示すフローチャートである。
図４では、ユーザテーブル１３から更新状態５５が１のレコードを抽出する（ステップＳ１０）。抽出したデータをデータ通信手段１５に渡す（ステップＳ１１）。データ通信手段１５の転送処理が成功した場合（ステップＳ１２）、ユーザテーブル１３の削除状態５６が１のレコードを削除する（ステップＳ１３）。最後にユーザテーブル１３の更新状態５５をすべて０に変更する（ステップＳ１４）。
【００１３】
図５は、この発明の実施の形態１によるレプリケーションシステムのデータ変更手段の動作を示すフローチャートである。
図５では、データ通信手段２３が受信したデータを受け取り（ステップＳ２０）、受け取ったデータの削除状態が１の場合（ステップＳ２２）、ユーザテーブル２２の該当レコードを削除する（ステップＳ２４）。受け取ったデータの削除状態が０の場合は、ユーザテーブル２２に既にデータが存在するかどうかを判断し（ステップＳ２３）、存在した場合は、ユーザテーブル２２の該当レコードのデータを更新する（ステップＳ２５）。存在しない場合は、ユーザテーブル２２にレコードを追加する（ステップＳ２６）。ステップＳ２４、Ｓ２５、Ｓ２６の実行後は、ステップＳ２１で、更新データが存在するかどうかを判断し、存在する場合は、ステップＳ２２〜ステップＳ２６を実行する。
【００１４】
このように、実施の形態１によれば、更新状態５５及び削除状態５６のカラムを用いてレプリケーションを行うことにより、更新ログテーブルや一時テーブルを追加することなく、データベースシステムと異種データベースシステム間で、データ整合性を保つことが可能となる。
【００１５】
実施の形態２．
図６は、この発明の実施の形態２によるレプリケーションシステムを示す構成図である。
図６において、１、２、１１〜１３、１５、２１〜２４は図１におけるものと同一のものである。図６では、データ抽出手段１４の代りに、条件付データ抽出手段１６（データ抽出手段）を設けている。
実施の形態１では、データベースシステム１１と異種データシステム２１間で、データ整合性を保つ場合について述べたが、実施の形態２は、図６に示すように、データ抽出手段１４の代りに、条件付データ抽出手段１６を設け、さらに複数のデータ転送先コンピュータ毎にデータ抽出条件を定義できるように、データ抽出定義部をコンピュータ１に設けて、データの一部のみの整合性を保つことができるようにした。その他の構成は、実施の形態１と同じである。
【００１６】
図７は、この発明の実施の形態２によるレプリケーションシステムのデータ抽出定義部のデータ構造を示す図であり、条件付データ抽出手段１６でデータ転送先コンピュータ毎にデータ抽出条件を定義するためのデータ構造である。図７（ａ）は、データ抽出定義部のデータ構造を示し、図７（ｂ）は、データ構造の例を示している。
図７において、データ抽出定義部９０は、データ転送するテーブル名を格納するテーブル９１、転送先コンピュータ名を格納する転送先コンピュータ９２、抽出条件を格納する抽出条件９３から構成される。例えば、テーブル９１が顧客テーブル、転送先コンピュータ９２がコンピュータ２、抽出条件９３が評価ランク＝５の場合は、顧客テーブルについては、評価ランクが５のレコードのみコンピュータ２に転送することを示している。
【００１７】
図８は、この発明の実施の形態２によるレプリケーションシステムの条件付データ抽出手段の動作を示すフローチャートである。
図８では、ユーザテーブル１３から、抽出条件に合致し、かつ更新状態５５が１のレコードを抽出する（ステップＳ３０）。抽出したデータをデータ通信手段１５に渡す（ステップＳ３１）。データ通信手段１５の転送処理が成功した場合（ステップＳ３２）、ユーザテーブル１３の削除状態５６が１のレコードを削除する（ステップＳ３３）。最後にユーザテーブル１３の更新状態５５をすべて０に変更する（ステップＳ３４）。
【００１８】
このように、実施の形態２によれば、条件付データ抽出手段１６を設けることによって、転送先コンピュータに必要なデータのみ整合性を保つことが可能となるため、転送するデータ量を削減でき、転送時間を短縮することが可能となる。
【００１９】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
異なるデータベースシステム間のユーザテーブル中のデータの整合を行うレプリケーションシステムにおいて、第一のコンピュータの第一のデータベースシステム中に配置され、更新状態を示すカラム及び削除状態を示すカラムが設けられた第一のユーザテーブルと、第二のコンピュータの第一のデータベースシステムとは異種の第二のデータベースシステム中に配置された第二のユーザテーブルとのデータの整合を行うように、第一のコンピュータには、第一のユーザテーブルの更新状態を示すカラム及び削除状態を示すカラムを基に、第一のユーザテーブルから変更データを抽出するデータ抽出手段、及びこのデータ抽出手段によって抽出された変更データを第二のコンピュータに送信する第一のデータ通信手段を備え、第二のコンピュータには、第一のデータ通信手段によって送信された変更データを受信する第二のデータ通信手段、及びこの第二の通信手段によって受信された変更データを用いて第二のユーザテーブルを更新するデータ変更手段を備えたので、従来のように更新ログテーブルや一時テーブルを追加することなく、データベースシステムと異種データベースシステム間で、データの整合性を保つようにすることができる。
【図面の簡単な説明】
【図１】この発明の実施の形態１によるレプリケーションシステムを示す構成図である。
【図２】この発明の実施の形態１によるレプリケーションシステムの各テーブルを示す図である。
【図３】この発明の実施の形態１によるレプリケーションシステムのＳＱＬ文変換手段の動作を示すフローチャートである。
【図４】この発明の実施の形態１によるレプリケーションシステムのデータ抽出手段の動作を示すフローチャートである。
【図５】この発明の実施の形態１によるレプリケーションシステムのデータ変更手段の動作を示すフローチャートである。
【図６】この発明の実施の形態２によるレプリケーションシステムを示す構成図である。
【図７】この発明の実施の形態２によるレプリケーションシステムのデータ抽出定義部のデータ構造を示す図である。
【図８】この発明の実施の形態２によるレプリケーションシステムの条件付データ抽出手段の動作を示すフローチャートである。
【符号の説明】
１，２  コンピュータ、１１  データベースシステム、
１２  ＳＱＬ文変換手段、１３  ユーザテーブル、１４  データ抽出手段、
１５  データ通信手段、１６  条件付データ抽出手段、
２１  異種データベースシステム、２２  ユーザテーブル、
２３  データ通信手段、２４  データ変更手段。
【図１】
2004171447.tif 000003
【図２】
2004171447.tif 000004
【図３】
2004171447.tif 000005
【図４】
2004171447.tif 000006
【図５】
2004171447.tif 000007
【図６】
2004171447.tif 000008
【図７】
2004171447.tif 000009
【図８】
2004171447.tif 000010