(57)【特許請求の範囲】
【請求項１】
ネットワークを介して互いに接続された複数のサーバを有するマルチサーバシステムにおいて、
各サーバはそれぞれにデータベースを有し、
一の複製元サーバで行われた前記データベースにおけるデータの更新と同一の更新を、他の１つ以上の複製先サーバのそれぞれのデータベースにおいて行う際に、前記複製元サーバで行われる処理を、一連の処理を前もってコード化しておいた処理プログラム（以下プロシージャという）によって行い、
前記複製元サーバにおける前記プロシージャのトレース情報をテーブル化してトレーステーブルとし、
前記トレーステーブルを前記他の複製先サーバに転送し、
前記複製先サーバにおいて前記トレーステーブルを参照し、前記複製先サーバに格納され且つ前記複製元サーバと同一のプロシージャを前記複製先サーバでコールし、前記複製元サーバと同一の処理を前記複製先サーバで行う、
ことを特徴とするデータ更新方式。
【請求項２】
請求項１に記載のデータ更新方式において、
前記トレース情報として、前記プロシージャに対してＩＤを設定し、前記ＩＤを前記複製先サーバへ転送することを特徴とするデータ更新方式。
【請求項３】
請求項１または２に記載のデータ更新方式において、
前記複製元サーバと前記複製先サーバにおけるデータベースにそれぞれ複数のデータテーブルが存在する場合、前記プロシージャによる一のデータテーブルに対する処理に連動して他のデータテーブルを処理する処理プログラム（以下トリガという）をそれぞれのサーバに設け、前記それぞれのサーバ内部で実行することによって、前記複製元サーバと前記複製先サーバにおける他のデータテーブルをも更新することを特徴とするデータ更新方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はコンピュータネットワークシステムにおけるデータ管理方式に関し、特にデータ管理を行う複数のサーバを持ち、各サーバに蓄積されたデータの同一性を保持することが必要なシステムに対して適用される技術である。
【０００２】
【従来の技術】
コンピュータネットワークシステムにおいて、同一システム上に複数のデータベースを持つ環境下で、複数のデータベース間の同一性を保持する方式としては、複製元サーバのデータベースの内容を、複製先サーバのデータベースに複製して利用する方式が一般に用いられている。
【０００３】
従来のデータ複製を行うシステムの例としては、例えば特開平６−１１０９３１号公報に示されるように、複製元サーバのデータベースの内容と複製先サーバのデータベースの内容を比較し、その差分をコピーする方式や、Ｍｉｃｒｏｓｏｆｔ社の提供しているＳＱＬサーバやＡｃｃｅｓｓのように、それぞれのデータベース内部の、各データテーブル一つ一つに対するデータの挿入、削除、変更の処理の全てをトレースして、このトレース結果を複製元サーバから複製先サーバへ複製することにより各データベース間でのデータの複製を行っている方式がある。
【０００４】
【発明が解決しようとする課題】
上記の方式は、各データベース内の個々のテーブルに対する挿入、削除、変更のそれぞれの処理を単位としてデータをコピーするため、複製に伴って転送しなければならないデータ量が、テーブルの数、処理の数に比例して、非常に膨大なものとなり、ネットワークに対する負荷が非常に大きなものとなる。
【０００５】
データベースにおいて更新情報の管理形態はテーブル単位で行われるため、データの複製はそれらテーブルの中の各データ列を単位として行われる。従って、大量のデータ列を対象とした更新が行われた場合には、データの複製を行うためのトレース情報（複製元から複製先に転送される複製のための情報であり、一例として、詳しくは後述するが、図８に示すような内容）は、更新が行われたテーブルの識別、更新の方法、更新されたデータ等の情報が必要となり、変更された情報とほぼ同量のデータがネットワークを介して転送されることとなる。
【０００６】
また、各地に分散された各サーバの各データベースを、それぞれのサーバにアクセスするクライアントから見た場合に、これらのデータベースに存在するデータは、常に同じである必要がある。この整合性を保つためには、短時間ですべてのサーバのデータを同じにする必要があり、サーバ間のデータの複製に伴う転送負荷を軽減することが必須である。これは特に転送速度の比較的低いネットワークを使う必要のある大規模なシステム、例えばＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を経由する場合には特に重要な課題となる。
【０００７】
具体的には、ネットワークを介して転送するデータを極力少なくすることが必要とされる。
【０００８】
【課題を解決するための手段】
前記課題を解決するために、本発明は次のような構成を採用する。
【０００９】
ネットワークを介して互いに接続された複数のサーバを有するマルチサーバシステムにおいて、
各サーバはそれぞれにデータベースを有し、
一の複製元サーバで行われた前記データベースにおけるデータの更新と同一の更新を、他の１つ以上の複製先サーバのそれぞれのデータベースにおいて行う際に、前記複製元サーバで行われる処理を、一連の処理を前もってコード化しておいた処理プログラム（以下プロシージャという）によって行い、
前記複製元サーバにおける前記プロシージャのトレース情報をテーブル化してトレーステーブルとし、
前記トレーステーブルを前記他の複製先サーバに転送し、
前記複製先サーバにおいて前記トレーステーブルを参照し、前記複製先に格納され且つ前記複製元サーバと同一のプロシージャを前記複製先サーバでコールし、前記複製元サーバと同一の処理を前記複製先サーバで行うデータ更新方式。
【００１０】
【発明の実施の形態】
まず始めに、本発明の基本的な概念について説明する。それぞれにデータベースを有する複数のサーバを備えたネットワークシステムにおいて（図１参照）、複製元サーバのデータベース内部に存在するテーブル（データベースにおける更新情報の管理単位）に対して行われたデータの更新を、ネットワークに接続された他のサーバ（以下複製先サーバとする）のデータベースに対しても、同様の更新を行う場合に、複製元サーバで行われるデータの処理をそのサーバ内のプロシージャ（一連の予想される処理を予めコード化しておいた簡素なバッチ処理プログラム）によって行い、このプロシージャのトレース情報（この場合のトレース情報は、前もって準備しておいた処理プログラムの内で、実行に移された前記処理プログラム、に相当する）をテーブル化して複製先に転送し、複製元と同様のプロシージャを備えた複製先で、複製元で実行されたのと同様なプロシージャを動作させることにより、複製先において、複製元のデータとの同一性を保持しながらデータの更新を行おうとするものである。
【００１１】
上述した本発明の概念を具体化するためは、本発明は次のような構成を準備することにより所期の効果を得ることができるものである。
【００１２】
まず、ネットワークを介して転送するデータを少なくするために、複製元のサーバのデータベースへのデータの挿入、変更、削除を行う場合には、これらを、一括で処理するコマンドを作成し、このコマンドのトレース情報を複製先サーバへ転送する。この基本方式により各テーブル一つ一つのデータのトレース情報を複製先に転送する必要はなくなり、ネットワーク負荷は飛躍的に軽減される。
【００１３】
そして、すべてデータベースにはメインとなるデータテーブルを作成する。更に、メインとなるテーブルのデータの変更により、同一サーバ内の付随する別のデータテーブルに対しての変更を行うトリガを作成する（詳しくは後述するが、図２のトリガ１２０による別のデータテーブル１２１の変更）。
【００１４】
ここにおいて、トリガとは、特定のテーブルのデータの挿入、削除、更新を行う際に、自動的に呼び出されるプログラムのことである。ここの処理では、メインのテーブルに挿入、削除、更新が行われた場合に、このトリガがユーザやプログラム内部で意識しない状況下で自動的に呼び出され、前もってトリガの内部で定義されたメインテーブルとは別のテーブルに対して処理を行うものである。
【００１５】
また、メインテーブルへのデータ操作は全てプロシージャ化する。
【００１６】
ここにおいて、プロシージャとは、データベースの一つのテーブルまたは複数のテーブルに対して、挿入、削除、更新を行う一連のプログラムを記載したコマンドである。ここの処理では、たとえば、メインテーブルを更新したい場合には、あるプロシージャ１を呼ぶことにし、メインテーブルとこれとは別の複数のテーブルのデータも処理する必要があるためには、上記のプロシージャ１とは別のプロシージャ２を呼ぶことにする。
【００１７】
以上説明した本発明の概念を図面を用いて概略的に説明する。図７は複数のサーバ間におけるデータ更新を模式的に表わしたものである。図７の（１）は、従来のデータ転送方式を示したものである。４１２は複製元サーバの各テーブルを更新した際のトレース情報を格納するテーブルであり、このデータがネットワーク上を転送される（４１１）。この転送されたデータは複製先のトレース情報４１３として、複製先データを更新する。
【００１８】
このように、従来の技術では、テーブルに変更がかかると、これと同じ量のトレース情報を転送する必要がある。これに対して、図７の（２）は、本発明の実施形態を示すものであり、各テーブルへの処理作業を４２２のプロシージャに行わせ、このプロシージャの情報をトレース情報として転送する（４２１）。転送先では転送元と同様の動きを行うプロシージャ４２３が起動される。このため、従来の技術に比べ、ネットワークの負荷を飛躍的に減少させることができる。
【００１９】
また、図７の（３）は、本発明の他の実施形態を示しており、所定のテーブルの更新に伴い、起動されるトリガ４３２を使用する。転送されたプロシージャにより、複製先サーバでも、このプロシージャが起動されることにより、トリガ４３２と同様の処理を行うトリガ４３３が起動され、複製元と複製先のデータの整合性が保たれる。このような処理を行うことにより、転送するデータ４３１はさらに少なくなる。
【００２０】
更に、本発明の実施形態を図面を用いて以下詳細に説明する。
【００２１】
図１は本発明における複数のサーバの内に存在するデータの複製を行うためのの処理内容であり、図２は図１のデータ処理にトリガの概念を取り入れたものである。図１と図２において、１０１は複製元サーバに接続されるクライアント、１０２はクライアントアプリケーションからのプロシージャのコール処理、１０３はテーブル更新プロシージャ、１０４は複製元トレース情報格納テーブル、１０５は複製元サーバ、１０６は複製元データベース、１０７は複製元データテーブル、１０８はＷＡＮを介して行われるトレース情報テーブルのコピー処理、１０９は複製先トレース情報格納テーブル、１１０はテーブル更新プロシージャ、１１１は複製先データテーブル、１１２は複製先データベース、１１３は複製先サーバ、１２０は複製元トリガ、１２１は複製元トリガによって変更されるデータテーブル、１２２は複製先トリガ、１２３は複製先トリガによって変更されるデータテーブル、をそれぞれ表わす。
【００２２】
複製元サーバ１０５には、クライアント１０１からデータベース１０６のテーブル１０７に対してデータの検索、挿入、削除、更新等が行われる。このうち、データの更新処理を行う場合、クライアントはデータベース内に存在するプロシージャ１０３をコールする（１０２）ことによって実現される。
【００２３】
コールされたプロシージャ１０３はクライアント１０１が更新処理を行おうとするテーブル１０７に対してデータの更新処理を行うとともに、トレーステーブル１０４に対しても、自分自身のプロシージャのトレース情報（クライアントによってコールされ実行されたプロシージャ内の更新処理のプログラム）を書き込む。ここまでが、複製元サーバ１０５上で行われるデータの更新処理の流れである。
【００２４】
前記複製元サーバ１０５のトレース情報１０４は、ネットワークを介した複製先サーバ１１３のデータベース１１２のトレーステーブル１０９に転送される。
【００２５】
複製先サーバ１１３上に存在するトレーステーブル１０９を監視するプログラムは、前記トレーステーブル１０９に格納された情報をもとに、複製元サーバ１０５で起動されたプロシージャ１０３と同一の処理を行うプロシージャ１１０をコールする。プロシージャ１１０は複製元サーバと同一のデータ変更をデータテーブル１１１に対して行う。このようにすることにより、整合性を保つ必要のある複製元データテーブル１０７と複製先データテーブル１１１のデータの複製が行われる。
【００２６】
図２は図１に示されたデータの処理に、トリガの概念をとりいれたものである。これは、複製元データベース１０６に存在するプロシージャによって更新されるデータテーブル１０７が変更されることに追従して、別のデータテーブル１２１を変更する必要がある場合に用いる事が出来る。たとえば、テーブル１０７が更新された場合には、トリガによって更新されるテーブル１２１のデータはテーブル１０７の更新データによって、ある値が決まり、この値を必ずテーブル１２１に入力しなければならない場合に、テーブル１０７が変更された場合に、必ず起動されるトリガ１２０を作成しておくことにより、テーブル１２１へのデータの更新が保証される。
【００２７】
この制御を用いることにより、複製元サーバで更新する必要のあるテーブルが複数あった場合には、それぞれの、データテーブルに対してトリガを作成しておくことにより、一つのデータテーブルを更新することによって他のデータテーブルを同時に更新することが出来る。この時のトレースデータは、プロシージャ１０３の情報だけで良い。
【００２８】
図１と同様に、複製先サーバ１１３のデータベース１１２のトレーステーブル１０９に転送されたデータを元に、制御プログラムはプロシージャ１１０をコールする。このプロシージャ１１０は複製元データベースと同様に、データテーブル１１１を更新する。このデータテーブル１１１の更新を契機に、トリガ１２２が自動起動される。このトリガ１２２は複製元サーバのトリガ１２０と同様の動作を行う。
【００２９】
この結果、データテーブル１２３も更新されることになる。この処理を行うことにより、複製元データテーブル１０７と複製先データテーブル１１１の整合性が、複製元データテーブル１２１と複製先データテーブル１２３の整合性がそれぞれ保たれる。
【００３０】
図３、図４、図５及び図６は、本発明における複製元サーバおよび複製先サーバ内部における、処理の構成と処理の流れを示す図である。
【００３１】
図３において、２１２はプロシージャによって更新されるテーブルの主キー項目、２１３はプロシージャによって更新されるテーブルの別テーブル更新の情報を持つデータ項目、２１４はプロシージャによって更新されるテーブルのユニークなデータ項目、２１５はプロシージャによって変更された行、２２２はトリガによって更新されるテーブルの主キー項目、２２３はトリガによって更新されるテーブルの別テーブル更新の情報を持つデータ項目、２２４はトリガによって更新されるテーブルのユニークなデータ項目、２２５はトリガによって挿入された行、２３２は処理されたプロシージャのＩＤを格納する項目、２３３は更新対象となるテーブルの主キーであるデータを格納する項目、２３４は更新対象となるテーブルの主キーに対する実データを格納する項目、２３５はプロシージャによって挿入された情報をトレースした行、２４６はトレース情報を格納する処理、をそれぞれ表わす。
【００３２】
データの複製は、図３のプロシージャ１０３によって変更されるデータテーブル１０７と、図５のプロシージャ１１２によって変更されるテーブル１１３と、図３のトリガ１２０によって変更されるデータテーブル１２１と、図５のトリガ１１４によって変更されるテーブル１１５と、が対象となるテーブルであり、それぞれのテーブルにおけるデータの整合性をとる必要がある。
【００３３】
図３は複製元サーバ内部でのデータの処理の流れである。アプリケーションからの要求によりプロシージャ１０３が起動される。このプロシージャ１０３はプロシージャによって変更されるテーブル１０７に対するデータの挿入を行う。起動されたプロシージャ１０３は引数（或る値を用いて、…の処理を実行せよというプログラムへの命令における前記或る値のことを云う）として項目２１３に挿入されるデータを持ち、このデータをテーブル１０７に挿入する（２１５、２４３）。
【００３４】
また、プロシージャ１０３は上記のテーブルへの挿入処理の他にトレース情報テーブルであるテーブル１０４に対してデータ行の挿入を行う（２３５）。このデータ挿入の結果格納された列情報２３５が、複製先サーバに転送される情報である。また、プロシージャ１０３の処理によってテーブル１０７が変更されるために、トリガ１２０が起動される。トリガ１２０はテーブル１０７に対して処理が行われた場合に、自動的にコールされるプログラムである。トリガ１２０はトリガによって変更されるデータテーブル１２１に対して列情報を作成し（２４７）、この列情報を入力する（２２５）。
【００３５】
図４はこれらの処理を流れ図を用いて説明するものである。アプリケーションからの要求により（２５１）、プロシージャが発行される（２５２）。これは図３の１０３のプロシージャを発行することと同じ処理である。これによりテーブルのデータは変更される（２５３）。このプロシージャはトレース情報テーブルへのデータ格納を行う（２５４）。また、テーブルが変更される処理２５３により、トリガが起動され、トリガによってテーブルも更新される（２５５）。
【００３６】
複製元サーバ内部ではこれらの処理が繰り返され行われている。複製元サーバでは、トレーステーブルの内容を複製先サーバへ転送するモジュール２５６を持たせる。前記モジュールは、転送開始時刻を監視し（２５７）、自動で、もしくは、指定時間にトレーステーブルに格納されたデータを読み込み（２５８）、複製先サーバに読み込んだトレースデータを転送する（２５９）。
【００３７】
図５は本発明における複製先サーバ内部での処理を示す図である。図５において、３１２は処理されたプロシージャのＩＤを格納する項目、３１３は更新対象となるテーブルの主キーであるデータを格納する項目、３１４は更新対象となるテーブルの主キーに対する実データを格納する項目、３１５はプロシージャによって挿入された行のトレース情報、３２２はプロシージャによって更新されるテーブルの主キー項目、３２３はプロシージャによって更新されるテーブルの別テーブル更新の情報を持つデータ項目、３２４はプロシージャによって更新されるテーブルのユニークなデータ項目、３２５はプロシージャによって挿入された行、３３２はトリガによって更新されるテーブルの主キー項目、３３３はトリガによって更新されるテーブルの別テーブル更新の情報を持つデータ項目、３３４はトリガによって更新されるテーブルのユニークなデータ項目、３３５はトリガによって挿入された行、をそれぞれ表わす。
【００３８】
複製元サーバから転送されたトレース情報テーブル１１０の行の情報３１５により、テーブル１１３に対する処理プロシージャ１１２が起動される。起動されたプロシージャ１１２は、複製元サーバと同様の処理を行うものであり、トレース情報テーブル１１０に格納されているデータ３１３，３１４を引数として処理されるため、複製元サーバのプロシージャと全く同様の処理を行うことができ、その結果として、複製元サーバのプロシージャによって変更されるテーブルと、この複製先サーバのプロシージャによって変更されるテーブル１１３の整合性が完全に保たれる。
【００３９】
また、テーブル１１３に対して行われた処理により、複製先サーバのトリガと同様の処理を行うトリガ１１４が起動される。このため、複製元サーバのトリガによって変更されるテーブルと、この複製先サーバのトリガによって変更されるテーブル１１５の整合性が完全に保たれる。
【００４０】
図６はこれらの処理を流れ図を用いて説明するものである。複製先サーバ内部に存在するトレース情報テーブル監視モジュール３５１は、処理開始時刻を監視し（３５２）、自動で、もしくは指定時刻に複製元サーバから転送されたトレース情報３５５からデータを読み込み、プロシージャ３５４を発行する。このプロシージャにより、テーブルが変更され（３５６）、これを契機に発行されるトリガによりさらにテーブルが更新される（３５７）。
【００４１】
図７は本発明におけるプロシージャ、トリガを利用した際の、ネットワークトラフィックの減少効果を対比的に示したものである。
【００４２】
図７において、４１１はネットワークを介したデータの流れ、４１２はテーブルの更新情報、４１３はテーブルの更新情報、４２１はネットワークを介したデータの流れ、４２２はテーブル更新を行う複製先プロシージャ、４２３はテーブル更新を行う複製元プロシージャ、４３１はネットワークを介したデータの流れ、４３２は或るテーブルの更新に従い起動される複製元トリガ、４３３は或るテーブルの更新に従い起動される複製先トリガ、をそれぞれ表わす。
【００４３】
図７の（１）は従来のデータ転送方式を用いたテーブル間の複製方式を模式的に示したものである。４１２は各テーブルを更新した際のトレース情報を格納するテーブルであり、このデータがネットワーク上を転送される（４１１）。この転送されたデータは複製先のトレース情報４１３として、複製先データを更新する。
【００４４】
このように、従来の技術では、テーブルに変更がかかると、これと同じ量のトレース情報を転送する必要がある。これに対して、図７の（２）は、本発明の実施形態を示すものであり、各テーブルへの処理作業を４２２のプロシージャに行わせ、このプロシージャの情報をトレース情報として転送する（４２１）。転送先では転送元と同様の動きを行うプロシージャ４２３が起動される。このため、従来の技術に比べ、ネットワークの負荷を飛躍的に減少させることができる。
【００４５】
また、図７の（３）は、本発明の他の実施形態を示しており、所定のテーブルの更新に伴い、起動されるトリガ４３２を使用する。転送されたプロシージャにより、複製先サーバでも、このプロシージャが起動されることにより、トリガ４３２と同様の処理を行うトリガ４３３が起動され、複製元と複製先のデータの整合性が保たれる。このような処理を行うことにより、転送するデータ４３１はさらに少なくなる。
【００４６】
図８、図９は、複製元から複製先へデータの転送を行う際の、トレース情報テーブルの内容をプロシージャ名や変更する項目名等でトレースする場合と、これをＩＤ化してトレースする場合の比較を示している。これまで示してきた本発明の更なる発展的な実施形態を示す図である。図８ではトレースを行う際に、ＩＤ化を行わず、プロシージャの名称（例として、ｐｒｃ  ｉｎｓｅｒｔ  ｏｂｊｅｃｔ）や項目（例として、オブジェクト情報）をそのままの形で送付するものである。
【００４７】
この方式では、複製先のサーバでは、このトレース情報を使用し、このままの形でプロシージャをコールできるというメリットはあるが、人の目に認識しやすい長いプロシージャ名を作成した場合などには、大量のデータを送付する必要が出てくる。
【００４８】
そのため、これをＩＤ化し、転送データ量をさらに減少させたトレーステーブルが、図９の（３）である。これらＩＤは、複製元および複製先で同様の対応表（図９の（１）、（２）に示す対応表）を持つことにより実現される。転送されたＩＤのトレース情報は、これら対応表を使用することにより、複製元サーバで行われた処理を正確に複製先サーバへ伝えることができる。
【００４９】
以上説明したように、トリガおよびプロシージャは複製元サーバ並びに複製先サーバの各データベースに格納しておく。これらのプロシージャとトリガは、複製元においてはクライアントからの命令により実行され、複製先サーバのデータベースにおいてはトレース情報を基にして使用される。
【００５０】
また、前記プロシージャにＩＤを持たせることも可能である。更に、前記トレース情報を複製元と複製先サーバの各データベースが保持して、別の複製先サーバに対する更新を行う際には、このトレース情報のみを転送する。そして、複製先サーバは受信したトレース情報に格納されているプロシージャのＩＤから、複製元サーバで呼ばれたプロシージャと同じプロシージャを作動させることにより、メインテーブルに対して更新を実行する。さらにメインテーブルの更新に伴い、自動的にトリガが呼び出されることにより、このサーバ内の全てのテーブルへのデータ更新が可能となる。即ち、テーブル一つ分のプロシージャのトレース情報で、複数のテーブルの更新処理を行えることができる。
【００５１】
この結果、各サーバ間のデータの複製は、各データベースのメインのテーブルに対するプロシージャＩＤのトレース情報のみを転送することにより実現できる。これにより、ネットワーク負荷は極限まで減少させることが可能となる。
【００５２】
【発明の効果】
本発明によれば、複数のサーバ上に構築されたデータベースにおいて、自分に最も近いサーバのデータに接続して、参照、更新を行った場合に、別サーバのデータにアクセスを行わなくともすべてのデータベースにその結果を反映することができる。しかもその際、データベース間の整合性をとるために必要なデータベース間の交信を回数、データ量ともに大幅に削減できるため、ネットワーク負荷の軽減が図れる。
【００５３】
そのため、短い間隔でのデータ更新が可能となる他、ＷＡＮ等の比較的転送速度の低い手段でも利用できるため遠隔地間を結ぶシステムにおいてもデータの整合性を取ることができる。
【００５４】
また、プロシージャのトレース情報をＩＤとし、これを送付すると、プロシージャの名前である大きなバイナリのデータを送付せずに、小さなビット化されたデータを送付することができるため、さらに送付するデータ量を小さくすることができる。
【００５５】
さらに、複数のテーブルにまたがる処理のうち、あるテーブルの処理を行うことにより、別のテーブルを処理することのできるトリガを用いることによって、トレースを行う必要のあるプロシージャをさらに少なくすることができ、転送するデータ量はさらに小さくなる。
【００５６】
これら、本発明の処理を利用することにより、各遠隔地に存在するサーバ間のデータは、従来の技術をもちいるころに比べ、非常に高速で、かつ経済的なコストを最小限におさえ、確実なデータの整合性が保たれる。そのため、各サーバに接続するクライアントからは非常に応答性の良い最新データに対するアクセスが実現される。
【図面の簡単な説明】
【図１】複製サーバと、トレーステーブルを用いたデータの処理の構成図である。
【図２】複製サーバと、トレーステーブルおよびトリガを用いたデータの処理の構成図である。
【図３】複製元サーバ内部での処理の構成図である。
【図４】複製元サーバ内部での処理の流れ図である。
【図５】複製先サーバ内部での処理の構成図である。
【図６】複製先サーバ内部での処理の流れ図である。
【図７】本発明の効果を示すプロシージャおよびトリガを使用したデータ転送量の変化を示す図である。
【図８】プロシージャを使用したトレース情報を示す図である。
【図９】ＩＤを使用したトレース情報を示す図である。
【符号の説明】
１０１  複製元サーバに接続されるクライアント
１０３  テーブル更新プロシージャ
１０４  複製元トレース情報格納テーブル
１０５  複製元サーバ
１０６  複製元データベース
１０７  複製元データテーブル
１０９  複製先トレース情報格納テーブル
１１０  テーブル更新プロシージャ
１１１  複製先データテーブル
１１２  複製先データベース
１１３  複製先サーバ
１２０  複製元トリガ
１２１  複製元トリガによって変更されるデータテーブル
１２２  複製先トリガ
１２３  複製先トリガによって変更されるデータテーブル
２１２  プロシージャによって更新されるテーブルの主キー項目
２１３  プロシージャによって更新されるテーブルの別テーブル更新の情報を持つデータ項目
２１４  プロシージャによって更新されるテーブルのユニークなデータ項目
２１５  プロシージャによって変更された行
２２２  トリガによって更新されるテーブルの主キー項目
２２３  トリガによって更新されるテーブルの別テーブル更新の情報を持つデータ項目
２２４  トリガによって更新されるテーブルのユニークなデータ項目
２２５  トリガによって挿入された行
２３２  処理されたプロシージャのＩＤを格納する項目
２３３  更新対象となるテーブルの主キーであるデータを格納する項目
２３４  更新対象となるテーブルの主キーに対する実データを格納する項目
２３５  プロシージャによって挿入された情報をトレースした行
２４６  トレース情報を格納する処理
３１２  処理されたプロシージャのＩＤを格納する項目
３１３  更新対象となるテーブルの主キーであるデータを格納する項目
３１４  更新対象となるテーブルの主キーに対する実データを格納する項目
３１５  プロシージャによって挿入された行のトレース情報
３２２  プロシージャによって更新されるテーブルの主キー項目
３２３  プロシージャによって更新されるテーブルの別テーブル更新の情報を持つデータ項目
３２４  プロシージャによって更新されるテーブルのユニークなデータ項目
３２５  プロシージャによって挿入された行
３３２  トリガによって更新されるテーブルの主キー項目
３３３  トリガによって更新されるテーブルの別テーブル更新の情報を持つデータ項目
３３４  トリガによって更新されるテーブルのユニークなデータ項目
３３５  トリガによって挿入された行
【図１】
0003623069.tif 000002
【図２】
0003623069.tif 000003
【図３】
0003623069.tif 000004
【図４】
0003623069.tif 000005
【図５】
0003623069.tif 000006
【図６】
0003623069.tif 000007
【図７】
0003623069.tif 000008
【図８】
0003623069.tif 000009
【図９】
0003623069.tif 000010