説明

分散型データベース運用システム、運用方法、及び運用プログラム

【課題】各データノード内のデータを結合するに際し、少ない通信容量で且つ少ないメモリ容量で実行可能な分散型データベース運用システムを得る。
【解決手段】外部端末50からのデータ結合要請で各データノード20,30からデータを集計し結合するコントロールノード10を備え、各データノード20,30は、コントロールノード10からの指令で記憶部から特定の一又は二以上の列データを抽出し圧縮してコントロールノード10へ送信する。コントロールノード10は、受信した圧縮列データを整列し主キーが同一のデータ列を特定する結合用データ列特定部13と、この特定された結合用データ列の組合せを元のデータノード20,30の行番号で表示した対応結合リストを作成しこのリストに基づいて前記各データノード20,30の特定の列データを前記主キーを重ね合わせることにより結合し外部要請にかかる結合データを生成するようにした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散型データベース運用システムに係り、特に、関連データベースシステムを構成する複数のデータノードの内の一方と他方のデータノード内の各データを結合するに好適な分散型データベース運用システム、運用方法、及び運用プログラムに関する。
【背景技術】
【0002】
近年、多様されている関係データベース(Relationl Data Base :RDB)システムにあって、このシステムを構成する各データノード相互間の表の結合処理としては、複数サーバで処理をする手法があり、又、結合対象データの表を単一サーバにまとめて当該単一サーバであるコントロールノード上で処理する手法もある。
この単一サーバ(コントロールノード)上で処理する手法あって、関係データベース内の表の結合を表のまま結合処理を実行する場合は、結合対象の情報を有する各データノードから、対象のデータ情報をすべてコントロールノードに集め、コントロールノード上で一般的な結合処理を行うことになる。
【0003】
上記関係データベースシステムに関する技術としては、下記特許文献1乃至4が知られている。
特許文献1には、パトリシア・ツリー構造(Pツリー構造)内の多数のキー項目(文字、ファクト(数値))から構成される膨大な数のレコード・ファイルを、任意の次元で複数のファイルを横断して集計するに際し、鍵となるキー項目の検索と数値の集計の双方を、最短時間で処理する技術が開示されている。
【0004】
又、特許文献2には、関係データベースシステムにおける結合処理を順次データノードを連続的に処理実行する技術が開示されている。この技術は、結合処理を行う際に、その処理手順を計算機から一データノードに送信し、結合処理を行いこの結合処理が終了するとこの処理手順を次のデータノードへ送信し、結合処理を次のデータノードで行う。次のデータノードで処理が行われた後、処理がない場合は計算機に戻り結合が終了する。処理が残っている場合は、処理がなくなるまで次のデータノードに処理手順を送信し処理を行うように構成されている。
【0005】
特許文献3は、関係データベースシステム(RDB)の異なる2つのデータノードが保持するデータの結合処理に関する技術が開示されている。具体的には、各データノード上のデータを所定のハッシュ関数(データを代表する数値を得るための関数)により分類して成る集まりを各データノードで作成する技術であって、このハッシュ関数により分類された集まりの中のデータ数を各データノードで比較し、この集まりの中のデータ数の小さい側のデータノードのデータを他方のデータノードへ転送してデータを結合する技術が開示されている。
【0006】
更に、特許文献4には、分散データシステムにおいて、複数のデータノードに分散したデータをアクセスして結合を行うリモート結合処理を行う際、通信回線を通るデータ量を最小とする第一のリモート結合方法と、処理町時間を最短とする第二のリモート結合方法とを解析し、両方の結合方法が異なる場合には、通信回線による総データ送信時間と結合対象のデータノードの処理待ち時間に基づいて結合するために必要な全工程にかかる時間が最短となる方法を採用してリモート結合処理を行う方式が開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2001−022766
【特許文献2】特開昭61−208124
【特許文献3】特開昭61−273633
【特許文献4】特開平03−058248
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述したシステムでは、以下に示すような課題があった。
第1に、データノードからコントロールノードに対象となる表のデータをすべて転送するため、通信コストが大きいこと、第2にコントロールノードに対象となる表のすべてのデータが集まるため、これを処理するためにコントロールノード内に大量の半導体メモリが必要であることである。
半導体メモリはハードディスクに比べコストが高い現状があり、又一つのマシンに搭載できる容量も少ないため、少ないメモリ量で作業できるようにすることが重要であり、かかる内容については何らの対応も成されていない。
【0009】
又、上記各特許文献の内、特許文献1における圧縮処理は、Pツリー構造(パトリシア・ツリー構造)に対してレコードのデータを格納する際に、ツリー構造をバランスよくするために行われるものであり、上記課題は何ら解消するものではない。
【0010】
特許文献2は、関係データベースシステムにおける結合処理を行う手法であるが、データノード相互間でデータを転送しながら処理を行う技術に関するものであり、上記課題については何らの対応も成されていない。
【0011】
特許文献3は、2つのデータノード間の結合手法に関するものであり少量の通信容量で実行可能な技術であるが、少量の作業メモリで実行可能な技術ではなく、従って発明の目的が異なり、上記課題については何らの対応も成されていない。
【0012】
そして、特許文献4に関しては、各データノードの情報を収集し、最適な結合手法を決定する方法を提案するものであり、具体的に結合手法を提案する技術ではなく、従って、上記課題については何らの対応も成されていない。
【0013】
[発明の目的]
本発明は、上記課題を改善するために成されたもので、特に、分散型のデータベースを構成する一方と他方の各データノード内のデータを結合する際に、少量の通信容量で且つ少量の作業メモリで実行可能な、分散型データベース運用システム、運用方法、及び運用プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【0014】
上記目的を達成するため、本発明にかかる分散型データベース運用システムは、分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キー(結合キー)にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムであって、
【0015】
前記複数の各データノードが、前記コントロールノードの指令に基づいて作動し予め装備されたデータ記憶部から表データの内の各行にかかる特定された一又は二以上の列データを抽出し圧縮して前記コントロールノードへ伝送するデータ管理部を備え、
前記コントロールノードが、 前記各データノードから送られてくる圧縮列データを収集し各行に合わせて整理すると共に、前記各データノードにおける前記主キーが同一のデータ列を各データノード毎に対応させて特定する結合用データ列特定部と、 この特定された結合用データ列の組合せを行番号で表示し対応結合リストを作成する結合リスト作成部と、 この結合リスト作成部で作成された対応結合リスト(結合結果)に基づいて前記各データノードより収集された特定の列データを前記主キーを基準として(重ね合わせて)結合することにより前記外部要請にかかる結合データを生成する結合データ生成部とを備えていることを特徴とする。
【0016】
上記目的を達成するため、本発明にかかる分散型データベース運用方法は、分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キー(結合キー)にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
【0017】
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請をデータ発送要請部が発信し、 前記各データノードから送られてくる圧縮列データを、結合用データ列特定部が対応する各行に合わせて整理し、同時に前記主キーが同一となるデータ列を各データノード毎に対応させて特定し、 この特定された結合データ列の組合せを、結合リスト作成部が行番号で表示して前記主キーに対応するデータの対応結合リスト(結合結果)を作成し、 この作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを、結合データ生成部が前記主キーを基準として(重ね合わせて)結合させることにより前記外部要請にかかる結合データを生成するようにしたことを特徴とする。
【0018】
上記目的を達成するため、本発明にかかる分散型データベース運用プログラムは、分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キー(結合キー)にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主体にかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
【0019】
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請を発信するデータ発送要請発信機能、 前記各データノードから送られてくる圧縮列データを対応する各行に合わせて整理すると共に前記主キーが同一となるデータ列を各データノード毎に対応させて特定する結合データ列特定機能、 この特定された結合データ列の組合せを、行番号で表示して前記主キーに対応するデータの対応結合リスト(結合結果)を作成する結合結果作成処理機能、 およびこの作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを前記主キーを基準として(重ね合わせて)結合させることにより前記外部要請にかかる結合データを生成する結合データ生成処理機能、を備え、
これらの各機能を前記コントロールノードが備えているコンピュータに実現させるようにしたことを特徴とする。
【発明の効果】
【0020】
以上のように、本発明によると、分散された関連データを格納した複数のデータノード内の一のデータノード内のデータとこれとは異なる他のデータノード内のデータとをコントロールノードが結合するに際し、当該コントロールノードに対する各データノードからのデータの送信を圧縮して送信すると共にコントロールノード側ではデータ結合に必要なデータを対応する各データノードに行番号列で要求するようにしたので、少量の通信容量で且つ少量の作業メモリでデータ結合を迅速に且つ効率良く実行することが可能となるとういう関連技術にない優れた分散型データベース運用システム、運用方法、及び運用プログラムを提供することができる。
【図面の簡単な説明】
【0021】
【図1】本発明の一実施形態における分散型データベース運用システムの構成を示すブロック図である。
【図2】図1中に開示した結合リスト生成部の機能内容の一例を示すブロック図である。
【図3】図1に開示した実施形態の動作を示すフローチャートである。
【図4】図1に開示した実施形態におけるデータの対応結合リスト(結合結果)の作成手順を示す動作説明図である。
【図5】図4における行番号による対応結合リストに基づいて複数のデータノードから対応する列データを収集し結合データを生成する動作手順を示す説明図である。
【発明を実施するための形態】
【0022】
以下、本発明に係る分散型データベース運用システムの一実施形態を、図1乃至図4に基づいて説明する。
【0023】
(全体の構成)
まず、本実施形態について、その基本的構成内容を説明する。
図1において、分散型データベース運用システム1は、分散された関連データをそれぞれ記憶する複数のデータノード20,30,40と、外部端末であるクライアント端末50から特定の主キー(結合キー)にかかるデータの結合要請があった場合に作動し分散された前記複数のデータノード20,30,40の内の例えば二つのデータノード20,30に格納されている表データ21A,31Aの記憶領域から前記主キーにかかるデータを抽出し集計して結合すると共に前記クライアント端末50に出力するコントロールノード10とを備えている。
【0024】
この内、コントロールノード10は、クライアント端末50から特定の主キーにかかるデータの結合要請があった場合に当該要請を受け付ける結合要請受付部10Aと、この受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノード20,30を選定する結合ノード選定部10Bと、この選定されたデータノードに対し前記結合対象の列データの発送を要請するデータ発送要請部10Cとを備えている。
この内、上記結合ノード選定部10Bとデータ発送要請部10Cとにより、データ配信情報管理手段10Mが構成されている。
【0025】
前述した複数の各データノード20,30は、それぞれコントロールノード10からの指令若しくは要請に基づいて作動し、予め装備されたデータ記憶部21,31から対応する表データ21A,31Aの内の行番号にかかる特定された一又は二以上の列データを結合用として抽出し圧縮して前記コントロールノード10へ伝送するデータ管理部22,32を備えている。
【0026】
上記コントロールノード10は、各データノード20,30から送られてくる圧縮列データを受信すると共に整列してデータ格納部12へ格納するデータ送受信部11を備えている。
【0027】
このコントロールノード10は、更に、データ送受信部11で受信された各データノード20,30からの圧縮列データについて前述した主キーと同一の主キーを備えたデータ列を特定する結合用データ列特定部13と、この特定された結合用データ列の組合せを元の各データノード20,30の行番号で表示した対応結合リスト(結合結果)14Aを作成する結合リスト作成部14と、この結合リスト作成部14で作成された対応結合リスト14Aに基づいて前記各データノード20,30より収集された特定の列データを前述した主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成する結合データ生成部15とを備えている。
そして、この生成された結合データは、結合データ生成部15からデータ送受信部11を介して前述したクライアント端末50へ送るように構成されている。
【0028】
これにより、一のデータノード20内のデータとこれとは異なる他のデータノード30内のデータとをコントロールノード10が結合するに際し、当該コントロールノード10に対する各データノード20,30からのデータの送信を圧縮して送信すると共にコントロールノード10側ではデータ結合に必要なデータを対応する各データノード20,30に対しては行番号列で要求するようにしたので、少量の通信容量で且つ少量の作業メモリでデータ結合を迅速に且つ効率良く実行することが可能となる。
【0029】
又、結合データ生成部15は、作成された対応結合リスト14A(図4参照)にかかる行番号14e,14fを対応する各データノード20,30に伝送して該当する一又は二以上のデータ列情報を送信要請する該当列データ送信要請機能15Aと、各データノード20,30から送られてくる前記行番号に対応した列データの圧縮データを相互に前記主キーを重ね合わせることにより結合すると共に元の列データに復元するデータ結合復元機能15Bとを備えている(図2参照)。
【0030】
ここで、上記分散型データベース運用システム1は、具体的には、例えば、ある会社における顧客管理データベースシステムであり、一方のデータノード20は、顧客番号と顧客の名前,住所及び電話番号などの個人情報を所有し、又、他方のデータノード30は、顧客番号とその顧客が過去に販売した物品と販売した日付の物品販売リストを所有している場合と同等である。
【0031】
そして、例えば、クライアント端末50の問い合わせが、顧客名とその顧客の住所と過去に販売した商品のリストの提出である場合、主キーは顧客名であり、一方のデータノード20から顧客名とその顧客の住所を取り出し、他方のデータノード30からその顧客名と当該顧客に対して過去に販売した商品に係るデータを抽出する。そして、結合データ生成部15がこれらのデータを結合して、その結果をクライアント端末50に返信する。
【0032】
ここで、各データノード20,30に保存されているデータに共通で且つそれぞれのデータを関連付ける項目列である主キー(結合キー列)は、顧客番号を表示した項目列となる。又、各データノード20,30から送信されるデータはすべて圧縮されて取り扱われる。そして、クライアント端末50からの問い合わせのあったデータ結合にかかる主キー(結合キー)については、各データノード20,30に対して、そのデータ記憶部21,31に記憶されている当該主キーに係る列データの送信を指令する場合に使用される。この場合、送信指令に際しては、主キーの位置する行番号で指令が実行される。
【0033】
これを更に具体的に説明する。
本実施形態の分散型データベース運用システム1は、前述したように、クライアント端末50からのデータ結合要請を受けて各データノード20,30へ所定の列データにかかるデータ提供を指令すると共にこの提供されたデータの結果の統合処理を行うコントロールノード10を備えている。データノード20,30は、図1では3個の場合を例示し動作説明では二個の場合について説明したが、これら2個(又は3個)に限らず4個以上の複数個であってもよい。
【0034】
コントロールノード10は、クライアント端末50及び前記各データノード20,30,40とデータ通信を実行するデータ送受信部11を備え、更に、クライアント端末50からの問い合わせの対象となるデータが何れのデータノード20,30,40に存在するかを検索し確認するデータ配置情報管理手段10Mを備えている。
【0035】
この場合、例えば、図1では、データノード20におけるデータ記憶部21の表データ21Aに、データノード30におけるデータ記憶部31の表データ31Aに、又データノード40におけるデータ記憶部41の表データ41Aに、それぞれ格納さている情報がデータ配置情報管理手段10Mの管理対象となっている。又、このデータ配置情報管理手段10Mは、更に、前述したように結合ノード選定部10Bとデータ発送要請部10Cとを備えている。
【0036】
前述したデータノード20は、更に、前述したコントロールノード10との間でデータを送受信するデータ通信手段23を備えている。他のデータノード30,40も、このデータノード20と同様にデータ通信手段33又は43を備えている。
これにより、各データノード20,30,40は、コントロールノード10の指令に従って、予め所持している列データをコントロールノードへ送信することができる。
【0037】
データ通信手段23は、データを圧縮するデータ圧縮部23Aと、データをコントロールノード10へ送信するデータ通信部23Bとを備えて構成されている。これにより、データノード20は、データ管理手段22から送り込まれるデータを圧縮してコントロールノード10へ送信することができる。他のデータノード30,40も同様である。
【0038】
又、クライアント端末50とコントロールノード10の間、並びにコントロールノード10と各データノード20,30,40との間は、ネットワークで結合されている。これにより、各要素間で相互通信が可能となっている。
更に、各構成部分では、それぞれ予め装備されたメモリ又はデータ格納部12により各データは保管され、これに基づいて必要なデータ処理が実行されるようになっている。
【0039】
(全体の動作)
次に、図3乃至図5に基づいて上記実施形態の動作を説明する。
最初に、図3のフローチャートに基づいて基本的な動作内容を説明し、その後に図4及び図5に基づいて具体的な動作例を説明する。
【0040】
上記全体の構成でも説明したように、本実施形態における分散型データベース運用システム1は、クライアント(利用者)が操作するクライアント端末2からデータ結合に関する問い合わせがあった場合には、その問い合わせに応答して作動し、必要な情報をまとめてクライアント端末2へ返信することを、その基本的な内容としている。
【0041】
まず、外部端末であるクライアント端末50から分散データの結合要請があった場合、分散型データベース運用システム1は、コントロールノード10の結合要請受付部10Aがこれを受信すると共に(ステップS101/結合要請受信工程)、この受信したデータ結合要請の内容を分析して、主キーおよび結合要請にかかるデータを確認する(内容分析確認工程)。
【0042】
次に、コントロールノード10の結合ノード選定部10Bは、この主キーおよび結合要請にかかるデータを格納している複数のデータノード20,30,40を検索し、対応するデータノード20,30を選定する(ステップS102/データノード選定工程)。
続いて、コントロールノード10のデータ発送要請部10Cが作動し、選定した各データノード20,30に対して前記主キーにかかるデータの発送要請を発信する(ステップS103/列データ発送要請工程)。
【0043】
次に、このコントロールノード10からのデータの発送要請に応答して各データノード20,30のデータ管理部22,32が作動し、予め装備したデータ記憶部21,31の表データ21A,31Aから前記主キーにかかる列データを抽出する。図4の例では表データ21Aと表データ31Aの例を同図の下段領域の左右に示す。
【0044】
そして、この表データ21A,31Aから抽出された列データは、前述した主キーと共にデータ通信手段23,33に圧縮されてコントロールノード10へ送信される(ステップS104/列データ送信工程)。
図4の例では、同図の中段領域に開示した符号21E,31Eが、主キーと共に圧縮された列データの例を示す。この圧縮された列データ21E,31Eが、コントロールノード10へ送りこまれる。
【0045】
次に、コントロールノード10では、各データノード20,30から送りこまれる圧縮列データ21E,31Eをデータ送受信部11を介して受信しデータ格納部12へ格納する。続いて、この受信した圧縮列データ21E,31Eは、結合用データ列特定部13によって主キー毎に、図4に示すように表データ13A,13Bとして整列処理される(受信データ整列処理工程)。同時に、この表データ13A,13Bが相互に比較され、一方と他方の表データ13A,13Bから共通する主キーの行番号が特定される。この図4の場合、結合対象の主キーは、AAA1×4550×4であり、その行番号が各データノード20,30に対応して特定される(行番号特定工程)。
【0046】
続いて、コントロールノード10では、結合リスト作成部14が作動し、一方と他方の表データ13A,13Bからその結合データの対応関係を示す主キーの対応リストを作成する。この場合、本実施形態では、主キーの行番号で関連付けされて対応結合リスト14Aが作成され、データ格納部12に格納される(ステップS105/対応結合リスト作成工程))。
【0047】
次に、コントロールノード10では、上記作成された対応結合リスト14Aに基づいて結合データ生成部15が稼働し、当該各行番号にかかる結合対象の列データの送信を前述した各データノード20,30に要求する(ステップS106/結合用列データ要求工程)。この場合の指令情報の動きを図5に示す。
この図5では、コントロールノード10側から、対応結合リスト14Aの各行番号「3,3」にかかる列データの送信を一方のデータノード20へ要求し、対応結合リスト14Aの各行番号「2,3」にかかる列データの送信を他方のデータノード30へ要求する状態を示す。
【0048】
このコントロールノード10の結合データ生成部15からの要求に応じて、各データノード20,30は、直ちに応答し、対応する列データをデータ記憶手段21,31の表データ21A,31Aから抽出し圧縮してそれぞれコントロールノード10の前述した結合データ生成部15へ送信する(ステップS107/結合用列データ圧縮送信工程)。
図5では、表データ21Aからの圧縮列データ20Fと表データ31Aからの圧縮列データ30Fとがコントロールノード10へ送り込まれる様子が矢印で示されている。
【0049】
続いて、コントロールノード10は、各データノード20,30から送信されてきた圧縮列データ20F,30Fを、結合データ生成部15で受信し復元すると共に(結合用列データ復元工程)、主キー部分を重ね合わせるようにして各列データを結合して実際の結合データ18を生成する(ステップS108/結合データ生成工程)。
そして、このデータ格納部12に格納すると共にデータ送受信部11を介して前述したクライアント端末50へ送信し(ステップS109結合データ送信工程)、これにより、一連の分散されたデータの結合および送信動作が完了する。
【0050】
ここで、上述したステップS105〜S106に代えて、前記結合データ生成部15にて結合対象とする特定の列データについては、これを、例えば前述した結合用データ列特定部13で収集され整理された各データノード20,30毎の列データの整列リスト(一方と他方の表データ)13A,13Bから、前記対応結合リスト14Aに合わせて抽出すると共に、これを特定の列データとして用いるように構成してもよい。
これにより、各データノード20,30とのデータ収集の回数が少なくなるので、データ格納部の容量を更に少なくすることができ、データ迅速処理を更に有効に実行することが可能となる。
【0051】
又、上述した本実施形態における各動作工程にあっては、その実行内容を機能としてプログラム化しコンピュータに実現させるように構成してもよい。
【0052】
(具体的動作例)
上記実施形態における動作例を、更に具体的に説明する。
図4及び図5において、分散データ運用システム1は、例えば、或る会社における顧客管理データベースシステムであり、一方のデータノード20は顧客番号と顧客の名前の個人情報であり、他方のデータノード30は顧客番号とその顧客が過去に販売した物品の物品販売リストである場合を例示する。ここで主キー(結合キー)は、顧客番号である。
【0053】
クライアント端末50の問い合わせ(データ結合要請)が、顧客名C11と過去に販売した商品のリストC12の取得要請であるとすると、かかる場合、一方のデータノード20から顧客名を取り出し、他方のデータノード30からその顧客が過去に販売した商品名を抽出し、これらのデータを結合しクライアント端末50に返信する。
【0054】
この場合、コントロールノード10からの要求を受けた一方と他方の各データノード20,30は、結合キー列のデータ(顧客番号)を圧縮してコントロールノード10へ返送する。圧縮手法は可逆であり、あるデータが何行目に存在していたかの情報が復元できることを満たせば手法は問わない。
【0055】
本実施形態では、各行の値ごとに、順序通りに並べられた文字列を「開始文字−終了文字」と表現し、同じ文字が連続する部分を「文字×回数」と表現する手法を例にする。
この手法に従うと、「abcdefg12345」の文字列は「a-g1-5」に、「aaaaabbbb 」の文字列は「 a×5b×4 」に圧縮される。
【0056】
図4において、クライアント端末50からの結合要請に関するデータである顧客名とその顧客に過去に販売した商品名を、データノード20とデータノード30から検索し、圧縮された顧客番号列である結合キー列(主キー列)をコントロールノード10に送信して、この主キー列である「顧客番号」のデータの結合処理を行い、結合処理の結果を行番号で表示する。
【0057】
具体的には、表データ21Aの主キー列21Cと、表データ31Aの主キー列31Cをそれぞれ圧縮主キー列21Eと31Eに圧縮して、コントロールノード10に送信する。ここで、項列21Bと項列31Bはそれぞれ表データ21Aと31Aのデータの項番号を表し、データ列21Dとデータ列31Dは、主キー列に付属するデータ(この場合は、顧客に過去に販売した商品名)である。
【0058】
データノード20およびデータノード30から圧縮された結合キー列21Eおよび31Eの形式で主キー列のデータを受け取ったコントロールノード10は、同じ主キーを持つ行番号を項列21Eと項列21Eから抜き出すと共に、それぞれを組み合わせて結合処理を行う。
この場合、結合処理の手法は問わないが、結合処理の結果は作業メモリを節約するために実際のデータではなく、行番号で表現する。
【0059】
図4の例では圧縮された主キー列21Eおよび31Eをそれぞれ表13Aと表13Bと同等として取り扱う。結果は対応結合リスト14Aの項列14eと項列14fのように行番号の対として表現される。
項列21Eと項列31Eの圧縮された主キー列は、主キー列21Cと31Cに相当する。以下、表14fを「行番号による対応結合リスト」と呼ぶ。
【0060】
次に、ここで得られた行番号による対応結合リスト14Aに対し、行番号から実際のデータに復元してクライアント端末50に返送する。
図5は、コントロールノード10から行番号による結合結果をデータノード20及びデータノード30に送り、コントロールノード10が、各データノードから行番号による対応結合リスト14Aに由来するデータを受信し、クライアント端末50が要求した形式の対応結合リスト14Aのデータを作成する例である。
【0061】
この処理は、作業メモリに格納できる範囲内で適当な行数をまとめて行う。このまとめられた単位を、ブロックと表記する。先頭のブロックから次の手順で行番号から実際のデータに順次復元する。以下、図5を例にして、この処理を説明する。
【0062】
まず、行番号による結合結果14Aの内、表データ21Aに由来する項列14eの行番号による対応結合リスト14eを表20Aを管理するデータノード20に送信し、最終的にクライアント端末50に返送する結合結果の表データ21Aの整列表データ18の構成要素となる、主キー列18A(顧客番号)およびデータ列18B(顧客名)の圧縮されたデータ20Fを取得する。この場合、圧縮手法は前述した手法を用いた。
同様に、行番号による結合結果14Aの内、図4の表データ31Aに由来する項列14fについても、データノード30から必要なデータを圧縮して取得する(データ列18C、顧客が過去に購入した物品名)。
【0063】
これにより、行番号による対応結合リスト14Aから、クライアント端末50が要求した形式の結合データ18が得られることから、特定の顧客名とその顧客が過去に購入した物品名の結合リストが作成される。作成された結合リストはブロック単位でクライアント端末50へ送信される。
【0064】
(実施形態の効果)
本実施形態は、上述したように構成され機能するので、これによると、分散メモリを用いて関連データを格納した複数のデータノードの内の一のデータノードが備えているデータとこのデータノードと異なる他のデータノードが備えているデータとを結合するに際し、データを圧縮してコントロールノード10とデータノード20とで通信し、データ結合に必要なデータを表す対応結合リストをコントロールノード10側で作成し、これに基づいて各データノード20,30に行番号を用いてデータを要求指令するようにしたので、少量の通信容量で且つ少量の情報記憶用のメモリで、データ結合およびそのデータ結合されたデータの伝送が可能となるという優れた効果を得ることができる。
【0065】
上述した実施形態については、その新規な技術的思想の要点(内容)をまとめると、以下のようになる。
尚、本発明は、その権利範囲を必ずしもこれに限定するものではない。
【0066】
〔付記1〕
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数の各データノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムであって、
前記複数の各データノードが、
前記コントロールノードの指令に基づいて作動し予め装備されたデータ記憶部から表データの内の行番号にかかる特定された一又は二以上の列データを抽出し圧縮して前記コントロールノードへ伝送するデータ管理部を備え、
前記コントロールノードが、
前記各データノードから送られてくる圧縮列データを収集し整列すると共に、前記各データノードにおける前記主キーが同一のデータ列を特定する結合用データ列特定部と、
この特定された結合用データ列の組合せを元の各データノードの行番号で表示した対応結合リストを作成する結合リスト作成部と、
この結合リスト作成部で作成された対応結合リストに基づいて前記各データノードより収集された特定の列データを前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成する結合データ生成部とを備えていることを特徴とした分散型データベース運用システム。
【0067】
〔付記2〕
付記1に記載の分散型データベース運用システムにおいて、
前記結合データ生成部における前記各データノードより収集された特定の列データは、前記結合リスト作成部で作成された対応結合リストに基づいて前記各データノードから新たに収集した列データであることを特徴とする分散型データベース運用システム。
【0068】
〔付記3〕
付記2に記載の分散型データベース運用システムにおいて、
前記結合データ生成部が、
前記作成された対応結合リストにかかる行番号を対応する前記各データノードに伝送して該当する一又は二以上の行のデータ列を送信要請する該当列データ送信要請機能と、
前記各データノードから送られてくる前記行番号に対応した列データの圧縮データを前記主体を基準として集計し結合すると共に元の列データに復元するデータ結合復元機能とを備えていることを特徴とした分散型データベース運用システム。
【0069】
〔付記4〕
付記1に記載の分散型データベース運用システムにおいて、
前記結合データ生成部で前記各データノードより収集される特定の列データは、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出した列データであることを特徴とする分散型データベース運用システム。
【0070】
〔付記5〕
付記に記載の分散型データベース運用システムにおいて、
前記コントロールノードが、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に当該要請を受け付ける結合要請受付部と、この受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定する結合ノード選定部と、この選定されたデータノードに対し前記結合対象の列データの発送を要請するデータ発送要請部とを備えていることを特徴とした分散型データベース運用システム。
【0071】
〔付記6〕(付記1対応)
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請をデータ発送要請部が発信し、
前記各データノードから送られてくる圧縮列データを、結合用データ列特定部が対応する各行番号に合わせて整理すると同時に前記主キーが同一のデータノードからの各データ列をそれぞれ特定し、
この特定された結合データ列の組合せを、結合リスト作成部が行番号で表示して前記主キーに対応するデータの対応結合リストを作成し、
この作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを、結合データ生成部が前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成したことを特徴とする分散型データベース運用方法。
【0072】
〔付記7〕(付記4対応)
付記6に記載の分散型データベース運用方法において、
前記結合データ生成部にて結合対象とする前記特定の列データは、その結合データ生成の実行段階で、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出する列データであることを特徴とする分散型データベース運用方法。
【0073】
〔付記8〕(付記5対応)
付記6に記載の分散型データベース運用方法において、
前記データ発送要請部による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、結合要請受付部が当該要請を受信し、
次に、この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードをデータノード選定部が選定し、
この選定された複数のデータノードに対して、前記データ発送要請部が前記結合対象の列データの発送の要請をすることを特徴とした散型データベース運用方法。
【0074】
〔付記9〕(付記6対応)
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請を発信するデータ発送要請発信機能、
前記各データノードから送られてくる圧縮列データを対応する各行に合わせて整理すると共に前記主キーが同一となるデータ列を各データノード毎に対応させて特定する結合データ列特定機能、
この特定された結合データ列の組合せを、行番号で表示して前記主キーに対応するデータの対応結合リストを作成する結合結果作成処理機能、
およびこの作成された対応結合リストに基づいて、前記各データノードより収集された前記主キーが同一の特定の列データを前記主キーを重ね合わせることにより結合させて前記外部要請にかかる結合データを生成する結合データ生成処理機能、を備え、
これらの各機能を前記コントロールノードが備えているコンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。
【0075】
〔付記10〕(付記8対応)
付記9に記載の分散型データベース運用プログラムにおいて、
前記データ発送要請機能による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、当該要請を受信する結合要請受信処理機能、
この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定するデータノード選定処理機能、
およびこの選定された複数のデータノードに対して、前記データ発送要請発信機能が前記結合対象の列データの発送の要請をするような構成とし、
これらを前記コンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。
【産業上の利用可能性】
【0076】
本発明は、会社でのビジネスにおける顧客管理や商品管理などの分散データシステム1全般に利用できる。
【符号の説明】
【0077】
1 分散型データベース運用システム
10 コントロールノード
10A 結合要請受付部
10B 結合ノード選定部
10C データ発送要請部
10M データ配置情報管理手段
11 データ送受信部
12 データ格納部
13 結合用データ列特定部
14 結合リスト作成部
15 結合データ生成部
15A 該当列データ送信要請機能
15B データ結合復元機能
20,30,40 データノード
21,31,41 データ記憶部
22,32,42 データ管理部
23 データ通信手段
23A データ圧縮部
23B データ通信部
50 クライアント端末

【特許請求の範囲】
【請求項1】
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数の各データノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムであって、
前記複数の各データノードが、
前記コントロールノードの指令に基づいて作動し予め装備されたデータ記憶部から表データの内の行番号にかかる特定された一又は二以上の列データを抽出し圧縮して前記コントロールノードへ伝送するデータ管理部を備え、
前記コントロールノードが、
前記各データノードから送られてくる圧縮列データを収集し整列すると共に、前記各データノードにおける前記主キーが同一のデータ列を特定する結合用データ列特定部と、
この特定された結合用データ列の組合せを元の各データノードの行番号で表示した対応結合リストを作成する結合リスト作成部と、
この結合リスト作成部で作成された対応結合リストに基づいて前記各データノードより収集された特定の列データを前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成する結合データ生成部とを備えていることを特徴とした分散型データベース運用システム。
【請求項2】
請求項1に記載の分散型データベース運用システムにおいて、
前記結合データ生成部における前記各データノードより収集された特定の列データは、前記結合リスト作成部で作成された対応結合リストに基づいて前記各データノードから新たに収集した列データであることを特徴とする分散型データベース運用システム。
【請求項3】
請求項2に記載の分散型データベース運用システムにおいて、
前記結合データ生成部が、
前記作成された対応結合リストにかかる行番号を対応する前記各データノードに伝送して該当する一又は二以上の行のデータ列を送信要請する該当列データ送信要請機能と、
前記各データノードから送られてくる前記行番号に対応した列データの圧縮データを前記主体を基準として集計し結合すると共に元の列データに復元するデータ結合復元機能とを備えていることを特徴とした分散型データベース運用システム。
【請求項4】
請求項1に記載の分散型データベース運用システムにおいて、
前記結合データ生成部で前記各データノードより収集される特定の列データは、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出した列データであることを特徴とする分散型データベース運用システム。
【請求項5】
請求項1に記載の分散型データベース運用システムにおいて、
前記コントロールノードが、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に当該要請を受け付ける結合要請受付部と、この受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定する結合ノード選定部と、この選定されたデータノードに対し前記結合対象の列データの発送を要請するデータ発送要請部とを備えていることを特徴とした分散型データベース運用システム。
【請求項6】
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請をデータ発送要請部が発信し、
前記各データノードから送られてくる圧縮列データを、結合用データ列特定部が対応する各行番号に合わせて整理すると同時に前記主キーが同一のデータノードからの各データ列をそれぞれ特定し、
この特定された結合データ列の組合せを、結合リスト作成部が行番号で表示して前記主キーに対応するデータの対応結合リストを作成し、
この作成された対応結合リストに基づいて、前記各データノードより収集された特定の列データを、結合データ生成部が前記主キーを重ね合わせることにより結合し前記外部要請にかかる結合データを生成したことを特徴とする分散型データベース運用方法。
【請求項7】
請求項6に記載の分散型データベース運用方法において、
前記結合データ生成部にて結合対象とする前記特定の列データは、その結合データ生成の実行段階で、前記結合用データ列特定部で収集され整理された各データノード毎の列データから前記対応結合リストに合わせて抽出する列データであることを特徴とする分散型データベース運用方法。
【請求項8】
請求項6に記載の分散型データベース運用方法において、
前記データ発送要請部による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、結合要請受付部が当該要請を受信し、
次に、この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードをデータノード選定部が選定し、
この選定された複数のデータノードに対して、前記データ発送要請部が前記結合対象の列データの発送の要請をすることを特徴とした散型データベース運用方法。
【請求項9】
分散された関連データをそれぞれ記憶する複数のデータノードと、外部端末から特定の主キーにかかるデータの結合要請があった場合に作動し分散された前記複数のデータノードに格納されている表データの内の前記主キーにかかるデータを集計し結合すると共に前記外部端末に出力するコントロールノードとを備えた分散型データベース運用システムにあって、
前記外部端末からの分散データ結合要請に従って前記各データノードに対して前記主キーにかかるデータの発送要請を発信するデータ発送要請発信機能、
前記各データノードから送られてくる圧縮列データを対応する各行に合わせて整理すると共に前記主キーが同一となるデータ列を各データノード毎に対応させて特定する結合データ列特定機能、
この特定された結合データ列の組合せを、行番号で表示して前記主キーに対応するデータの対応結合リストを作成する結合結果作成処理機能、
およびこの作成された対応結合リストに基づいて、前記各データノードより収集された前記主キーが同一の特定の列データを前記主キーを重ね合わせることにより結合させて前記外部要請にかかる結合データを生成する結合データ生成処理機能、を備え、
これらの各機能を前記コントロールノードが備えているコンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。
【請求項10】
請求項9に記載の分散型データベース運用プログラムにおいて、
前記データ発送要請機能による複数の前記データノードに対するデータの発送要請の発信に先立って、
前記外部端末から特定の主キーにかかるデータの結合要請があった場合に、当該要請を受信する結合要請受信処理機能、
この受信し受け付けた結合要請にかかる前記主キーの関連データが格納されている複数のデータノードを選定するデータノード選定処理機能、
およびこの選定された複数のデータノードに対して、前記データ発送要請発信機能が前記結合対象の列データの発送の要請をするような構成とし、
これらを前記コンピュータに実現させるようにしたことを特徴とした分散型データベース運用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate