(57)【特許請求の範囲】
【請求項１】
更新が行なわれるマスタデータベースと、
前記マスタデータベースの複製を格納するレプリカと、
前記レプリカ上の前記マスタデータベースの更新データに関して、特定のデータベーステーブル、優先テーブル項目及び優先キーのいずれか一つを更新する優先順位であって、高い優先順位を持つ特定の更新データを、低い優先順位を有する更新データよりも前に更新するように予め決められた優先順位を示す優先順位情報を保持する優先順位情報記憶部と、
高い優先順位の更新データが低い優先順位の更新データよりも早く抽出されるように、前記優先順位情報に従って、前記更新データを読んで、前記更新データを抽出する振分部と、
前記抽出された更新データで前記レプリカを更新する管理部とを備えたことを特徴とするデータベースシステム。
【請求項２】
更新が行なわれるマスタデータベースと、
前記マスタデータベースの複製を格納するレプリカと、
前記マスタデータベースの更新データを前記レプリカに反映させるときに適用すべき前記マスタデータベースの優先テーブル項目を更新する優先順位であって、高い優先順位を持つ特定の更新データを、低い優先順位を有する更新データよりも前に更新するように予め決められた優先順位を示す優先順位情報を取得する優先順取得部と、
高い優先順位のテーブル項目を有する更新データが低い優先順位のテーブル項目を有する更新データよりも早く抽出されるように、前記優先順位情報に従って、前記更新データを読んで、前記更新データを抽出する振分部と、
前記抽出された更新データで前記レプリカを更新する管理部とを備えたことを特徴とするデータベースシステム。
【請求項３】
複数種のデータを格納するマスタデータベースと、
前記マスタデータベースに対するデータ更新要求に従い前期更新要求の発生順に前記マスタデータベースを更新するマスタデータベース管理部と、
前記マスタデータベースの更新ログを前記マスタデータベースを更新した順序で記憶する更新ログファイルと、
前記更新ログを前記ログファイルから読み出す更新ログ読み取り部と、
前記更新ログ読み取り部で読み取られた更新ログ中の更新データから前記複数種のデータのデータ種別に対して定められた優先順位であって、低い優先順位を持つ更新データよりも前に高い優先順位を持つ特定の更新データを更新する優先順位を指示する前記優先順位に従った順序で前記更新データを抽出するデータ振り分け部と、
前記マスタデータベースに格納されたデータの複製を格納するレプリカと、
前記データ振り分け部によって抽出された更新データを抽出された順序で前記レプリカに書き込むレプリカデータベース管理部を備えたことを特徴とするデータベースシステム。
【請求項４】
更新が行なわれるマスタデータベースと、
前記マスタデータベースの複製を格納するレプリカと、
高い優先順位のテーブル項目を有する更新データが低い優先順位のテーブル項目を有する更新データよりも早く抽出されるように、前記マスタデータベース側にあって、更新すべき前記更新データの前記マスタデータベースの特定のデータベーステーブルを更新する優先順位であって、高い優先順位を持つ特定の更新データを、低い優先順位を有する更新データよりも前に更新するように予め決められた優先順位を指示する記憶された優先順位情報に従って更新データを抽出し前記更新データを通信手段に転送する第1の制御部と、
高い優先順位のテーブル項目を有する更新データが低い優先順位のテーブル項目を有する更新データよりも早く抽出されるように、前記レプリカ側にあって、前記通信手段から転送された更新データを受け付け、更新すべき前記データベースのテーブル項目の記憶された優先順位情報に従って前記更新データを抽出し、前記抽出された順序データに基づいて前記更新データで前記レプリカを更新する第２の制御部を備えたことを特徴とするデータベースシステム。
【請求項５】
更新が行なわれるマスタデータベースと、
前記マスタデータベースの複製を格納するレプリカと、
前記マスタデータベース側にあって更新データを通信手段に転送する第1の制御部と、
高い優先順位のテーブル項目を有する更新データが低い優先順位のテーブル項目を有する更新データよりも早く抽出されるように、前記レプリカ側にあって、前記通信手段から転送された更新データを受け付け、更新すべき前記更新データの前記マスタデータベースの特定のデータベーステーブルを更新する優先順位であって、低い優先順位を持つ更新データよりも前に高い優先順位を持つ特定の更新データを更新する優先順位を指示する、記憶された優先順位情報に従って、前記更新データを抽出し、前記抽出された順序データに基づいて前記更新データで前記レプリカを更新する第２の制御部を備えたことを特徴とするデータベースシステム。
【請求項６】
更新が行なわれるマスタデータベースと、
前記マスタデータベースの複製を格納する複数のレプリカと、
前記マスタデータベース側にあって更新データを選択された順序で転送する第1の制御部と、
高い優先順位の前記キーを有する更新データが低い優先順位の前記キーを有する更新データよりも早く抽出されるように、前記レプリカ側にあって、転送された更新データを受け付け、更新すべき前記更新データの前記データベーステーブルの項目の優先キーを更新する優先順位であって、低い優先順位を持つ更新データよりも前に高い優先順位を持つ特定の更新データを更新する優先順位を指示する、記憶された優先順位情報に従って、前記更新データを抽出し、前記抽出された順序データに基づいて前記更新データで前記レプリカを更新する第２の制御部を備えたことを特徴とするデータベースシステム。
【請求項７】
更新が行なわれるマスタデータベースと、そのレプリカを持つデータベースシステムにおけるレプリカ生成方法であって、
前記マスタデータベースの更新データを前記レプリカに反映させるときに適用すべき前記マスタデータベースの優先テーブル項目の更新の優先順位であって、低い優先順位を持つ更新データよりも前に高い優先順位を持つ特定の更新データを更新する優先順位を指示する優先順位情報を保持し、
前記更新データを読んで、高い優先順位の前記テーブル項目を有する更新データが低い優先順位の前記テーブル項目を有する更新データよりも早く抽出されるように、前記優先順位情報に従って前記更新データを抽出し、
前記抽出された順に前記更新データで前記レプリカを更新することを特徴とするデータベースのレプリカ生成方法。
【請求項８】
更新が行なわれるマスタデータベースと、そのレプリカを持つデータベースシステムにおけるレプリカの生成方法であって、
高い優先順位の前記テーブル項目を有する更新データが低い優先順位の前記テーブル項目を有する更新データよりも早く抽出されるように、前記マスタデータベース側で更新すべき前記マスタデータベースの特定のデータベーステーブルを更新する優先順位であって、低い優先順位を持つ更新データよりも前に高い優先順位を持つ特定の更新データを更新する優先順位を指示する記憶された優先順位情報に従い更新データを抽出し、
前記抽出された更新データを抽出された順序で通信手段に転送し、
前記レプリカ側において前記通信手段から転送された更新データを受け付け、
高い優先順位のキーを有する更新データが低い優先順位のキーを有する更新データよりも早く抽出されるように、更新すべき前記データベーステーブルの項目の優先キーの更新の優先順位を指示する記憶された優先順位情報に従い、前記更新データを抽出し、
これによって前記レプリカを更新することを特徴とするデータベースシステムのレプリカ生成方法。
【請求項９】
更新が行なわれるマスタデータベースと、そのレプリカを持つデータベースシステムにおけるレプリカ生成方法であって、
低い優先順位を持つ更新データよりも前に高い優先順位を持つ特定の更新データを更新する優先順位を指示する優先順位に従って、優先的に前記レプリカに反映させるべき前記マスタデータベースの更新データの前記マスタデータベース内のテーブルの項目の優先キーを記憶し、
前記更新データを読んで、高い優先順位の前記キーを有する更新データが低い優先順位の前記キーを有する更新データよりも早く抽出されるように、前記キーの更新の記憶された優先順位に従い前記更新データを抽出し、
前記抽出された順に更新データで前記レプリカを更新することを特徴とするデータベースのレプリカ生成方法。
【請求項１０】
更新が行なわれるマスタデータベースと、そのレプリカを持つデータベースシステムにおけるレプリカを生成するためのプログラムを記録した記録媒体であって、前記プログラムは、
前記マスタデータベースの更新データを前記レプリカに反映させるときに適用すべき前記マスタデータベースの優先テーブル項目の更新の優先順位であって、低い優先順位を持つ更新データよりも前に高い優先順位を持つ特定の更新データを更新する優先順位を指示する優先順位情報を保持し、
前記更新データを読んで、高い優先順位の前記テーブル項目を有する更新データが低い優先順位の前記テーブル項目を有する更新データよりも早く抽出されるように、前記優先順位情報に従って前記更新データを抽出し、
前記抽出された順に前記更新データで前記レプリカを更新することを特徴とするデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースシステムにおけるデータベースのレプリカの作成に関する。
【０００２】
【従来の技術】
データベースのレプリカとは、シー・ジェー・デイト（Ｃ．Ｊ．Ｄａｔｅ）著、アン  イントロダクション  ツー  データベース  システムズ  ボリューム１フィフス  エディション（Ａｎ  Ｉｎｔｒｏｄｕｃｔｉｏｎ  ｔｏ  Ｄａｔａｂａｓｅ  Ｓｙｓｔｅｍｓ  Ｖｏｌｕｍｅ  Ｉ  Ｆｉｆｔｈ  Ｅｄｉｔｉｏｎ）の第２３章６２４ページおよび６３０ページに記載されているようにマスタデータベースとレプリカの間でデータ内容や管理方法が一致しなければならない複製である。レプリカは、データ処理の業務分散あるいはデータを格納している計算機の障害発生に起因する業務停止の危険を回避するために作成される。マスタデータベースとレプリカの間ではデータの内容が論理的に一致している必要がある。その為には、マスタデータベースに対して行なわれたデータの更新処理を同様にレプリカ側にも行ない、一致した状態を保つ必要がある。このために、行なわれたデータの更新処理を更新処理の発生の順にレプリカ側に反映させるようレプリカ側のデータの更新処理を行なっていた。
【０００３】
図６に従来のレプリカの生成処理フローと、使用する更新情報のデータ内容を示す。レプリカ作成処理が開始されると（４０１）、例えば、ジャーナルや更新ログと呼ばれる蓄積されているマスタデータベースを更新した更新情報を発生順に順次読み込む（４０２）。読み込んだ更新情報をレプリカ側データベースに反映可能な形（データベースを更新する構文やパラメータの形式）に編集して、レプリカ側データベースに反映する（４０３）。更新情報が引き続きあるかどうかを判定し（４０４）、あれば、上記の処理を繰り返し、更新情報が蓄積された更新情報の終端まで達したら終了する（４０５）。更新情報のデータ内容は、データベース中の更新されるテーブル名である更新テーブル名５０１、更新の種別５０２、更新されたレコードの内容を示すレコード情報５０３で構成されている。テーブル名は一例であってテーブル、項目、レコードなどのデータ要素が更新情報のデータ内容である。図６の更新情報データ内容のデータの順番はマスタ側データベースに行われた更新の順番であり、その順番にレプリカの更新処理がなされている。
【０００４】
【発明が解決しようとする課題】
上記従来技術では、行われた更新処理が多種のテーブルに亘っていて(即ち、多種のデータが混在していて)、それぞれにデータの利用方法や必要性が異なる場合においても、実際にデータの更新が行われた順にレプリカの更新を行うため、必要なデータが、蓄積された更新情報を総て更新し終わるまでレプリカに反映されないことがあった。例えば、図６で在庫テーブルの更新済みのデータが欲しいときでも在庫テーブルの更新の間に他のテーブルの更新が混在するから更新データの反映を総ての更新データについて終了するまでは在庫テーブルが更新し終わった保証がない。したがって必要とするデータについての更新済みデータを得るのに時間がかかるという問題がある。
【０００５】
本発明は以上のことに鑑み、データの利用方法や必要性に合わせ、いくつもの種別のあるデータのうち必要なデータについて優先的に更新済みのデータを得ることを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、あるデータの更新情報をマスタ側で発生した更新順ではなく、その使用目的などから、指定された優先順位によってレプリカへのデータ反映をするものである。
【０００７】
具体的には、あるデータ種別のレプリカ作成処理の優先順位を記憶する手段と、その情報に応じてデータベースの更新データを優先的に抽出する振分処理手段と、振分処理手段により抽出されたデータによって順にレプリカを更新する手段とを有する。
【０００８】
【発明の実施の形態】
以下、本発明の実施の形態を図を用いて説明する。図１は本発明におけるデータベースシステムの構成図である。マスタ側データベース管理部１はマスタデータベースを管理するシステムであり、ユーザ等からのデータ更新要求を処理し、記憶装置５のマスタＤＢ１２を更新する。更新時にはその更新前後のログ情報を更新ログファイル１３に出力し、マスタＤＢの障害等に対応する。レプリカ生成部３はマスタ側データベースの更新ログファイル１３から更新ログを読み取り、レプリカ側のデータベースシステムを更新する。更新ログを読み取る更新ログ読み取り部１７は読み取った更新ログのうち必要な更新データを更新データキュー１９に蓄積する。
【０００９】
レプリカを作成するデータの優先順位は例えばユーザから端末装置のキーボードにより指定される。このデータの優先順位を優先順取得部１４で取得し、優先順位を優先順位情報として優先順位情報記憶部１５に保持する。優先順位情報をデータ振分部１６が受け取る。データ振分部１６は更新データキュー１９の情報を更新順に順次読み出し、最も優先度の高いデータ種別から順に更新データキュー１９の更新情報を選択的に抽出し、データ更新要求部１８に送る。データ更新要求部１８はレプリカ側データベース管理部２へ送られてきた更新要求を送る。レプリカ側データベース管理部２は、データ更新要求部１８から受け取った更新要求をレプリカＤＢ６１に反映する。
【００１０】
優先順位の指定されるデータの種別とは、例えば図６では在庫テーブルまたは商品マスタテーブルの更新情報であり、または更に細分化して指定される例えば、在庫テーブルの商品区分Ａに関する更新情報や商品区分Ｂに関する更新情報である。優先順位は優先順位の高いものとその他のものの２段階であっても良く、または、優先順位１位のもの２位のものと言う具合に多段階に指定される。２段階の場合は優先順位の高いものとして、順位の番号ではなく先に更新されるものとしての単なるフラグが付されている実施形態でも良い。また、優先的に更新されるべきデータ種別を記憶しておいても良い。
【００１１】
図２はレプリカ生成部３で優先順位を判定してデータを振り分ける際の処理フローである。優先順位の指定はデータベースのテーブルの単位で行なわれたとする。データ振分処理が開始されると（１０１）、指定された優先指定情報から未処理のうち最も優先度の高いテーブルの優先順位情報を読み込む（１０２）。次に更新データキュー１９から更新情報を読み込み（１０３）、その更新情報を持つテーブル名と現在処理している優先順位の高さのテーブル名が一致するかを判定する（１０４）。一致した場合には、それを当該更新情報を選択してデータ更新要求部に送り（１０５）、レプリカ側データベース管理部２に更新データをレプリカに反映せしめる。
【００１２】
このように、更新情報を更新順に読んで該当する優先順位のものを選択的に抽出することを振分と呼んでいる。更新情報の終端かどうかを判定しながら（１０６）、蓄積された更新情報の終端まで更新情報を読み込んで処理を繰り返す。終端まで到達した場合、次の優先順位のテーブルがあるかを判定し（１０７）、次の優先順位のテーブルがある場合そのテーブルについて上記と同様の処理を行う。
【００１３】
このように、データ振分部１６で、蓄積された更新情報を優先順位の高いものから選択し、データ更新要求部１８に転送しレプリカを更新せしめるため、レプリカでは指定された優先順位の高いものからデータベースの更新が終了する。よって、レプリカでの利用要求の高いものを早く利用可能にすることが出来る。
【００１４】
図３は優先順位の指定例を示す。この例では、マスタ側データベースを構成するテーブルから、在庫データテーブル２０１、商品マスタテーブル２０２、市場分析テーブル２０３の３テーブルを抽出し、レプリカ側のそれぞれ同一名のテーブルに更新情報を反映する。優先指定においては、抽出側テーブル２１２、反映側テーブル２１３を指定し、最後に優先順位２１４を指定する。この結果が優先順位情報記憶部１５に格納されている。この指定例がこの場合では、在庫データ２０４の更新を最優先とし、市場分析２０６への更新は最後になっている。
【００１５】
図４は、レプリカ生成部をマスタ側データベースとレプリカ側データベースそれぞれに配置し、その間を通信手段を介して接続し、それぞれのレプリカ生成部で優先順位を指定するシステムの構成例を示す。マスタ側のレプリカ生成部をデータ抽出部３１、レプリカ側のレプリカ生成部をデータ反映部４と称することとする。これらは図１のレプリカ生成部とは若干構成を異にする。データ抽出部３１とデータ反映部４とを別々に設置しその間をネットワーク、無線通信網、通信ケーブル、光通信網等の通信手段７を使用してデータ転送を行う。データ抽出部３１のデータ振分部１６では、図１、図２に示したと同様にして、振り分けたデータをデータ転送部２８に渡す。データ転送部２８は、渡された更新情報を通信手段７を使用して、データ反映部４のデータ受信部４１に送り、そこで更新データキュー４２に更新情報を保管する。
【００１６】
この分散配置したレプリカ生成部を使用した実施例を図３、図５を参照しながら説明する。データ抽出部３１の優先指定を図３に示した優先指定例とする。図５の在庫データはデータベース１２に格納された在庫データテーブルの例である。優先指定ａ、優先指定ｂはそれぞれ異なる優先指定の例であり、優先順位情報記憶部５２に格納される。レプリカ側システムでは在庫データ＞商品マスタ＞市場分析の順にデータを必要としていると設定し、それをデータ抽出部３１の優先取得部１４で取得する。
【００１７】
データ反映部４での優先指定を図５に示す。優先指定ａは、在庫データの更新情報を商品区分３０１により優先的に反映するレコードを選択する例である。レプリカ側では、在庫データのうち、今参照したい優先キー条件３１２と優先順位３１３を指定することによって、在庫データを優先指定するだけでなく更に優先順位指定を細分化できる。ここでは在庫データの商品区分のデータ別に最新の情報に更新することができる。この優先順位に従えば、在庫データの中でも商品区分がＡの商品の在庫量を優先的に反映してくれるため、商品区分Ａについての在庫を商談先などでチェックしたい場合など有効である。
【００１８】
また、優先指定ｂでは、必要とする項目を優先的に反映する例を示している。データ分析など別の目的で使用しようとしたとき、分析に使用する項目のみ優先的に反映してもらい、それ以外の項目についてはあとから反映することにより、多次元分析などの時間を要する分析においてその分析開始を早く行うことができる。優先指定ｂでは在庫データのテーブルの優先列３２２を指定し、それぞれ優先順位３２３を指定することにより、商品区分、商品コード、在庫量を優先的に反映する。
【００１９】
以上、マスタ側でテーブル名までの分類での優先的な更新データの抽出を行ない、レプリカ側で更にそれを細分化した優先キー条件の指定や、テーブルの優先列の指定により優先的な更新データの抽出を行なう例を示した。これによれば、木目細かな優先順位でのデータベースの更新が可能となると共に次のようなことも可能である。即ち、データ反映部４やレプリカを複数個設け、データ抽出部３１のデータ転送部２８からは在庫データのみが転送されるとする。そして、あるデータ反映部４では商品区分Ａを最優先の更新データとして振り分け、他のデータ反映部では商品区分Ｃを最優先の更新データとして振り分ける。このような構成ではマスタＤＢから遠隔地にあるユーザ毎に異なる要求にあったレプリカの優先的更新が出来る。
【００２０】
また、他の実施例として、次のような構成がある。図４のデータ抽出部３１の優先取得部１４、優先順位情報記憶部１５、データ振分部１６をなくし、または使用せずして、総ての更新データを通信手段７を介してレプリカ側のデータ反映部４に転送する。そして、データ反映部４だけで更新データの振分の優先順位を決める。これによりマスタＤＢ側での負荷を軽減できる。
【００２１】
更に、他の実施例として図４でデータ反映部４とレプリカを複数個設け、一方データ抽出部３１は複数種の更新データを併行して振分部１６で抽出する。その複数種の更新データはデータ転送部２８によってそれぞれ異なるデータ反映部４に転送する。これにより、遠隔地にあるユーザの要求に適合したレプリカの更新が出来る。
【００２２】
図７は、本発明の他の実施例を示す図である。この実施例ではレプリカ側データベース管理部２において、そのデータベースを参照した履歴情報を取得しておいて、参照する頻度が高いデータベースのテーブルの更新情報を優先的にレプリカに反映するようにしたものである。従って、優先順位の指定はユーザの指定によらずデータベースの実際の参照実績の統計的処理による。図４の実施例と異なり、レプリカ側データベース管理部２でレプリカのどのテーブルを参照したかをレプリカ参照履歴取得部５５に渡し、レプリカ参照履歴取得部５５が優先順位情報として優先順位情報記憶部５２に設定する。この優先順位情報記憶部５２の情報を使用してデータ振分部４３が、データ更新要求部４４に更新情報を展開していく。これにより、レプリカ側データベースを参照する利用者の利用頻度に従って、更新情報を反映する順番をシステムが判断し利用頻度の高いデータを優先的に最新データに反映することが可能となる。
【００２３】
本発明によれば振分部により必要なものは早く、当面必要の小さいものは遅く更新順序は変更される。しかし、結局はすべてのデータ種別に付いて、マスタデータベースの更新順序と同じ順序で更新データがレプリカに反映されて行く。優先順位の指定によりあるデータ種別の更新が早く終了するのである。
【００２４】
以上データベースがテーブルとしてデータを保持している例を述べたが、本発明はデータベースの形式によって限定されるものではない。また、本実施例では以上の処理はプログラムによって遂行される。そして、そのプログラムはコンピュータ読み取り可能な記録媒体に記録されるものである。
【００２５】
【発明の効果】
本発明によれば、更新情報を使用目的に応じて優先的にレプリカを作成するデータの種別を選択しての反映が可能となる。レプリカに使用する頻度が高い情報や高い鮮度の必要な情報を優先的に反映されることになり、レプリカの利用者はレプリカを効果的に利用できる。
【図面の簡単な説明】
【図１】本発明の一実施例を示すブロック図である。
【図２】図１のデータ振り分け部の処理を示すフローチャートである。
【図３】本発明の実施例における優先順位指定の例を示す図である。
【図４】本発明の他の実施例を示すブロック図である。
【図５】本発明におけるデータベースの内容と、優先順位情報の例を示す図である。
【図６】従来のレプリカ作成の処理を示すフローチャートおよび更新情報データ内容の例を示す図である。
【図７】本発明の他の実施例を示す図である。
【符号の説明】
１：マスタ側データベース管理部    ２：レプリカ側データベース管理部
３：レプリカ生成部    １２：マスタＤＢ
１３：更新ログファイル    １４：優先順取得部    １５：優先順位情報記憶部１６：データ振分部    １７：更新ログ読み取り部    １８：データ更新要求部１９：更新データキュー    ６１：レプリカ
【図１】
0003686564.tif 000002
【図２】
0003686564.tif 000003
【図３】
0003686564.tif 000004
【図４】
0003686564.tif 000005
【図５】
0003686564.tif 000006
【図６】
0003686564.tif 000007
【図７】
0003686564.tif 000008