(57)【特許請求の範囲】
【請求項１】
マスタ主表およびマスタ従表が定義され前記マスタ主表と前記マスタ従表との間に主従関係が定義されたマスタリレーショナルデータベースならびに該マスタリレーショナルデータベースを管理するマスタＲＤＢＭＳを有するマスタサーバと、コピー主表およびコピー従表が定義されたスレーブリレーショナルデータベースならびに該スレーブリレーショナルデータベースを管理するスレーブＲＤＢＭＳを有するスレーブサーバとが、回線を介して接続されてなる分散データベースシステムにおいて、
ダミー主表がさらに定義されるとともに該ダミー主表と前記コピー従表との間に主従関係が定義された前記スレーブリレーショナルデータベースと、
前記マスタサーバに設けられ、前記マスタＲＤＢＭＳにより前記マスタリレーショナルデータベースの前記マスタ主表が更新されたときに更新ログ情報が蓄積される更新ログファイルと、
前記マスタサーバに設けられ、前記更新ログファイルが更新されたか否かを定期的に監視するログ監視手段と、
前記ログ監視手段により前記更新ログファイルの更新が検出された場合に前記更新ログファイルの最新の更新ログ情報をもとに前記スレーブリレーショナルデータベース内の前記ダミー主表に対して更新内容の反映を行う更新反映処理手段と
を有することを特徴とする分散データベースシステムにおける主従関係情報同期方式。
【請求項２】
前記マスタ主表と前記マスタ従表とが正規化されているとともに、前記コピー主表と前記コピー従表とが正規化されている請求項１記載の分散データベースシステムにおける主従関係情報同期方式。
【請求項３】
１台の前記マスタサーバに対して複数台の前記スレーブサーバが接続されてなる請求項１または２記載の分散データベースシステムにおける主従関係情報同期方式。
【請求項４】
前記マスタＲＤＢＭＳが、前記マスタ従表の更新処理が要求された場合に、更新処理が正しいかどうかの妥当性チェックおよび表の参照整合性制約に違反していないかどうかのチェックを行って正常であれば前記マスタ従表の更新処理を行うとともに前記スレーブＲＤＢＭＳに対して更新されたことを通知し、前記スレーブＲＤＢＭＳから前記コピー主表および前記コピー従表に対し更新処理が行われたことを通知された場合に前記マスタ主表および前記マスタ従表に対して同等の更新処理を行う請求項１または２記載の分散データベースシステムにおける主従関係情報同期方式。
【請求項５】
前記スレーブＲＤＢＭＳが、前記コピー従表の更新処理が要求された場合に、更新処理が正しいかどうかの妥当性チェックおよび表の参照整合性制約に違反していないかどうかのチェックを行って正常であれば前記コピー従表の更新処理を行うとともに前記マスタＲＤＢＭＳに対して更新されたことを通知し、前記マスタＲＤＢＭＳから前記マスタ主表および前記マスタ従表に対し更新処理が行われたことを通知された場合に前記コピー主表および前記コピー従表に対して同等の更新処理を行う請求項１または２記載の分散データベースシステムにおける主従関係情報同期方式。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は分散データベースシステムにおける主従関係情報同期方式に関し、特に主表（参照表または親表ともいう）と従表（主表の一部のデータ項目を参照することによって関係付けられた表であり、依存表または子表ともいう）との主従関係をもつ複数のサーバからなる分散データベースシステムにおける主従関係情報同期方式に関する。ここで、表の主従関係とは、従表が主表の主キー（表内で一意となるデータ項目をいう）に対して外部キー（主キーを参照する参照整合性制約の定義に含まれている列または列の集合をいう）を作成することにより、主表のレコードと従表のレコードとの間に付けられた関係をいう。
【０００２】
【従来の技術】
従来の分散データベースシステムは、たとえば、主表（以下、マスタ主表という）および従表（以下、マスタ従表という）が定義され、マスタ主表とマスタ従表との間に主従関係が定義されたリレーショナルデータベース（以下、マスタリレーショナルデータベースという）ならびにこのマスタリレーショナルデータベースを管理するＲＤＢＭＳ（以下、マスタＲＤＢＭＳという）を有するサーバ（以下、マスタサーバという）と、主表（以下、コピー主表という）および従表（以下、コピー従表という）が定義されたリレーショナルデータベース（以下、スレーブリレーショナルデータベースという）ならびにこのスレーブリレーショナルデータベースを管理するＲＤＢＭＳ（以下、スレーブＲＤＢＭＳという）を有するサーバ（以下、スレーブサーバという）とが、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の回線を介して接続されて構成されていた。
【０００３】
このような従来の分散データベースシステムでは、スレーブサーバにおいて、コピー主表とコピー従表との主従関係の定義が行えない（コピー主表に主キーの定義が行えない）ために、データのレコード内に主従関係の情報を持つなどしてアプリケーションプログラム側でデータの整合性を保証しなければならなかった。すなわち、主従関係をレコード内に情報として持っていたので、アプリケーションプログラム側でデータの整合性を保つための処理をしなければならず、マスタサーバとスレーブサーバとで環境の違いを意識した異なる更新処理を作成しなければならなかった。
【０００４】
【発明が解決しようとする課題】
第１の問題点は、更新されたデータについて主従関係を保ちつつ効率的な同期をとることが難しいということである。その理由は、アプリケーションプログラム側で主表および従表の内容の同期をとる処理とは別に主従関係を関係付ける処理が必要であったからである。
【０００５】
第２の問題点は、主表に対する従表を新規に追加する場合に、従表の定義を行う（マスタサーバ，スレーブサーバ）とともにデータの更新，アプリケーションプログラム側での整合性の保証の実装（サーバのみ）が必要であるということである。その理由は、アプリケーションプログラム側でデータの整合性を保つための処理をしなければならなかったからである。
【０００６】
ところで、リレーショナルデータベースの表は、共通の列で関連付けることができるため、列の関連を管理する規則を守らなければならないが、これらの関連が保たれることを保証する機能として、リレーショナルデータベースマネージメントシステム（以下、ＲＤＢＭＳと略記する）の参照整合性制約がある。この参照整合性制約を利用することにより、スレーブサーバにおいてダミーの主表（以下、ダミー主表という）の定義を行い、ダミー主表とコピー従表との間で主従関係の定義を行うことにより、データの整合性を保証することが考えられる。
【０００７】
しかし、スレーブサーバにおいてダミー主表の定義を行い、ダミー主表とコピー従表との間で主従関係の定義を行うことにより、データの整合性を参照整合性制約で保証するようにする場合、さらにマスタ主表とダミー主表とのデータの整合性をどのように図るのかを考慮しなければならない。
【０００８】
本発明の目的は、主表と従表との主従関係をもつ複数のサーバからなる分散データベースシステムにおいて、参照整合性制約を利用することにより、更新されたデータについて主従関係を保ちつつ効率的な同期をとることができるようにした分散データベースシステムにおける主従関係情報同期方式を提供することにある。
【０００９】
なお、先行技術文献として、たとえば特開平５−１３５１１３号公報があるが、この公報に開示された重複データ管理システムでは、クライアントに導出先管理表および導出元管理表を設け、利用者からのデータベース操作言語要求に応答して、管理表制御手段が導出先管理表および導出元管理表を検索し、アクセス対象のデータが重複データとして管理されているか否かを調べて、重複データの管理制御を行っていた。したがって、この重複データ管理システムは、マスタリレーショナルデータベースとスレーブリレーショナルデータベースとで同一データを重複して保持することを前提とする本願発明とは、その目的，構成および効果が全く異なるものである。
【００１０】
【課題を解決するための手段】
本発明の分散データベースシステムにおける主従関係情報同期方式は、マスタ主表およびマスタ従表が定義され前記マスタ主表と前記マスタ従表との間に主従関係が定義されたマスタリレーショナルデータベースならびに該マスタリレーショナルデータベースを管理するマスタＲＤＢＭＳを有するマスタサーバと、コピー主表およびコピー従表が定義されたスレーブリレーショナルデータベースならびに該スレーブリレーショナルデータベースを管理するスレーブＲＤＢＭＳを有するスレーブサーバとが、回線を介して接続されてなる分散データベースシステムにおいて、ダミー主表がさらに定義されるとともに該ダミー主表と前記コピー従表との間に主従関係が定義された前記スレーブリレーショナルデータベースと、前記マスタサーバに設けられ、前記マスタＲＤＢＭＳにより前記マスタリレーショナルデータベースの前記マスタ主表が更新されたときに更新ログ情報が蓄積される更新ログファイルと、前記マスタサーバに設けられ、前記更新ログファイルが更新されたか否かを定期的に監視するログ監視手段と、前記ログ監視手段により前記更新ログファイルの更新が検出された場合に前記更新ログファイルの最新の更新ログ情報をもとに前記スレーブリレーショナルデータベース内の前記ダミー主表に対して更新内容の反映を行う更新反映処理手段とを有することを特徴とする。
【００１１】
一方、本発明の機械読み取り可能な記録媒体は、コンピュータを、マスタ主表およびマスタ従表が定義され前記マスタ主表と前記マスタ従表との間に主従関係が定義されたマスタリレーショナルデータベース，該マスタリレーショナルデータベースを管理するマスタＲＤＢＭＳ，前記マスタＲＤＢＭＳにより前記マスタリレーショナルデータベースの前記マスタ主表が更新されたときに更新ログ情報が蓄積される更新ログファイル，前記更新ログファイルが更新されたか否かを定期的に監視するログ監視手段，および前記ログ監視手段により前記更新ログファイルの更新が検出された場合に前記更新ログファイルの最新の更新ログ情報をもとにスレーブリレーショナルデータベース内のダミー主表に対して更新内容の反映を行う更新反映処理手段として機能させるためのプログラムを記録する。
【００１２】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００１３】
図１は、本発明の第１の実施の形態に係る主従関係情報同期方式が適用された分散データベースシステムの構成を示すブロック図である。この分散データベースシステムは、マスタのサーバマシンであるマスタサーバ１と、スレーブのサーバマシンであるスレーブサーバ７と、クライアントマシンであるクライアント１０とが、ＬＡＮを介して接続されて構成されている。
【００１４】
マスタサーバ１は、マスタＲＤＢＭＳ２と、マスタリレーショナルデータベース３と、更新ログファイル４と、ログ監視手段５と、更新反映処理手段６とを含んで構成されている。
【００１５】
マスタリレーショナルデータベース３は、データを格納したマスタ主表３１およびマスタ従表３２を備える。マスタ主表３１とマスタ従表３２との間には、表の主従関係が定義されている。
【００１６】
ここで、マスタ主表３１とマスタ従表３２とが別々の表となっているのは、表の正規化を行っているためである。正規化とは、データの冗長性を排除して、データの一貫性および整合性をもった理解しやすいデータの構造にする手法である。正規化を行うと、主キーの部分だけは重複するが、その他のデータ項目については重複を省くことが可能となり、データ更新時の処理が簡単になる。なお、主キーおよび外部キーは、ともに表の正規化を行った際に表の列自体に設定を行うものである。
【００１７】
マスタＲＤＢＭＳ２は、マスタ主表３１およびマスタ従表３２への更新処理が要求された場合に、更新処理（ＳＱＬ）が正しいかどうかの妥当性チェックや表の参照整合性制約に違反していないかどうかなどのチェックを行ったり、スレーブＲＤＢＭＳ８に対して更新されたことを通知したりするリレーショナルデータベース管理システムである。また、マスタＲＤＢＭＳ２は、スレーブＲＤＢＭＳ８からコピー主表９１およびコピー従表９２に対し更新処理が行われたことが通知された場合、マスタ主表３１およびマスタ従表３２に対して同等の更新処理を行う。
【００１８】
更新ログファイル４は、マスタリレーショナルデータベース３においてマスタ主表３１が更新された場合に、更新ログ情報を蓄積するファイルである。更新ログファイル４には、マスタ主表３１の更新内容が更新ログ情報として格納される。
【００１９】
ログ監視手段５は、マスタリレーショナルデータベース３内のマスタ主表３１が更新された際にマスタＲＤＢＭＳ２から出力される更新ログ情報により更新ログファイル４が更新されているか否かを定期的に監視し、更新されたことを検知した場合は、更新反映処理手段６の呼び出しを行うアプリケーションプログラム手段である。
【００２０】
更新反映処理手段６は、ログ監視手段５から呼び出されたときに、更新ログファイル４の最新の更新ログ情報をもとにスレーブサーバ７のスレーブリレーショナルデータベース９内のダミー主表９３に対し更新内容の反映を行うアプリケーションプログラム手段である。
【００２１】
スレーブサーバ７は、スレーブＲＤＢＭＳ８と、スレーブリレーショナルデータベース９とを備える。
【００２２】
スレーブリレーショナルデータベース９は、マスタ主表３１のコピーであるコピー主表９１と、マスタ従表３２のコピーであるコピー従表９２と、マスタ主表３１と同じ内容のデータを持つダミー主表９３とをもつ。
【００２３】
ダミー主表９３は、コピー主表９１とは異なる名称で定義された表である。
【００２４】
コピー主表９１およびコピー従表９２は、マスタＲＤＢＭＳ２内のマスタリレーショナルデータベース３に定義されたマスタ主表３１およびマスタ従表３２とまったく同じデータをもち、更新時には、マスタＲＤＢＭＳ２およびスレーブＲＤＢＭＳ８の参照整合性制約により同期的に更新される。
【００２５】
しかし、コピー主表９１とコピー従表９２との間には、主従関係は定義されていない。マスタ主表３１およびマスタ従表３２と内容が一致しているにもかかわらず、コピー主表９１とコピー従表９２との間に主従関係が定義されていないのは、分散データベースシステムにおいては、コピー主表９１に対して主キーの設定を行うことができないため、コピー主表９１とコピー従表９２との主従関係を定義することができないからである。
【００２６】
このため、本実施の形態では、ダミー主表９３とコピー従表９２との間に主従関係が定義されている。すなわち、スレーブリレーショナルデータベース９内にあるコピー主表９１とコピー従表９２との主従関係を定義するために、コピー主表９１と同じ内容のデータを持つ表を別名のダミー主表９３として定義してコピー従表９２との間で主従関係を定義する。このように、ダミー主表９３の作成を行い、コピー従表９２との間に主従関係を定義するのは、この主従関係を、以下に示す３点を実現するために利用するためである。
【００２７】
１）  データの整合性を保つ手段としてマスタＲＤＢＭＳ２およびスレーブＲＤＢＭＳ８の参照整合性制約を利用するため。
【００２８】
２）  マスタリレーショナルデータベース３およびスレーブリレーショナルデータベース９内のマスタ主表３１およびマスタ従表３２ならびにコピー主表９１およびコピー従表９２に対するデータの更新処理において、マスタサーバ１，スレーブサーバ７といった環境の違いを意識しないようにするため。
【００２９】
３）  １），２）と同じことではあるが、マスタ主表３１およびコピー主表９１に対するマスタ従表３２およびコピー従表９２を新規に追加する場合にも従表の定義のみとし、データの整合性を保つのはマスタＲＤＢＭＳ２およびスレーブＲＤＢＭＳ８の参照整合性制約を利用し、データ更新処理の環境の違いを意識しないようにするため。
【００３０】
スレーブＲＤＢＭＳ８は、コピー主表９１およびコピー従表９２への更新処理が要求された場合に、更新処理（ＳＱＬ）が正しいかどうかの妥当性チェックや表の参照整合性制約に違反していないかどうかなどのチェックを行ったり、マスタＲＤＢＭＳ２に対し更新されたことを通知したりするリレーショナルデータベース管理システムである。また、スレーブＲＤＢＭＳ８は、マスタＲＤＢＭＳ２からマスタ主表３１およびマスタ従表３２に対し更新処理が行われたことを通知された場合、コピー主表９１およびコピー従表９２に対して同等の更新処理を行う。
【００３１】
クライアントマシン１０は、更新処理手段１１を有する。
【００３２】
更新処理手段１１は、ＬＡＮ経由でマスタサーバ１のマスタリレーショナルデータベース３内のマスタ主表３１およびマスタ従表３２の更新処理、あるいはスレーブサーバ７のスレーブリレーショナルデータベース９内のコピー主表９１およびコピー従表９２に対して更新処理を行うアプリケーションプログラム手段である。ここでの更新処理とは、表に対するデータの挿入（Ｉｎｓｅｒｔ），表内のデータの更新（Ｕｐｄａｔｅ），および表内のデータの削除（Ｄｅｌｅｔｅ）を表す。
【００３３】
図２を参照すると、第１の実施の形態に係る分散データベースシステムにおける主従関係情報同期方式の処理は、更新ログ情報出力ステップＡ１と、更新ログファイル更新判定ステップＡ２と、更新反映処理手段呼び出しステップＡ３と、ダミー主表更新ステップＡ４とからなる。
【００３４】
図３は、マスタリレーショナルデータベース３，スレーブリレーショナルデータベース９および更新ログファイル４の内容を例示する図である。
【００３５】
次に、第１の実施の形態に係る分散データベースシステムにおける主従関係情報同期方式の動作について、図１ないし図３を用いて説明する。
【００３６】
図３に示すように、例えば、マスタ主表３１およびマスタ従表３２に「コード０００２」のデータが追加された場合、マスタＲＤＢＭＳ２によりマスタ主表３１の更新ログ情報が更新ログファイル４に書き出される（ステップＡ１）。
【００３７】
ログ監視手段５は、更新ログファイル４が更新されているか否かの監視を定期的に行っており、更新ログファイル４が更新されていることを検出すると（ステップＡ２）、更新反映処理手段６の呼び出しを行う（ステップＡ３）。
【００３８】
更新反映処理手段６は、更新ログファイル４の最新の更新ログ情報を元に「コード０００２」のデータをダミー主表９３に追加する（ステップＡ４）。
【００３９】
続いて、第１の実施の形態に係る分散データベースシステムにおける主従関係情報同期方式の動作について、図４ないし図７を参照しながらより詳細に説明する。
【００４０】
（１）  クライアント１０からマスタサーバ１のマスタ主表３１の更新処理を行った場合（図４参照）
【００４１】
丸付き数字１  更新処理手段１１からマスタ主表３１へのデータの更新処理(ＳＱＬ；たとえばｉｎｓｅｒｔ）をマスタＲＤＢＭＳ２に対し要求する。
【００４２】
丸付き数字１'  マスタＲＤＢＭＳ２は、更新処理（ＳＱＬ）の妥当性チェックを行い、要求された更新処理（ＳＱＬ）に誤りがあった場合、更新処理手段１１にエラーを返却する。
【００４３】
丸付き数字２ マスタＲＤＢＭＳ２は、更新処理（ＳＱＬ）の妥当性チェックを行い、要求された更新処理（ＳＱＬ）が正常であれば、マスタ主表３１に対しデータを登録する。
【００４４】
丸付き数字３ マスタＲＤＢＭＳ２は、丸付き数字２で更新された内容を更新ログ情報として更新ログファイル４に書き出す（ステップＡ１）。
【００４５】
丸付き数字４ マスタＲＤＢＭＳ２は、更新された内容をスレーブＲＤＢＭＳ８に通知する。
【００４６】
丸付き数字５ スレーブＲＤＢＭＳ８は、コピー主表９１に対し更新処理（ｉｎｓｅｒｔ）を実行する。
【００４７】
丸付き数字６  ログ監視手段５は、定期的に監視を行っていた更新ログファイル４が更新されたことを検知する（ステップＡ２）。
【００４８】
丸付き数字７  ログ監視手段５は、更新反映処理手段６を呼び出す（ステップＡ３）。
【００４９】
丸付き数字８  更新反映処理手段６は、更新ログファイル４から最新の更新ログ情報を取得する。
【００５０】
丸付き数字９  更新反映処理手段６は、取得した最新の更新ログ情報を用いてダミー主表９３に対し更新処理を行う（ステップＡ４）。
【００５１】
（２）  クライアント１０からスレーブサーバ７のコピー主表９１の更新処理を行った場合（図５参照）
【００５２】
丸付き数字１  更新処理手段１１は、コピー主表９１へのデータの更新処理（ＳＱＬ；たとえばｉｎｓｅｒｔ）をスレーブＲＤＢＭＳ８に対し要求する。
【００５３】
丸付き数字１'  スレーブＲＤＢＭＳ８は、更新処理（ＳＱＬ）の妥当性チェックを行い、要求された更新処理（ＳＱＬ）に誤りがあった場合、更新処理手段１１にエラーを返却する。
【００５４】
丸付き数字２ スレーブＲＤＢＭＳ８は、更新処理（ＳＱＬ）の妥当性チェックを行い、要求された更新処理（ＳＱＬ）が正常であれば、コピー主表９１に対しデータを登録する。
【００５５】
丸付き数字３ スレーブＲＤＢＭＳ８は、マスタＲＤＢＭＳ２に更新された内容を通知する。
【００５６】
丸付き数字４ マスタＲＤＢＭＳ２は、マスタ主表３１に対し更新処理（ｉｎｓｅｒｔ）を実行する。
【００５７】
丸付き数字５ マスタＲＤＢＭＳ２は、丸付き数字２で更新された内容を更新ログ情報として更新ログファイル４に書き出す（ステップＡ１）。
【００５８】
丸付き数字６  ログ監視手段５は、定期的に監視を行っていた更新ログファイル４が更新されたことを検知する（ステップＡ２）。
【００５９】
丸付き数字７  ログ監視手段５は、更新反映処理手段６を呼び出す（ステップＡ３）。
【００６０】
丸付き数字８  更新反映処理手段６は、更新ログファイル４から最新の更新ログ情報を取得する。
【００６１】
丸付き数字９  更新反映処理手段６は、取得した最新の更新ログ情報を用いてダミー主表９３に対し更新処理を行う（ステップＡ４）。
【００６２】
（３）  クライアント１０からマスタサーバ１のマスタ従表３２に更新処理を行った場合（図６参照）
【００６３】
丸付き数字１  更新処理手段１１は、マスタ従表３２へのデータの更新処理（ＳＱＬ；たとえばｉｎｓｅｒｔ）をマスタＲＤＢＭＳ２に対し要求する。
【００６４】
丸付き数字１'  マスタＲＤＢＭＳ２は、要求された更新処理（ＳＱＬ）の妥当性チェックおよび参照整合性制約のチェックを行い、更新処理（ＳＱＬ）に誤りがあった場合や参照整合性制約に違反していた場合、更新処理手段１１にエラーを返却する。
【００６５】
丸付き数字２ マスタＲＤＢＭＳ２は、要求された更新処理（ＳＱＬ）の妥当性チェックおよび参照整合性制約のチェックを行い、正常であればマスタ従表３２に対しデータを登録する。
【００６６】
丸付き数字３ マスタＲＤＢＭＳ２は、スレーブＲＤＢＭＳ８に更新された内容を通知する。
【００６７】
丸付き数字４ スレーブＲＤＢＭＳ８は、コピー従表９２に対し更新処理（ｉｎｓｅｒｔ）を実行する。
【００６８】
（４）  クライアント１０からスレーブサーバ７のコピー従表９２に更新処理を行った場合（図７参照）
【００６９】
丸付き数字１  更新処理手段１１は、コピー従表９２へのデータの更新処理(ｉｎｓｅｒｔ）をスレーブＲＤＢＭＳ８に対し要求する。
【００７０】
丸付き数字１'  スレーブＲＤＢＭＳ８は、要求された更新処理（ＳＱＬ）の妥当性チェックおよび参照整合性制約のチェックを行い、更新処理（ＳＱＬ）に誤りがあった場合および参照整合性制約に違反していた場合、更新処理手段１１にエラーを返却する。
【００７１】
丸付き数字２ スレーブＲＤＢＭＳ８は、要求された更新処理（ＳＱＬ）の妥当性チェックおよび参照整合性制約のチェックを行い、正常であればコピー従表９２に対しデータを登録する。
【００７２】
丸付き数字３ スレーブＲＤＢＭＳ８は、マスタＲＤＢＭＳ２に更新された内容を通知する。
【００７３】
丸付き数字４ マスタＲＤＢＭＳ２は、マスタ従表３２に対し更新処理（ｉｎｓｅｒｔ）を実行する。
【００７４】
なお、本実施の形態では、マスタサーバ１およびスレーブサーバ７の２台のサーバを用いる場合を例にとって説明したが、スレーブサーバ７の数は複数台であってもよい。
【００７５】
また、スレーブサーバ７側にも更新ログファイル４，ログ監視手段５および更新反映処理手段６を設けるようにすれば、マスタサーバ１とスレーブサーバ７との役割を相互に交換可能とすることができる。
【００７６】
次に、本発明の第２の実施の形態について説明する。
【００７７】
図８は、本発明の第２の実施の形態に係る主従関係情報同期方式が適用された分散データベースシステムの構成を示すブロック図である。
【００７８】
図８を参照すると、本発明の第２の実施の形態は、マスタサーバ１にマスタサーバ側プログラムを記録する記録媒体１００を備える構成となっている。この記録媒体１００は、磁気ディスク，半導体メモリ，その他の記録媒体であってよい。
【００７９】
マスタサーバ側プログラムは、記録媒体１００からマスタサーバ１に読み込まれ、マスタＲＤＢＭＳ２，更新ログファイル４，ログ監視手段５，および更新反映処理手段６として動作する。したがって、マスタサーバ１の動作は、図１ないし図７で説明した第１の実施の形態に係る主従関係情報同期方式が適用された分散データベースシステムにおけるマスタサーバ１の動作と全く同様になるので、その詳しい説明を割愛する。
【００８０】
【発明の効果】
本発明の効果は、マスタサーバのマスタ主表の更新処理を行うだけで、分散されたスレーブサーバにも内容および表の主従関係を保ちつつ更新処理を行うことができ、この結果、サーバ毎に同様の内容のデータを更新する処理が不要となることである。その理由は、ログ監視手段によりマスタ主表の更新ログ情報の監視を行い、更新が行われた場合のみ分散されたスレーブサーバのダミー主表に対して更新内容の反映を行うようにしたためである。
【００８１】
また、主表に対する従表を新規に追加する場合には、従来は、従表の定義を行う（マスタサーバ，スレーブサーバ）とともにデータの更新，アプリケーションプログラム側での整合性の保証の実装（サーバのみ）が必要であったが、本願発明では、従表の定義（マスタサーバ，スレーブサーバ）とダミー主表に対する外部キーの設定（主従関係を結ぶ）とを行うだけでよいため、従表の追加が容易に行えるという利点がある。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係る分散データベースシステムにおける主従関係情報同期方式の構成を示すブロック図である。
【図２】本実施の形態に係る分散データベースシステムにおける主従関係情報同期方式の動作を示すフローチャートである。
【図３】図１中のマスタリレーショナルデータベース，スレーブリレーショナルデータベースおよび更新ログファイルの内容を例示する図である。
【図４】図１中のクライアントからマスタサーバのマスタ主表に更新処理を行った場合の動作説明図である。
【図５】図１中のクライアントからスレーブサーバのコピー主表に更新処理を行った場合の動作説明図である。
【図６】図１中のクライアントからマスタサーバのマスタ従表に更新処理を行った場合の動作説明図である。
【図７】図１中のクライアントからスレーブサーバのコピー従表に更新処理を行った場合の動作説明図である。
【図８】本発明の第２の実施の形態に係る分散データベースシステムにおける主従関係情報同期方式の構成を示すブロック図である。
【符号の説明】
１  マスタサーバ
２  マスタＲＤＢＭＳ
３  マスタリレーショナルデータベース
４  更新ログファイル
５  ログ監視手段
６  更新反映処理手段
７  スレーブサーバ
８  スレーブＲＤＢＭＳ
９  マスタリレーショナルデータベース
３１  マスタ主表
３２  マスタ従表
９１  コピー主表
９２  コピー従表
９３  ダミー主表
１００  記録媒体
【図１】
0003612449.tif 000002
【図２】
0003612449.tif 000003
【図３】
0003612449.tif 000004
【図４】
0003612449.tif 000005
【図５】
0003612449.tif 000006
【図６】
0003612449.tif 000007
【図７】
0003612449.tif 000008
【図８】
0003612449.tif 000009