(57)【要約】      （修正有）【課題】各データノード内のデータを結合するに際し、少ない通信容量で且つ少ないメモリ容量で実行可能な分散型データベース運用システムを得る。【解決手段】外部端末50からのデータ結合要請で各データノード20,30からデータを集計し結合するコントロールノード10を備え、各データノード20,30は、コントロールノード10からの指令で記憶部から特定の一又は二以上の列データを抽出し圧縮してコントロールノード10へ送信する。コントロールノード10は、受信した圧縮列データを整列し主キーが同一のデータ列を特定する結合用データ列特定部13と、この特定された結合用データ列の組合せを元のデータノード20,30の行番号で表示した対応結合リストを作成しこのリストに基づいて前記各データノード20,30の特定の列データを前記主キーを重ね合わせることにより結合し外部要請にかかる結合データを生成するようにした。【選択図】図１
2011237944.tif 000002
【特許請求の範囲】
【請求項１】
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数の各データノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムであって、
前記複数の各データノードが、
前記コントロールノードの指令に基づいて作動し予め装備されたデータ記憶部から表データの内の行番号にかかる特定された一又は二以上の列データを抽出し圧縮して前記コントロールノードへ伝送するデータ管理部を備え、
前記コントロールノードが、
前記各データノードから送られてくる圧縮列データを収集し整列すると共に、前記各データノードにおける前記主キーが同一のデータ列を特定する結合用データ列特定部と、
この特定された結合用データ列の組合せを元の各データノードの行番号で表示した対応結合リストを作成する結合リスト作成部と、
この結合リスト作成部で作成された対応結合リストに基づいて前記各データノードより収集された特定の列データを前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成する結合データ生成部とを備えていることを特徴とした分散型データベース運用システム。
【請求項２】
請求項１に記載の分散型データベース運用システムにおいて、
前記結合データ生成部における前記各データノードより収集された特定の列データは、前記結合リスト作成部で作成された対応結合リストに基づいて前記各データノードから新たに収集した列データであることを特徴とする分散型データベース運用システム。
【請求項３】
請求項２に記載の分散型データベース運用システムにおいて、
前記結合データ生成部が、
前記作成された対応結合リストにかかる行番号を対応する前記各データノードに伝送して該当する一又は二以上の行のデータ列を送信要請する該当列データ送信要請機能と、
前記各データノードから送られてくる前記行番号に対応した列データの圧縮データを前記主体を基準として集計し結合すると共に元の列データに復元するデータ結合復元機能とを備えていることを特徴とした分散型データベース運用システム。
【請求項４】
請求項１に記載の分散型データベース運用システムにおいて、
前記結合データ生成部で前記各データノードより収集される特定の列データは、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出した列データであることを特徴とする分散型データベース運用システム。
【請求項５】
請求項１に記載の分散型データベース運用システムにおいて、
前記コントロールノードが、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に当該要請を受け付ける結合要請受付部と、この受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定する結合ノード選定部と、この選定されたデータノードに対し前記結合対象の列データの発送を要請するデータ発送要請部とを備えていることを特徴とした分散型データベース運用システム。
【請求項６】
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請をデータ発送要請部が発信し、
前記各データノードから送られてくる圧縮列データを、結合用データ列特定部が対応する各行番号に合わせて整理すると同時に前記主キーが同一のデータノードからの各データ列をそれぞれ特定し、
この特定された結合データ列の組合せを、結合リスト作成部が行番号で表示して前記主キーに対応するデータの対応結合リストを作成し、
この作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを、結合データ生成部が前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成したことを特徴とする分散型データベース運用方法。
【請求項７】
請求項６に記載の分散型データベース運用方法において、
前記結合データ生成部にて結合対象とする前記特定の列データは、その結合データ生成の実行段階で、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出する列データであることを特徴とする分散型データベース運用方法。
【請求項８】
請求項６に記載の分散型データベース運用方法において、
前記データ発送要請部による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、結合要請受付部が当該要請を受信し、
次に、この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードをデータノード選定部が選定し、
この選定された複数のデータノードに対して、前記データ発送要請部が前記結合対象の列データの発送の要請をすることを特徴とした散型データベース運用方法。
【請求項９】
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請を発信するデータ発送要請発信機能、
前記各データノードから送られてくる圧縮列データを対応する各行に合わせて整理すると共に前記主キーが同一となるデータ列を各データノード毎に対応させて特定する結合データ列特定機能、
この特定された結合データ列の組合せを、行番号で表示して前記主キーに対応するデータの対応結合リストを作成する結合結果作成処理機能、
およびこの作成された対応結合リストに基づいて、前記各データノードより収集された前記主キーが同一の特定の列データを前記主キーを重ね合わせることにより結合させて前記外部要請にかかる結合データを生成する結合データ生成処理機能、を備え、
これらの各機能を前記コントロールノードが備えているコンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。
【請求項１０】
請求項９に記載の分散型データベース運用プログラムにおいて、
前記データ発送要請機能による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、当該要請を受信する結合要請受信処理機能、
この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定するデータノード選定処理機能、
およびこの選定された複数のデータノードに対して、前記データ発送要請発信機能が前記結合対象の列データの発送の要請をするような構成とし、
これらを前記コンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散型データベース運用システムに係り、特に、関連データベースシステムを構成する複数のデータノードの内の一方と他方のデータノード内の各データを結合するに好適な分散型データベース運用システム、運用方法、及び運用プログラムに関する。
【背景技術】
【０００２】
近年、多様されている関係データベース（Ｒelationl Ｄata Ｂase ：ＲＤＢ）システムにあって、このシステムを構成する各データノード相互間の表の結合処理としては、複数サーバで処理をする手法があり、又、結合対象データの表を単一サーバにまとめて当該単一サーバであるコントロールノード上で処理する手法もある。
この単一サーバ（コントロールノード）上で処理する手法あって、関係データベース内の表の結合を表のまま結合処理を実行する場合は、結合対象の情報を有する各データノードから、対象のデータ情報をすべてコントロールノードに集め、コントロールノード上で一般的な結合処理を行うことになる。
【０００３】
上記関係データベースシステムに関する技術としては、下記特許文献１乃至４が知られている。
特許文献１には、パトリシア・ツリー構造（Ｐツリー構造）内の多数のキー項目（文字、ファクト（数値））から構成される膨大な数のレコード・ファイルを、任意の次元で複数のファイルを横断して集計するに際し、鍵となるキー項目の検索と数値の集計の双方を、最短時間で処理する技術が開示されている。
【０００４】
又、特許文献２には、関係データベースシステムにおける結合処理を順次データノードを連続的に処理実行する技術が開示されている。この技術は、結合処理を行う際に、その処理手順を計算機から一データノードに送信し、結合処理を行いこの結合処理が終了するとこの処理手順を次のデータノードへ送信し、結合処理を次のデータノードで行う。次のデータノードで処理が行われた後、処理がない場合は計算機に戻り結合が終了する。処理が残っている場合は、処理がなくなるまで次のデータノードに処理手順を送信し処理を行うように構成されている。
【０００５】
特許文献３は、関係データベースシステム（ＲＤＢ）の異なる２つのデータノードが保持するデータの結合処理に関する技術が開示されている。具体的には、各データノード上のデータを所定のハッシュ関数（データを代表する数値を得るための関数）により分類して成る集まりを各データノードで作成する技術であって、このハッシュ関数により分類された集まりの中のデータ数を各データノードで比較し、この集まりの中のデータ数の小さい側のデータノードのデータを他方のデータノードへ転送してデータを結合する技術が開示されている。
【０００６】
更に、特許文献４には、分散データシステムにおいて、複数のデータノードに分散したデータをアクセスして結合を行うリモート結合処理を行う際、通信回線を通るデータ量を最小とする第一のリモート結合方法と、処理町時間を最短とする第二のリモート結合方法とを解析し、両方の結合方法が異なる場合には、通信回線による総データ送信時間と結合対象のデータノードの処理待ち時間に基づいて結合するために必要な全工程にかかる時間が最短となる方法を採用してリモート結合処理を行う方式が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００１−０２２７６６
【特許文献２】特開昭６１−２０８１２４
【特許文献３】特開昭６１−２７３６３３
【特許文献４】特開平０３−０５８２４８
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述したシステムでは、以下に示すような課題があった。
第１に、データノードからコントロールノードに対象となる表のデータをすべて転送するため、通信コストが大きいこと、第２にコントロールノードに対象となる表のすべてのデータが集まるため、これを処理するためにコントロールノード内に大量の半導体メモリが必要であることである。
半導体メモリはハードディスクに比べコストが高い現状があり、又一つのマシンに搭載できる容量も少ないため、少ないメモリ量で作業できるようにすることが重要であり、かかる内容については何らの対応も成されていない。
【０００９】
又、上記各特許文献の内、特許文献１における圧縮処理は、Ｐツリー構造（パトリシア・ツリー構造）に対してレコードのデータを格納する際に、ツリー構造をバランスよくするために行われるものであり、上記課題は何ら解消するものではない。
【００１０】
特許文献２は、関係データベースシステムにおける結合処理を行う手法であるが、データノード相互間でデータを転送しながら処理を行う技術に関するものであり、上記課題については何らの対応も成されていない。
【００１１】
特許文献３は、２つのデータノード間の結合手法に関するものであり少量の通信容量で実行可能な技術であるが、少量の作業メモリで実行可能な技術ではなく、従って発明の目的が異なり、上記課題については何らの対応も成されていない。
【００１２】
そして、特許文献４に関しては、各データノードの情報を収集し、最適な結合手法を決定する方法を提案するものであり、具体的に結合手法を提案する技術ではなく、従って、上記課題については何らの対応も成されていない。
【００１３】
［発明の目的］
本発明は、上記課題を改善するために成されたもので、特に、分散型のデータベースを構成する一方と他方の各データノード内のデータを結合する際に、少量の通信容量で且つ少量の作業メモリで実行可能な、分散型データベース運用システム、運用方法、及び運用プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明にかかる分散型データベース運用システムは、分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キー（結合キー）にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムであって、
【００１５】
前記複数の各データノードが、前記コントロールノードの指令に基づいて作動し予め装備されたデータ記憶部から表データの内の各行にかかる特定された一又は二以上の列データを抽出し圧縮して前記コントロールノードへ伝送するデータ管理部を備え、
前記コントロールノードが、  前記各データノードから送られてくる圧縮列データを収集し各行に合わせて整理すると共に、前記各データノードにおける前記主キーが同一のデータ列を各データノード毎に対応させて特定する結合用データ列特定部と、  この特定された結合用データ列の組合せを行番号で表示し対応結合リストを作成する結合リスト作成部と、  この結合リスト作成部で作成された対応結合リスト（結合結果）に基づいて前記各データノードより収集された特定の列データを前記主キーを基準として（重ね合わせて）結合することにより前記外部要請にかかる結合データを生成する結合データ生成部とを備えていることを特徴とする。
【００１６】
上記目的を達成するため、本発明にかかる分散型データベース運用方法は、分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キー（結合キー）にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
【００１７】
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請をデータ発送要請部が発信し、  前記各データノードから送られてくる圧縮列データを、結合用データ列特定部が対応する各行に合わせて整理し、同時に前記主キーが同一となるデータ列を各データノード毎に対応させて特定し、  この特定された結合データ列の組合せを、結合リスト作成部が行番号で表示して前記主キーに対応するデータの対応結合リスト（結合結果）を作成し、  この作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを、結合データ生成部が前記主キーを基準として（重ね合わせて）結合させることにより前記外部要請にかかる結合データを生成するようにしたことを特徴とする。
【００１８】
上記目的を達成するため、本発明にかかる分散型データベース運用プログラムは、分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キー（結合キー）にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主体にかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
【００１９】
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請を発信するデータ発送要請発信機能、  前記各データノードから送られてくる圧縮列データを対応する各行に合わせて整理すると共に前記主キーが同一となるデータ列を各データノード毎に対応させて特定する結合データ列特定機能、  この特定された結合データ列の組合せを、行番号で表示して前記主キーに対応するデータの対応結合リスト（結合結果）を作成する結合結果作成処理機能、  およびこの作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを前記主キーを基準として（重ね合わせて）結合させることにより前記外部要請にかかる結合データを生成する結合データ生成処理機能、を備え、
これらの各機能を前記コントロールノードが備えているコンピュータに実現させるようにしたことを特徴とする。
【発明の効果】
【００２０】
以上のように、本発明によると、分散された関連データを格納した複数のデータノード内の一のデータノード内のデータとこれとは異なる他のデータノード内のデータとをコントロールノードが結合するに際し、当該コントロールノードに対する各データノードからのデータの送信を圧縮して送信すると共にコントロールノード側ではデータ結合に必要なデータを対応する各データノードに行番号列で要求するようにしたので、少量の通信容量で且つ少量の作業メモリでデータ結合を迅速に且つ効率良く実行することが可能となるとういう関連技術にない優れた分散型データベース運用システム、運用方法、及び運用プログラムを提供することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態における分散型データベース運用システムの構成を示すブロック図である。
【図２】図１中に開示した結合リスト生成部の機能内容の一例を示すブロック図である。
【図３】図１に開示した実施形態の動作を示すフローチャートである。
【図４】図１に開示した実施形態におけるデータの対応結合リスト（結合結果）の作成手順を示す動作説明図である。
【図５】図４における行番号による対応結合リストに基づいて複数のデータノードから対応する列データを収集し結合データを生成する動作手順を示す説明図である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る分散型データベース運用システムの一実施形態を、図１乃至図４に基づいて説明する。
【００２３】
（全体の構成）
まず、本実施形態について、その基本的構成内容を説明する。
図１において、分散型データベース運用システム１は、分散された関連データをそれぞれ記憶する複数のデータノード２０，３０，４０と、外部端末であるクライアント端末５０から特定の主キー（結合キー）にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノード２０，３０，４０の内の例えば二つのデータノード２０，３０に格納されている表データ２１Ａ，３１Ａの記憶領域から前記主キーにかかるデータを抽出し集計して結合すると共に前記クライアント端末５０に出力するコントロールノード１０とを備えている。
【００２４】
この内、コントロールノード１０は、クライアント端末５０から特定の主キーにかかるデータの結合要請があった場合に当該要請を受け付ける結合要請受付部１０Ａと、この受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノード２０，３０を選定する結合ノード選定部１０Ｂと、この選定されたデータノードに対し前記結合対象の列データの発送を要請するデータ発送要請部１０Ｃとを備えている。
この内、上記結合ノード選定部１０Ｂとデータ発送要請部１０Ｃとにより、データ配信情報管理手段１０Ｍが構成されている。
【００２５】
前述した複数の各データノード２０，３０は、それぞれコントロールノード１０からの指令若しくは要請に基づいて作動し、予め装備されたデータ記憶部２１，３１から対応する表データ２１Ａ，３１Ａの内の行番号にかかる特定された一又は二以上の列データを結合用として抽出し圧縮して前記コントロールノード１０へ伝送するデータ管理部２２，３２を備えている。
【００２６】
上記コントロールノード１０は、各データノード２０，３０から送られてくる圧縮列データを受信すると共に整列してデータ格納部１２へ格納するデータ送受信部１１を備えている。
【００２７】
このコントロールノード１０は、更に、データ送受信部１１で受信された各データノード２０，３０からの圧縮列データについて前述した主キーと同一の主キーを備えたデータ列を特定する結合用データ列特定部１３と、この特定された結合用データ列の組合せを元の各データノード２０，３０の行番号で表示した対応結合リスト（結合結果）１４Ａを作成する結合リスト作成部１４と、この結合リスト作成部１４で作成された対応結合リスト１４Ａに基づいて前記各データノード２０，３０より収集された特定の列データを前述した主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成する結合データ生成部１５とを備えている。
そして、この生成された結合データは、結合データ生成部１５からデータ送受信部１１を介して前述したクライアント端末５０へ送るように構成されている。
【００２８】
これにより、一のデータノード２０内のデータとこれとは異なる他のデータノード３０内のデータとをコントロールノード１０が結合するに際し、当該コントロールノード１０に対する各データノード２０，３０からのデータの送信を圧縮して送信すると共にコントロールノード１０側ではデータ結合に必要なデータを対応する各データノード２０，３０に対しては行番号列で要求するようにしたので、少量の通信容量で且つ少量の作業メモリでデータ結合を迅速に且つ効率良く実行することが可能となる。
【００２９】
又、結合データ生成部１５は、作成された対応結合リスト１４Ａ（図４参照）にかかる行番号１４ｅ，１４ｆを対応する各データノード２０，３０に伝送して該当する一又は二以上のデータ列情報を送信要請する該当列データ送信要請機能１５Ａと、各データノード２０，３０から送られてくる前記行番号に対応した列データの圧縮データを相互に前記主キーを重ね合わせることにより結合すると共に元の列データに復元するデータ結合復元機能１５Ｂとを備えている（図２参照）。
【００３０】
ここで、上記分散型データベース運用システム１は、具体的には、例えば、ある会社における顧客管理データベースシステムであり、一方のデータノード２０は、顧客番号と顧客の名前，住所及び電話番号などの個人情報を所有し、又、他方のデータノード３０は、顧客番号とその顧客が過去に販売した物品と販売した日付の物品販売リストを所有している場合と同等である。
【００３１】
そして、例えば、クライアント端末５０の問い合わせが、顧客名とその顧客の住所と過去に販売した商品のリストの提出である場合、主キーは顧客名であり、一方のデータノード２０から顧客名とその顧客の住所を取り出し、他方のデータノード３０からその顧客名と当該顧客に対して過去に販売した商品に係るデータを抽出する。そして、結合データ生成部１５がこれらのデータを結合して、その結果をクライアント端末５０に返信する。
【００３２】
ここで、各データノード２０，３０に保存されているデータに共通で且つそれぞれのデータを関連付ける項目列である主キー（結合キー列）は、顧客番号を表示した項目列となる。又、各データノード２０，３０から送信されるデータはすべて圧縮されて取り扱われる。そして、クライアント端末５０からの問い合わせのあったデータ結合にかかる主キー（結合キー）については、各データノード２０，３０に対して、そのデータ記憶部２１，３１に記憶されている当該主キーに係る列データの送信を指令する場合に使用される。この場合、送信指令に際しては、主キーの位置する行番号で指令が実行される。
【００３３】
これを更に具体的に説明する。
本実施形態の分散型データベース運用システム１は、前述したように、クライアント端末５０からのデータ結合要請を受けて各データノード２０，３０へ所定の列データにかかるデータ提供を指令すると共にこの提供されたデータの結果の統合処理を行うコントロールノード１０を備えている。データノード２０，３０は、図１では３個の場合を例示し動作説明では二個の場合について説明したが、これら２個（又は３個）に限らず４個以上の複数個であってもよい。
【００３４】
コントロールノード１０は、クライアント端末５０及び前記各データノード２０，３０，４０とデータ通信を実行するデータ送受信部１１を備え、更に、クライアント端末５０からの問い合わせの対象となるデータが何れのデータノード２０，３０，４０に存在するかを検索し確認するデータ配置情報管理手段１０Ｍを備えている。
【００３５】
この場合、例えば、図１では、データノード２０におけるデータ記憶部２１の表データ２１Ａに、データノード３０におけるデータ記憶部３１の表データ３１Ａに、又データノード４０におけるデータ記憶部４１の表データ４１Ａに、それぞれ格納さている情報がデータ配置情報管理手段１０Ｍの管理対象となっている。又、このデータ配置情報管理手段１０Ｍは、更に、前述したように結合ノード選定部１０Ｂとデータ発送要請部１０Ｃとを備えている。
【００３６】
前述したデータノード２０は、更に、前述したコントロールノード１０との間でデータを送受信するデータ通信手段２３を備えている。他のデータノード３０，４０も、このデータノード２０と同様にデータ通信手段３３又は４３を備えている。
これにより、各データノード２０，３０，４０は、コントロールノード１０の指令に従って、予め所持している列データをコントロールノードへ送信することができる。
【００３７】
データ通信手段２３は、データを圧縮するデータ圧縮部２３Ａと、データをコントロールノード１０へ送信するデータ通信部２３Ｂとを備えて構成されている。これにより、データノード２０は、データ管理手段２２から送り込まれるデータを圧縮してコントロールノード１０へ送信することができる。他のデータノード３０，４０も同様である。
【００３８】
又、クライアント端末５０とコントロールノード１０の間、並びにコントロールノード１０と各データノード２０，３０，４０との間は、ネットワークで結合されている。これにより、各要素間で相互通信が可能となっている。
更に、各構成部分では、それぞれ予め装備されたメモリ又はデータ格納部１２により各データは保管され、これに基づいて必要なデータ処理が実行されるようになっている。
【００３９】
（全体の動作）
次に、図３乃至図５に基づいて上記実施形態の動作を説明する。
最初に、図３のフローチャートに基づいて基本的な動作内容を説明し、その後に図４及び図５に基づいて具体的な動作例を説明する。
【００４０】
上記全体の構成でも説明したように、本実施形態における分散型データベース運用システム１は、クライアント（利用者）が操作するクライアント端末２からデータ結合に関する問い合わせがあった場合には、その問い合わせに応答して作動し、必要な情報をまとめてクライアント端末２へ返信することを、その基本的な内容としている。
【００４１】
まず、外部端末であるクライアント端末５０から分散データの結合要請があった場合、分散型データベース運用システム１は、コントロールノード１０の結合要請受付部１０Ａがこれを受信すると共に（ステップＳ１０１／結合要請受信工程）、この受信したデータ結合要請の内容を分析して、主キーおよび結合要請にかかるデータを確認する（内容分析確認工程）。
【００４２】
次に、コントロールノード１０の結合ノード選定部１０Ｂは、この主キーおよび結合要請にかかるデータを格納している複数のデータノード２０，３０，４０を検索し、対応するデータノード２０，３０を選定する（ステップＳ１０２／データノード選定工程）。
続いて、コントロールノード１０のデータ発送要請部１０Ｃが作動し、選定した各データノード２０，３０に対して前記主キーにかかるデータの発送要請を発信する（ステップＳ１０３／列データ発送要請工程）。
【００４３】
次に、このコントロールノード１０からのデータの発送要請に応答して各データノード２０，３０のデータ管理部２２，３２が作動し、予め装備したデータ記憶部２１，３１の表データ２１Ａ，３１Ａから前記主キーにかかる列データを抽出する。図４の例では表データ２１Ａと表データ３１Ａの例を同図の下段領域の左右に示す。
【００４４】
そして、この表データ２１Ａ，３１Ａから抽出された列データは、前述した主キーと共にデータ通信手段２３，３３に圧縮されてコントロールノード１０へ送信される（ステップＳ１０４／列データ送信工程）。
図４の例では、同図の中段領域に開示した符号２１Ｅ，３１Ｅが、主キーと共に圧縮された列データの例を示す。この圧縮された列データ２１Ｅ，３１Ｅが、コントロールノード１０へ送りこまれる。
【００４５】
次に、コントロールノード１０では、各データノード２０，３０から送りこまれる圧縮列データ２１Ｅ，３１Ｅをデータ送受信部１１を介して受信しデータ格納部１２へ格納する。続いて、この受信した圧縮列データ２１Ｅ，３１Ｅは、結合用データ列特定部１３によって主キー毎に、図４に示すように表データ１３Ａ，１３Ｂとして整列処理される（受信データ整列処理工程）。同時に、この表データ１３Ａ，１３Ｂが相互に比較され、一方と他方の表データ１３Ａ，１３Ｂから共通する主キーの行番号が特定される。この図４の場合、結合対象の主キーは、ＡＡＡ１×４５５０×４であり、その行番号が各データノード２０，３０に対応して特定される（行番号特定工程）。
【００４６】
続いて、コントロールノード１０では、結合リスト作成部１４が作動し、一方と他方の表データ１３Ａ，１３Ｂからその結合データの対応関係を示す主キーの対応リストを作成する。この場合、本実施形態では、主キーの行番号で関連付けされて対応結合リスト１４Ａが作成され、データ格納部１２に格納される（ステップＳ１０５／対応結合リスト作成工程））。
【００４７】
次に、コントロールノード１０では、上記作成された対応結合リスト１４Ａに基づいて結合データ生成部１５が稼働し、当該各行番号にかかる結合対象の列データの送信を前述した各データノード２０，３０に要求する（ステップＳ１０６／結合用列データ要求工程）。この場合の指令情報の動きを図５に示す。
この図５では、コントロールノード１０側から、対応結合リスト１４Ａの各行番号「３，３」にかかる列データの送信を一方のデータノード２０へ要求し、対応結合リスト１４Ａの各行番号「２，３」にかかる列データの送信を他方のデータノード３０へ要求する状態を示す。
【００４８】
このコントロールノード１０の結合データ生成部１５からの要求に応じて、各データノード２０，３０は、直ちに応答し、対応する列データをデータ記憶手段２１，３１の表データ２１Ａ，３１Ａから抽出し圧縮してそれぞれコントロールノード１０の前述した結合データ生成部１５へ送信する（ステップＳ１０７／結合用列データ圧縮送信工程）。
図５では、表データ２１Ａからの圧縮列データ２０Ｆと表データ３１Ａからの圧縮列データ３０Ｆとがコントロールノード１０へ送り込まれる様子が矢印で示されている。
【００４９】
続いて、コントロールノード１０は、各データノード２０，３０から送信されてきた圧縮列データ２０Ｆ，３０Ｆを、結合データ生成部１５で受信し復元すると共に（結合用列データ復元工程）、主キー部分を重ね合わせるようにして各列データを結合して実際の結合データ１８を生成する（ステップＳ１０８／結合データ生成工程）。
そして、このデータ格納部１２に格納すると共にデータ送受信部１１を介して前述したクライアント端末５０へ送信し（ステップＳ１０９結合データ送信工程）、これにより、一連の分散されたデータの結合および送信動作が完了する。
【００５０】
ここで、上述したステップＳ１０５〜Ｓ１０６に代えて、前記結合データ生成部１５にて結合対象とする特定の列データについては、これを、例えば前述した結合用データ列特定部１３で収集され整理された各データノード２０，３０毎の列データの整列リスト（一方と他方の表データ）１３Ａ，１３Ｂから、前記対応結合リスト１４Ａに合わせて抽出すると共に、これを特定の列データとして用いるように構成してもよい。
これにより、各データノード２０，３０とのデータ収集の回数が少なくなるので、データ格納部の容量を更に少なくすることができ、データ迅速処理を更に有効に実行することが可能となる。
【００５１】
又、上述した本実施形態における各動作工程にあっては、その実行内容を機能としてプログラム化しコンピュータに実現させるように構成してもよい。
【００５２】
（具体的動作例）
上記実施形態における動作例を、更に具体的に説明する。
図４及び図５において、分散データ運用システム１は、例えば、或る会社における顧客管理データベースシステムであり、一方のデータノード２０は顧客番号と顧客の名前の個人情報であり、他方のデータノード３０は顧客番号とその顧客が過去に販売した物品の物品販売リストである場合を例示する。ここで主キー（結合キー）は、顧客番号である。
【００５３】
クライアント端末５０の問い合わせ（データ結合要請）が、顧客名Ｃ１１と過去に販売した商品のリストＣ１２の取得要請であるとすると、かかる場合、一方のデータノード２０から顧客名を取り出し、他方のデータノード３０からその顧客が過去に販売した商品名を抽出し、これらのデータを結合しクライアント端末５０に返信する。
【００５４】
この場合、コントロールノード１０からの要求を受けた一方と他方の各データノード２０，３０は、結合キー列のデータ（顧客番号）を圧縮してコントロールノード１０へ返送する。圧縮手法は可逆であり、あるデータが何行目に存在していたかの情報が復元できることを満たせば手法は問わない。
【００５５】
本実施形態では、各行の値ごとに、順序通りに並べられた文字列を「開始文字−終了文字」と表現し、同じ文字が連続する部分を「文字×回数」と表現する手法を例にする。
この手法に従うと、「abcdefg12345」の文字列は「a-g1-5」に、「aaaaabbbb 」の文字列は「 a×5b×4 」に圧縮される。
【００５６】
図４において、クライアント端末５０からの結合要請に関するデータである顧客名とその顧客に過去に販売した商品名を、データノード２０とデータノード３０から検索し、圧縮された顧客番号列である結合キー列（主キー列）をコントロールノード１０に送信して、この主キー列である「顧客番号」のデータの結合処理を行い、結合処理の結果を行番号で表示する。
【００５７】
具体的には、表データ２１Ａの主キー列２１Ｃと、表データ３１Ａの主キー列３１Ｃをそれぞれ圧縮主キー列２１Ｅと３１Ｅに圧縮して、コントロールノード１０に送信する。ここで、項列２１Ｂと項列３１Ｂはそれぞれ表データ２１Ａと３１Ａのデータの項番号を表し、データ列２１Ｄとデータ列３１Ｄは、主キー列に付属するデータ（この場合は、顧客に過去に販売した商品名）である。
【００５８】
データノード２０およびデータノード３０から圧縮された結合キー列２１Ｅおよび３１Ｅの形式で主キー列のデータを受け取ったコントロールノード１０は、同じ主キーを持つ行番号を項列２１Ｅと項列２１Ｅから抜き出すと共に、それぞれを組み合わせて結合処理を行う。
この場合、結合処理の手法は問わないが、結合処理の結果は作業メモリを節約するために実際のデータではなく、行番号で表現する。
【００５９】
図４の例では圧縮された主キー列２１Ｅおよび３１Ｅをそれぞれ表１３Ａと表１３Ｂと同等として取り扱う。結果は対応結合リスト１４Ａの項列１４ｅと項列１４ｆのように行番号の対として表現される。
項列２１Ｅと項列３１Ｅの圧縮された主キー列は、主キー列２１Ｃと３１Ｃに相当する。以下、表１４ｆを「行番号による対応結合リスト」と呼ぶ。
【００６０】
次に、ここで得られた行番号による対応結合リスト１４Ａに対し、行番号から実際のデータに復元してクライアント端末５０に返送する。
図５は、コントロールノード１０から行番号による結合結果をデータノード２０及びデータノード３０に送り、コントロールノード１０が、各データノードから行番号による対応結合リスト１４Ａに由来するデータを受信し、クライアント端末５０が要求した形式の対応結合リスト１４Ａのデータを作成する例である。
【００６１】
この処理は、作業メモリに格納できる範囲内で適当な行数をまとめて行う。このまとめられた単位を、ブロックと表記する。先頭のブロックから次の手順で行番号から実際のデータに順次復元する。以下、図５を例にして、この処理を説明する。
【００６２】
まず、行番号による結合結果１４Ａの内、表データ２１Ａに由来する項列１４ｅの行番号による対応結合リスト１４ｅを表２０Ａを管理するデータノード２０に送信し、最終的にクライアント端末５０に返送する結合結果の表データ２１Ａの整列表データ１８の構成要素となる、主キー列１８Ａ（顧客番号）およびデータ列１８Ｂ（顧客名）の圧縮されたデータ２０Ｆを取得する。この場合、圧縮手法は前述した手法を用いた。
同様に、行番号による結合結果１４Ａの内、図４の表データ３１Ａに由来する項列１４ｆについても、データノード３０から必要なデータを圧縮して取得する（データ列１８Ｃ、顧客が過去に購入した物品名）。
【００６３】
これにより、行番号による対応結合リスト１４Ａから、クライアント端末５０が要求した形式の結合データ１８が得られることから、特定の顧客名とその顧客が過去に購入した物品名の結合リストが作成される。作成された結合リストはブロック単位でクライアント端末５０へ送信される。
【００６４】
（実施形態の効果）
本実施形態は、上述したように構成され機能するので、これによると、分散メモリを用いて関連データを格納した複数のデータノードの内の一のデータノードが備えているデータとこのデータノードと異なる他のデータノードが備えているデータとを結合するに際し、データを圧縮してコントロールノード１０とデータノード２０とで通信し、データ結合に必要なデータを表す対応結合リストをコントロールノード１０側で作成し、これに基づいて各データノード２０，３０に行番号を用いてデータを要求指令するようにしたので、少量の通信容量で且つ少量の情報記憶用のメモリで、データ結合およびそのデータ結合されたデータの伝送が可能となるという優れた効果を得ることができる。
【００６５】
上述した実施形態については、その新規な技術的思想の要点（内容）をまとめると、以下のようになる。
尚、本発明は、その権利範囲を必ずしもこれに限定するものではない。
【００６６】
〔付記１〕
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数の各データノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムであって、
前記複数の各データノードが、
前記コントロールノードの指令に基づいて作動し予め装備されたデータ記憶部から表データの内の行番号にかかる特定された一又は二以上の列データを抽出し圧縮して前記コントロールノードへ伝送するデータ管理部を備え、
前記コントロールノードが、
前記各データノードから送られてくる圧縮列データを収集し整列すると共に、前記各データノードにおける前記主キーが同一のデータ列を特定する結合用データ列特定部と、
この特定された結合用データ列の組合せを元の各データノードの行番号で表示した対応結合リストを作成する結合リスト作成部と、
この結合リスト作成部で作成された対応結合リストに基づいて前記各データノードより収集された特定の列データを前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成する結合データ生成部とを備えていることを特徴とした分散型データベース運用システム。
【００６７】
〔付記２〕
付記１に記載の分散型データベース運用システムにおいて、
前記結合データ生成部における前記各データノードより収集された特定の列データは、前記結合リスト作成部で作成された対応結合リストに基づいて前記各データノードから新たに収集した列データであることを特徴とする分散型データベース運用システム。
【００６８】
〔付記３〕
付記２に記載の分散型データベース運用システムにおいて、
前記結合データ生成部が、
前記作成された対応結合リストにかかる行番号を対応する前記各データノードに伝送して該当する一又は二以上の行のデータ列を送信要請する該当列データ送信要請機能と、
前記各データノードから送られてくる前記行番号に対応した列データの圧縮データを前記主体を基準として集計し結合すると共に元の列データに復元するデータ結合復元機能とを備えていることを特徴とした分散型データベース運用システム。
【００６９】
〔付記４〕
付記１に記載の分散型データベース運用システムにおいて、
前記結合データ生成部で前記各データノードより収集される特定の列データは、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出した列データであることを特徴とする分散型データベース運用システム。
【００７０】
〔付記５〕
付記に記載の分散型データベース運用システムにおいて、
前記コントロールノードが、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に当該要請を受け付ける結合要請受付部と、この受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定する結合ノード選定部と、この選定されたデータノードに対し前記結合対象の列データの発送を要請するデータ発送要請部とを備えていることを特徴とした分散型データベース運用システム。
【００７１】
〔付記６〕（付記１対応）
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請をデータ発送要請部が発信し、
前記各データノードから送られてくる圧縮列データを、結合用データ列特定部が対応する各行番号に合わせて整理すると同時に前記主キーが同一のデータノードからの各データ列をそれぞれ特定し、
この特定された結合データ列の組合せを、結合リスト作成部が行番号で表示して前記主キーに対応するデータの対応結合リストを作成し、
この作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを、結合データ生成部が前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成したことを特徴とする分散型データベース運用方法。
【００７２】
〔付記７〕（付記４対応）
付記６に記載の分散型データベース運用方法において、
前記結合データ生成部にて結合対象とする前記特定の列データは、その結合データ生成の実行段階で、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出する列データであることを特徴とする分散型データベース運用方法。
【００７３】
〔付記８〕（付記５対応）
付記６に記載の分散型データベース運用方法において、
前記データ発送要請部による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、結合要請受付部が当該要請を受信し、
次に、この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードをデータノード選定部が選定し、
この選定された複数のデータノードに対して、前記データ発送要請部が前記結合対象の列データの発送の要請をすることを特徴とした散型データベース運用方法。
【００７４】
〔付記９〕（付記６対応）
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請を発信するデータ発送要請発信機能、
前記各データノードから送られてくる圧縮列データを対応する各行に合わせて整理すると共に前記主キーが同一となるデータ列を各データノード毎に対応させて特定する結合データ列特定機能、
この特定された結合データ列の組合せを、行番号で表示して前記主キーに対応するデータの対応結合リストを作成する結合結果作成処理機能、
およびこの作成された対応結合リストに基づいて、前記各データノードより収集された前記主キーが同一の特定の列データを前記主キーを重ね合わせることにより結合させて前記外部要請にかかる結合データを生成する結合データ生成処理機能、を備え、
これらの各機能を前記コントロールノードが備えているコンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。
【００７５】
〔付記１０〕（付記８対応）
付記９に記載の分散型データベース運用プログラムにおいて、
前記データ発送要請機能による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、当該要請を受信する結合要請受信処理機能、
この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定するデータノード選定処理機能、
およびこの選定された複数のデータノードに対して、前記データ発送要請発信機能が前記結合対象の列データの発送の要請をするような構成とし、
これらを前記コンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。
【産業上の利用可能性】
【００７６】
本発明は、会社でのビジネスにおける顧客管理や商品管理などの分散データシステム１全般に利用できる。
【符号の説明】
【００７７】
１    分散型データベース運用システム
１０    コントロールノード
１０Ａ  結合要請受付部
１０Ｂ  結合ノード選定部
１０Ｃ  データ発送要請部
１０Ｍ  データ配置情報管理手段
１１    データ送受信部
１２    データ格納部
１３    結合用データ列特定部
１４    結合リスト作成部
１５    結合データ生成部
１５Ａ  該当列データ送信要請機能
１５Ｂ  データ結合復元機能
２０，３０，４０  データノード
２１，３１，４１  データ記憶部
２２，３２，４２  データ管理部
２３    データ通信手段
２３Ａ  データ圧縮部
２３Ｂ  データ通信部
５０    クライアント端末
【図１】
2011237944.tif 000003
【図２】
2011237944.tif 000004
【図３】
2011237944.tif 000005
【図４】
2011237944.tif 000006
【図５】
2011237944.tif 000007