(57)【特許請求の範囲】
【請求項１】
同一のデータを異なるデータベースに格納し、一方のデータベース（以下、連動元データベースという）の更新情報を別のデータベース（以下、連動先データベースという）へ反映し、両データベースの内容を同一にするデータベース処理方法において、
連動元データベースのデータの物理格納情報と連動先データベースの該当データの物理格納情報との対応を示すデータマッピング情報を用意し、
連動元データベースを更新した際に、更新データに連動元データベースにおける当該データの物理格納情報を付加した更新情報を取得し、該更新情報の物理格納情報をもとにデータマッピング情報から連動先データベースの当該更新データの物理格納情報を求め、連動先データベースをアクセスする、
ことを特徴とするデータベース処理方法。
【請求項２】
請求項１記載のデータベース処理方法において、連動元データベースから連動先データベースを作成する際に、連動元データベースのデータの物理格納情報と連動先データベースの該当データの物理格納情報とを組み合わせてデータマッピング情報を作成することを特徴とするデータベース処理方法。
【請求項３】
請求項１、２記載のデータベース処理方法において、データベース再編成の際に、新たな物理格納情報によりデータマッピング情報を再作成することを特徴とするデータベース処理方法。
【請求項４】
第１のデータベース（以下、連動元データベースという）を具備する第１のデータベースシステム（以下、連動元データベースシステムという）と、連動元データベースと同一のデータを格納する第２のデータベース（以下、連動先データベースという）を具備する第２のデータベースシステム（以下、連動先データベースシステムという）とからなるデータベース処理システムにおいて、
連動元データベースシステムは、連動元データベースを更新した際に、更新データに連動元データベースの当該データの物理格納情報を付加した更新情報を出力する手段を有し、
連動先データベースシステムは、連動元データベースのデータの物理格納情報と連動先データベースの該当データの物理格納情報との対応を示すデータマッピング情報を保持する手段と、連動元データベースシステムが出力する更新情報を取得し、該更新情報の物理格納情報をもとにデータマッピング情報から連動先データベースの当該更新データの物理格納情報を求め、連動先データベースをアクセスする手段とを有する、
ことを特徴とするデータベース処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベース処理システムに係り、詳しくは、異なるデータベース間でのデータ連動において、連動元データベースと連動先データベースの間のデータマッピング技術に関する。
【０００２】
【従来の技術】
デーテ連動は、同一のデータを異なるデータベースに格納し、一方のデータベース（連動元データベース）をユーザプログラムなどにより更新した時に、更新情報をデータセット等に取得して、別のデータベース（連動先データベース）へ反映し、両データベースの内容を常に同一にする機能である。このデータ連動では、連動元データベースから連動先データベースへ更新情報を反映する場合、更新対象データを一意に対応付けする、すなわち、データマッピングするための情報（データマッピング情報）を必要とする。
【０００３】
従来、このような異なるデータベース間でのデータ連動では、データマッピングを行うために、各データを一意に特定できる本来データベースに必要のない情報をデータベース内（データ内）に格納する必要があった。また、一般的には、データの一意性を保証するためにインデクスを構成するキー値がすべてのデータで異なっているユニークインデクスの定義も必要であった。
【０００４】
【発明が解決しようとする課題】
上記従来技術においては、データ連動のためだけに必要となるデータマッピング情報をデータベース内に格納し、ユニークインデクスを定義することにより、データベース格納容量が拡大する問題があった。また、ユニークインデクスが定義されることにより、連動元データベースのアクセス（追加、削除）でインデクスメンテナンス処理が必要となり、連動元データベース側のアクセス性能を劣化させる問題もあった。一般に連動元データベースはオンラインで利用されることが多く、アクセス性能の劣化は極力さける必要がある。
【０００５】
本発明の目的は、異なるデータベース間でのデータ連動において、各データを一意に特定するマッピング情報のデータベースへの格納およびユニークインデクス定義を不要として、データベースの格納容量を削減し、また、連動元データベースのアクセス性能を向上させることにある。
【０００６】
【課題を解決するための手段】
本発明は、データマッピング情報として、データベースのデータ物理格納情報を利用する。該データマッピング情報は、連動元データベースから連動先データベースを作成する際に、連動元データベースのデータの物理格納情報と連動先データベースの該当データの物理格納情報とを組み合わせて作成し、データマッピングファイルとして保持しておく。
【０００７】
連動元データベースを更新した際には、更新データに連動元データベースの当該データの物理格納情報を付加した更新情報を取得し、該物理格納情報に対応する連動先データベースの物理格納情報をデータマッピングファイルから求め、該物理格納情報をもとに連動先データベースをアクセスして当該データを更新する。
【０００８】
更に、本発明では、連動元や連動先のデータベース再編成の際には、新たな物理格納情報を取得してデータマッピングファイルのデータマッピング情報を再作成する。
【０００９】
これにより、異なるデータベース間でのデータ連動において、従来のように各データを一意に特定するための情報をデータベース内に格納する必要がなく、また、その結果、ユニークインデクスの定義も不要になり、データベースの格納容量の削減、連動元データベースのアクセス性能の向上が可能になる。
【００１０】
【発明の実施の形態】
以下、本発明の一実施例を図面を用いて具体的に説明する。
図１は本発明の一実施例のシステム構成図を示す。図１において、１００は更新情報ファイル、１１０、１２０はデータベース処理系である。便宜上、１１０を連動元データベース処理系、１２０を連動先データベース処理系とするが、この関係は逆になってもよい。一般にオンライン処理システムなどでは、障害の発生やデータベース再編集などに伴い、それまで連動先だった処理系が連動元に、連動元だった処理系が連動先に切り替わる形態をとることが多い。連動元データベース処理系１１０はデータベースシステム１１１、連動元データベース１１２からなる。一方、連動先データベースシステム処理系１２０はデータベースシステム１２１、連動先データベース１２２およびデータマッピングファイル１２３からなる。連動元データベース１１２と連動先データベース１２２は同一のデータを格納している。データマッピングファイル１２３は、データマッピング情報として、各データの連動元データベース１１２上の物理格納情報と連動先データベース１２２上の物理格納情報とを対応付けて格納している。なお、連動元と連動先が切り替わる場合のため、連動元データベース処理系１１０もデータマッピングファイルを持っている方がよいが、図１では省略してある。
【００１１】
データマッピングファイル１２３は、連動元データベース１１２から連動先データベース１２２を作成（コピー）する際に、各データベースの物理格納情報により作成する。データ連動処理では、連動元データベースシステム１１１がユーザプログラムなどによりデータベース１１２を更新した時に該更新データのデータベース１１２上の物理格納情報を付加した更新情報を更新情報ファイル１００に取得する。一方、連動先データベースシステム１２１は、該更新情報ファイル１００の更新データに付加されている連動元データベース１１２上の物理格納情報をもとにデータマッピングファイル１２３を検索して、連動先データベース１２２上の対応する物理格納情報を得、該データベース１２２上の当該データを更新情報ファイル１００に取得された更新データで更新する。また、データの追加・削除処理では、データマッピングファイル１２３の該当する情報を追加・削除する。連動元や連動先データベースの再編成を行った場合には、新たな物理格納情報によりデータマッピングファイル１２３を再作成する。
【００１２】
図２は物理格納情報とその取得の仕方の具体例を示した図である。物理格納情報は、図２（ａ）に示すように、データベース２００上の該当データが物理的に格納されているデータセット内の物理ページ番号２０１とページ内のデータ格納オフセット情報２０２から構成されるのが一般的である。例えば、データ「ＣＣＣ…」の物理格納情報は「０００２００２０」で表わされる。このような物理格納情報はＲＯＷＩＤと呼ばれることが多いので、ここでもそれに従うことにする。
【００１３】
図２（ｂ）は物理格納情報の取得の仕方を説明したものである。ただし、物理格納情報の取得の仕方はこれに限らない。図２（ｂ）では、検索ＳＱＬ（ＳＥＬＥＣＴ）時の検索対象列名として、物理格納情報を示す特別な列名称（ここでは「ＲＯＷＩＤ」としている）２１０を記述することにより、検索列情報とともに物理格納情報（ＲＯＷＩＤ）を取得することを示している。ここでは、検索結果として、物理格納情報「０００２００２０」および検索列データ「ＣＣＣ…」が返却されたことを示している。なお、以下の具体例では、物理格納情報は簡単にページのみとし、ページ内オフセット情報は省略することにする。
【００１４】
図３は、データマッピングファイル１２３の作成処理を説明する図であ。データマッピングファイル１２３の作成は、連動元データベース１１２から連動先データベースシステム１２２を作成する際に同時に行われる。
【００１５】
連動元データベースシステム１１１では、連動元データベース１１２からデータを読み出し、読出しデータファイル３００に出力する（処理３０１）。この際に、該連動元データの物理格納情報３１１を同時に取得して読出しデータファイル３００に出力する（処理３０１）。連動先データベースシステム１２１では、読出しデータファイル３００をもとに、連動先データベース１２２へデータを格納する（処理３０２）。この際、連動先データの物理格納情報３２１を取得する。そして、この取得した連動先データの物理格納情報３２１と読出しデータファイル３００の該当連動元データの物理格納情報３１１とを組み合わせ、データマッピングファイル１２３に登録する（処理３０３）。連動先データベースシステム１２１では、これを読出しデータファイル３００の各データについて繰り返すことにより、データマッピングファイル１２３が完成する。
【００１６】
図４は、データマッピングファイル１２３をもとにしたデータ連動処理を説明する図である。連動元データベースシステム１１１では、連動元データベース１１２の更新時に、更新データに当該更新データの物理格納情報を付加した更新情報を更新情報ファイル１００に取得する（処理４０１）。例では、連動元データベース１１２のデータ「ＡＡＡ…」を「ＸＸＸ…」に更新すると、該更新データ「ＸＸＸ…」とその物理格納情報「０００１」が更新情報ファイル１００に取得されたことを示している。連動先データベースシステム１２１では、まず、データマッピングファイル１２３をもとに、更新情報ファイル１００の更新データに付加された連動元物理格納情報から連動先データベース１２２の該当データの物理格納情報を求める（処理４０２）。次に、この求めた物理格納情報および更新データをもとに、連動先データベース１２２を更新する（処理４０３）。例では、データマッピングファイル１２３をもとに、連動元物理格納情報「０００１」に対応する連動先物理格納情報「０００２」を得、連動先データベース１２２の該当領域のデータ「ＡＡＡ…」を更新データ「ＸＸＸ…」に書き替えることを示している。
【００１７】
図５は、データ連動の際のデータマッピングファイル１２３のメンテナンス処理を示したフローチャートである。データマッピングファイル１２３のメンテナンス処理は連動元／連動先データベース１１２、１２２上のデータを追加あるいは削除した際に必要となる。
【００１８】
連動先データベースシステム１２１では、更新情報ファイル１００から更新情報を取得し（ステップ５０１）、追加情報かどうか判定する（ステップ５０２）。追加情報の場合は、更新情報ファイル１００のデータを連動先データベース１２２へ追加し（ステップ５０３）、該追加したデータの連動先データベース１２２上の物理格納情報を取得する（ステップ５０４）。そして、ステップ５０１で取得した更新情報ファイル１００の更新情報（追加データ）の連動元物理格納情報と、ステップ５０４で取得した連動先物理格納情報とを組み合わせ、データマッピングファイル１２３に当該マッピング情報を追加する（ステップ５０５）。
【００１９】
一方、更新情報ファイル１００の更新情報が追加情報以外の場合には、該更新情報から連動元の物理格納情報を取得し（ステップ５０６）、データマッピングファイル１２３から、該連動元の物理格納情報に対応する連動先の物理格納情報を求め（ステップ５０７）、該求めた物理格納情報をもとに、連動先データベース１２２へ所定の処理を行う（ステップ５０８）。すなわち、更新処理の場合には、図４で説明したように、連動データベース１２２の該当データを書き替え、削除処理の場合には、該当データを削除する。その後、削除処理の実行か判定し（ステップ５０９）、削除情報の場合は、データマッピングファイル１２３から、ステップ５０６、５０７で取得した連動元と連動先の物理格納情報のマッピング情報を削除する（ステップ５１０）。
【００２０】
図６はデータベースの再編成を行った場合のデータマッピングファイルのメンテナンス処理を示した図である。データベースの再編成は、データベースへの追加や削除により生じるデータ配置の乱れをデータの引き上げおよび再登録によって適切な配置にする処理である。データベースの再編成を行うと、格納データの物理格納情報が変更される。従って、連動元または連動先データベースの再編成を行った場合にはデータマッピングファイルを再作成する必要がある。図６では、連動先データベース１２２の再編成に伴うデータマッピングファイル１２３の再作成を説明するが、連動元データベース１１２の再編成時も、基本的に同様である。
【００２１】
連動先データベースシステム１２１では、データベースの再編成を行う場合、まず、再編成対象データベース６００（再編成前データベース１２２）から、物理格納情報を付加したアンロードファイル６１０を作成する（処理６０１）。次に、アンロードファイル６１０からデータをリロードし、再編成後データベース６２０（同データベース１２２）を作成する（処理６０２）。このリロード処理で、データベース再編成前後の新旧物理格納情報の対応関係を示す新旧物理格納情報ファイル６３０を作成する（処理６０３）。最後に、データマッピングファイル１２３について、新旧物理格納情報ファイル６３０の旧物理格納情報と一致する連動先の物理格納情報を、新旧物理格納情報ファイル６３０の当該旧物理格納情報と組の新物理格納情報に変更する（処理６０４）。
【００２２】
図７は、データベースの再編成を行った場合のデータマッピングファイルのメンテナンス処理のフローチャートを示したものである。以下に、図６の連動先データベースの再編成の例について説明する。
【００２３】
まず、連動先データベース１２２の再編成（アンロード）時に旧物理格納情報を取得し、アンロードファイル６１０に出力する（ステップ７０１）。次に、再編成（リロード）時に、新物理格納情報を取得する（ステップ７０２）。次に、アンロードファイル６１０内の旧物理格納情報とステップ７０２で求めた新物理格納情報をもとに新旧物理格納情報の組を作成し、新旧物理格納情報ファイル６３０に出力する（ステップ７０３）。
【００２４】
次に、データマッピングファイル１２３からマッピング情報を入力する（ステップ７０４）。このマッピング情報の連動先物理格納情報と一致する旧物理格納情報を持つ情報を新旧物理格納情報ファイル６３０から求め（ステップ７０５）、この求めた情報中の新物理格納情報をあらたに連動先物理格納情報として変更する（ステップ７０６）。以下、データマッピングファイル１２３の全マッピング情報分、ステップ７０４〜７０６を繰り返す（ステップ７０７）。
【００２５】
以上、本発明の一実施例について説明したが、本発明はこれに限定されないことは云うまでもない。例えば、実施例では、連動元データベースシステムと連動先データベースシステムシステムの間で、読出しデータファイルや更新情報ファイルを通して情報を送受信するとしたが、直接データ転送することでもよい。また、先にも触れたが、データマッピングファイルは連動元と連動先の両方の処理系で持ってもよい。
【００２６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、以下のような効果が得られる。
（１）データ連動の目的のためだけに、本来は不要な一意性を保証するためのデータをデータベースに格納する必要がなくなり、データ格納時のユニークデータ付加制御が不要となる。
（２）インデクスキー情報長と物理格納情報長が同等の場合は、マッピング情報容量とユニークインデクス容量がほぼ同容量となるが、一意性を保証するデータの格納が不要となる分、データベース格納容量が削減される。通常は、インデクスキー情報長の方が物理格納情報長より長く、全体の格納容量は削減される。
（３）ユニークインデクスの定義を行う必要がなくなり、連動元データベースへの更新系アクセス時のインデクスメンテナンス処理が不要となり、処理性能が向上する。
（４）連動先データベースの更新処理などにおいて、処理対象データを物理格納情報で並び替える（ソート）ことで、処理が物理格納順に行われ、連動先データベースの処理性能の向上も図れる。
【図面の簡単な説明】
【図１】本発明の一実施例を示すシステム構成図である。
【図２】本発明の一実施例の物理格納情報とその取得法の具体例の説明図である。
【図３】本発明の一実施例のデータマッピング情報作成処理の説明図である。
【図４】本発明の一実施例のデータ連動処理の説明図である。
【図５】本発明の一実施例のデータ追加・削除時のデータマッピング情報のメンテナンス処理のフローチャートである。
【図６】本発明の一実施例のデータベース再編成時のデータマッピング情報のメンテナンス処理の説明図である。
【図７】本発明の一実施例のデータベース再編成時のデータマッピング情報のメンテナンス処理のフローチャートである。
【符号の説明】
１１０  連動元データベース処理系
１１１  連動元データベースシステム
１１２  連動元データベース
１２０  連動先データベース処理系
１２１  連動先データベースシステム
１２２  連動先データベース
１２３  データマッピングファイル
【図１】
0003698947.tif 000002
【図２】
0003698947.tif 000003
【図３】
0003698947.tif 000004
【図４】
0003698947.tif 000005
【図５】
0003698947.tif 000006
【図６】
0003698947.tif 000007
【図７】
0003698947.tif 000008