JP5180786B2 - データベース装置、データベースシステムおよびテーブルデータ結合方法 - Google Patents

データベース装置、データベースシステムおよびテーブルデータ結合方法 Download PDF

Info

Publication number
JP5180786B2
JP5180786B2 JP2008291507A JP2008291507A JP5180786B2 JP 5180786 B2 JP5180786 B2 JP 5180786B2 JP 2008291507 A JP2008291507 A JP 2008291507A JP 2008291507 A JP2008291507 A JP 2008291507A JP 5180786 B2 JP5180786 B2 JP 5180786B2
Authority
JP
Japan
Prior art keywords
column
database
record
acquisition request
database device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008291507A
Other languages
English (en)
Other versions
JP2010117951A (ja
Inventor
啓敏 須賀
純司 寺本
尚也 小谷
健 山室
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2008291507A priority Critical patent/JP5180786B2/ja
Publication of JP2010117951A publication Critical patent/JP2010117951A/ja
Application granted granted Critical
Publication of JP5180786B2 publication Critical patent/JP5180786B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分散データベースシステムにおけるテーブルの結合技術に関する。特に3つ以上のデータベース装置がネットワーク内に分散しているシステムにおいて、各データベース装置の保持するテーブルのレコードのうち、結合対象カラムとして指定されたカラム(列)の値が同じであるレコードを結合して、等結合結果テーブルを作成する技術に関する。
従来から、データベースの複数テーブルのカラムの値について、そのカラムの値が等しいレコードを結合させる等結合処理がある。図19は、比較例となる等結合処理を概念的に示した図である。図19に示すように、例えば、商品名ごとに、その商品の価格を示したテーブル1と、商品名ごとに、その商品の受注日と受注数とを示したテーブル2を、商品名カラムを結合対象カラムとして、1つのテーブルに結合する場合を考える。このような場合、テーブル1の商品名カラムの値(商品名)と、テーブル2の商品名カラムの値(商品名)とを比較し、テーブル1,2で同じ商品名の値を持つレコードを結合させる。例えば、これらのテーブル1,2で共通する商品名は「きゅうり、なす、ピーマン、かぼちゃ」である。よって、テーブル1,2からこれらの商品の受注日と受注数を読み出し、これらのデータを結合して、テーブル1+2を作成する。ここで、3つ以上のテーブルを等結合する場合には、前記したような2つのテーブルの結合を繰り返す(非特許文献1)。例えば、図19に示すように、テーブル1,2,3という3つのテーブルを等結合する場合、まずテーブル1,2を等結合し、テーブル1+2を得る。そして、テーブル1+2と、テーブル3とを等結合し、テーブル1+2+3を得る。
また、複数テーブル間の等結合処理が必要とされるデータウェアハウス向けのデータベースシステムでは、スターインデックスが考案されている(非特許文献2)。このスターインデックスは、1つの事実テーブルと複数の次元テーブルからなるスタースキーマにおいて、事実テーブルの個々の行に対応する複数の外部キー(各次元テーブルのそれぞれの主キー)を事前にまとめて複合インデックスとして構築しておくものである。図20に示すように、売上明細(事実テーブル)に対し、顧客、商品、地区、店舗という次元テーブルが存在するとする。このような場合、売上明細に対し、顧客、商品、地区、店舗という次元テーブルとの組み合わせ分だけのインデックス(スターインデックス)を作成しておく。このようにすることで、例えば、売上明細「xxxxxx」に対する地区、店舗、顧客、商品に関する情報を、各次元テーブルの主キーで高速に参照することが可能であるため、結合処理の高速化が可能となる。
李華植、"データベースパフォーマンスアップの教科書 基本原理編"、第6章、p.466、株式会社翔泳社、2007年8月5日 西川陽一、"図解・標準 最新データベース技術 マスタリングハンドブック"chapter9、p.420、株式会社秀和システム、2002年11月11日
このように、3つ以上のテーブルについて、1つのカラムを結合対象カラムとして等結合をするとき、2つのテーブルを等結合する処理を繰り返す方法では、中間状態のテーブルのサイズが非常に大きくなってしまう。例えば、前記した図19に示すテーブル1,2,3を等結合する場合、テーブル1,2,3の等結合の結果のテーブル1+2+3は、テーブル1,2,3の商品名のうち「きゅうり、かぼちゃ」のレコードのみがあればよい。ところが、テーブル1+2においては、「きゅうり、なす、ピーマン、かぼちゃ」に関するデータも必要となる。つまり、最終的には、このテーブル1,2,3の間で共通する商品名のデータのみを結合させればよいところ、テーブルを2つずつ等結合していく方法では、中間段階で余分に等結合を行うことになる。このため、テーブルの結合の多くのメモリ領域を用いることになり、また、結合対象のテーブルが多数になれば等結合処理の負荷も大きくなる。
また、前記したスターインデックスによる複数テーブルの等結合をする場合、事実テーブルの各レコードに対応する各次元テーブルのレコードの主キーを、外部キーとして事前にまとめてスターインデックスを構築しておく必要がある。よって、スターインデックスには外部キー制約が発生する。任意の複数のテーブル間での柔軟な組み合わせで高速な等結合処理を実施するためには、外部キー制約が設定されていなくても高速な等結合処理が可能であることが必要であるため、スターインデックスによる手法は適さない。
そこで、本発明は、前記した課題を解決し、データベースシステムの3つ以上のテーブルについて、1つのカラムを結合対象カラムとして等結合をするとき、等結合処理の負荷を軽減し、等結合処理を高速化することを目的とする。
前記した課題を解決するため、請求項1に記載の発明は、データベースシステムにおいて3以上のテーブルのレコードを等結合するデータベース装置が、データの入出力を司る入出力部と、複数のカラムの値からなる1以上のレコードを備えたテーブルを記憶する記憶部と、入出力部経由で、3以上の結合対象テーブルの識別情報と、そのテーブルにおける結合対象カラムの識別情報とを示した結合指示情報の入力を受け付ける結合クエリ受信部と、入出力部経由で、3以上の結合対象テーブルのうち、自身の保持するテーブル以外のテーブルを保持するデータベース装置へ、自身のテーブルにおける結合対象カラムの値と、結合対象カラムの識別情報と、結合対象テーブルの識別情報と、自身のデータベース装置の識別情報とを示したカラム情報取得要求を送信するカラム情報取得要求送信部と、入出力部経由で、他のデータベース装置から、当該他のデータベース装置における結合対象テーブルの結合対象カラムの値について、自身のテーブルにおける結合対象カラムの値と同じ値の有無を示したカラム情報を取得するカラム情報受信部と、入出力部経由で、他のデータベース装置から受信したカラム情報をもとに、自身の結合対象テーブルおよび各他のデータベース装置の結合対象テーブルすべてに存在する結合対象カラムの値を判断するAND演算処理を行うAND演算部と、入出力部経由で、結合対象カラムの値を保持する他のデータベース装置それぞれへ、AND演算処理により得られたカラムの値に対応するレコードの取得要求であるレコード取得要求を送信するレコード取得要求部と、入出力部経由で、レコード取得要求に応じて、他のデータベース装置それぞれから送信されたレコードと、自身の結合対象テーブルにおける、AND演算処理により得られたカラムの値に対応するレコードとを結合するレコード結合処理部とを備えることを特徴とする。
請求項2に記載の発明は、請求項1に記載のデータベース装置を含むデータベースシステムにおいて、カラム情報取得要求を受信する第2のデータベース装置が、データの入出力を司る入出力部と、複数のカラムの値からなる1以上のレコードを備えたテーブルを記憶する記憶部と、入出力部経由で、他のデータベース装置から、カラム情報取得要求を受信するカラム情報取得要求受信部と、入出力部経由で、自身の保持する結合対象テーブルのカラムのうち、カラム情報取得要求に示される結合対象カラムについて、このカラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、前記他のデータベース装置へ送信するカラム情報送信部と、入出力部経由で、他のデータベース装置から、レコード取得要求を受信するレコード取得要求受信部と、自身の保持する結合対象テーブルのレコードのうち、レコード取得要求に示されるカラムの値に対応するレコードを抽出し、この抽出したレコードを、入出力部経由で、他のデータベース装置へ送信するレコード送信部とを備えることを特徴とする。
請求項5に記載の発明は、請求項1に記載のデータベース装置と2以上の請求項2に記載のデータベース装置、または、3以上の請求項3に記載のデータベース装置を含んでなることを特徴とするデータベースシステムとした。
請求項6に記載の発明は、データベースシステムにおいて3以上のテーブルのレコードを等結合するテーブルデータ結合方法であって、データベースシステムを構成し、複数のカラムの値からなる1以上のレコードを備えた第1のデータベース装置は、3以上の結合対象テーブルの識別情報と、そのテーブルにおける結合対象カラムの識別情報とを示した結合指示情報の入力を受け付け、3以上の結合対象テーブルのうち、自身の保持するテーブル以外のテーブルを保持する第2のデータベース装置へ、自身のテーブルにおける結合対象カラムの値と、結合対象カラムの識別情報と、結合対象テーブルの識別情報と、第1のデータベース装置の識別情報とを示したカラム情報取得要求を送信し、第2のデータベース装置はそれぞれ、第1のデータベース装置から、カラム情報取得要求を受信し、自身の保持する結合対象テーブルの結合対象カラムの値それぞれについて、カラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、第1のデータベース装置へ送信し、第1のデータベース装置は、第2のデータベース装置それぞれから、カラム情報を受信し、受信したカラム情報をもとに、第1のデータベース装置の結合対象テーブルおよび第2のデータベース装置それぞれの結合対象テーブルのすべてに存在する結合対象カラムの値を判断するAND演算処理を行い、第2のデータベース装置それぞれへ、AND演算処理により得られたカラムの値に対応するレコードの取得要求であるレコード取得要求を送信し、第2のデータベース装置はそれぞれ、第1のデータベース装置から、レコード取得要求を受信し、第2のデータベース装置が備える結合対象テーブルのレコードのうち、レコード取得要求に示されるカラムの値に対応するレコードを抽出し、この抽出したレコードを、第1のデータベース装置へ送信し、第1のデータベース装置は、第2のデータベース装置それぞれから、レコードを受信し、受信したレコードと、第1のデータベース装置の結合対象テーブルにおける、AND演算処理により得られたカラムの値に対応するレコードとを結合することを特徴とするテーブルデータ結合方法とした。
このようにすることで、結合指示情報の入力を受け取ったデータベース装置(以下、結合始点のデータベース装置という)は、結合対象テーブルを保持する他のデータベース装置(被結合側のデータベース装置)それぞれから、そのデータベース装置の結合対象テーブルにおける結合対象カラムの値の有無を示したカラム情報を取得する。そして、結合始点のデータベース装置は、自身のデータベース装置および被結合側のデータベース装置の結合対象テーブルすべてに共通する結合対象カラムの値を見つける。この後、結合始点のデータベース装置は、被結合側のデータベース装置へ、各結合対象テーブルに共通する結合対象カラムの値を送信し、被結合側のデータベース装置の各テーブルから、この値に対応するレコードを取得する。そして、結合始点のデータベース装置は、取得したレコードと、自身の結合対象テーブルにおける結合対象カラムのレコードとを結合させる。例えば、結合対象カラムが商品名に関するカラムであるとき、結合始点となるデータベース装置は、被結合側のデータベース装置の結合対象テーブルにおける商品名に関するカラムの値(商品名)のうち、自身の結合対象テーブルの商品名のカラムの値と同じ値を取得する。そして、各データベース装置の結合対象テーブルすべてに共通する商品名を特定する。次に、結合始点のデータベース装置は、各データベース装置の結合対象テーブルすべてに共通する商品名に関するレコードを被結合側のデータベース装置それぞれから取得する。結合始点のデータベース装置は、結合対象テーブルすべてに共通する商品名に関するレコード(例えば、その商品名の商品の個数や価格等の情報)を、自身のテーブルから抽出する。そして、この抽出したレコードと、被結合側のデータベース装置それぞれから取得したレコードとを結合させる。つまり、結合始点となるデータベース装置は、被結合側のデータベース装置それぞれにおいて、この被結合側のデータベース装置の結合対象テーブルの結合対象カラムに、この結合始点のデータベース装置の結合対象テーブルの結合対象カラムに示される値と同じ値があるか否か判断の処理を並列実行させる。そして、結合始点となるデータベース装置は、その処理結果を用いて、データベースシステム内のすべての結合対象テーブルの結合対象カラムの値で共通する値を絞り込み、その絞り込んだ結合対象カラムの値に対応するレコードを、被結合側のデータベース装置から受信する。よって、データベースシステム内のデータベース装置におけるテーブルの等結合処理の負荷を軽減し、等結合処理を高速化することができる。
請求項3に記載の発明は、請求項1に記載のデータベース装置が、入出力部経由で、他のデータベース装置から、カラム情報取得要求を受信するカラム情報取得要求受信部と、入出力部経由で、自身の保持する結合対象テーブルのカラムのうち、カラム情報取得要求に示される結合対象カラムについて、このカラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、前記他のデータベース装置へ送信するカラム情報送信部と、入出力部経由で、他のデータベース装置から、レコード取得要求を受信するレコード得要求受信部と、自身の保持する結合対象テーブルのレコードのうち、レコード取得要求に示される結合対象カラムの値に対応するレコードを抽出し、この抽出したレコードを、入出力部経由で、他のデータベース装置へ送信するレコード送信部とをさらに備えることを特徴とする。
このようにすることで、データベースシステム内のデータベース装置は、結合始点のデータベース装置としての機能と、被結合側のデータベース装置としての機能の両方を持ち合わせることができる。つまり、データベース装置が結合指示情報の入力を受け付けたときは、結合始点のデータベース装置として機能させ、他のデータベース装置からカラム情報取得要求を受信したときには、被結合側のデータベース装置として機能させることができる。
請求項4に記載の発明は、請求項1または請求項3に記載のデータベース装置におけるカラム情報が、当該他のデータベース装置における結合対象テーブルの結合対象カラムの値それぞれについて、自身のテーブルにおける結合対象カラムの値と同じ値の有無をビット列で示した情報であり、AND演算部は、ビット列を用いたAND演算処理を実行し、レコード取得要求は、取得要求の対象であるレコードに対応するカラムの値をビット列で示した情報であることを特徴とする。
このようにすることで、データベース装置がAND演算処理を実行するときの処理負荷を軽減できる。また、カラム情報およびレコード取得要求のデータ量を少なくできるので、等結合処理のために必要となるデータ送受信の負荷を低減できる。よって、データベースシステムにおけるテーブルの等結合処理の負荷をよりいっそう軽減し、等結合処理を高速化することができる。
本発明によれば、データベースシステムの3つ以上のテーブルについて、1つのカラムを結合対象カラムとして等結合をするとき、等結合処理の負荷を軽減し、等結合処理を高速化することができる。
≪概要≫
以下、本発明を実施するための最良の形態(以下、実施の形態という)について説明する。まず、本実施の形態のデータベースシステムの概要を説明する。図1および図2は、本実施の形態のデータベースシステムの概要を説明した図である。
図1に示すように、データベースシステムは、データベース装置10(10A,10B,10C)を備え、これらのデータベース装置10は、インターネットやLAN(Local Area Network)等のネットワーク30により接続される。データベース装置10(10A,10B,10C)はそれぞれ、テーブル記憶部133に結合対象テーブルとしてのテーブルA01,B01,C01を備える。そして、このデータベース装置10Aが、テーブルA01のCol_A2(Tokyo,Osaka,Nagoya,Chiba,Kobe)を結合対象カラムとして、テーブルA01,B01,C01におけるこの結合対象カラムのレコードを等結合する場合を例に説明する。つまり、データベース装置10Aは、データベース装置10B,10CのテーブルB01,C01から、テーブルA01のCol_A2の値「Tokyo,Osaka,Nagoya,Chiba,Kobe」に対応するレコードを受信し、テーブルA01のレコードと結合する場合を例に説明する。
まず、データベース装置10Aは、外部の端末装置等から、結合対象テーブルがテーブルA01,B01,C01であり、また、テーブルA01の結合対象カラムがCol_A2であり、テーブルB01の結合対象カラムがCol_B1であり、また、テーブルC01の結合対象カラムがCol_C4であることを示す結合指示情報の入力を受け付ける。そして、このデータベース装置10Aは、結合対象カラムであるCol_A2の値「Tokyo,Osaka,Nagoya,Chiba,Kobe」をデータベース装置10B,10Cへ送信する(図1の(1))。
データベース装置10B,10Cはそれぞれ、結合対象カラムの値を受信すると、自身のテーブルB01,C01における結合対象カラムの値との比較を行い、同じ値の有無を判断する。例えば、データベース装置10Bは、Col_A2の値「Tokyo,Osaka,Nagoya,Chiba,Kobe」のうち、Col_B1と同じ値を持つもの(「Tokyo,Osaka,Chiba,Kobe」)を判断する。同様に、データベース装置10Cも、Col_A2の値「Tokyo,Osaka,Nagoya,Chiba,Kobe」のうち、テーブルC01のCol_C4と同じ値を持つもの(「Tokyo,Nagoya,Kobe」)を判断する。つまり、データベース装置10B,10Cは、データベース装置10Aから送信されてきた結合対象カラムの値について、自身のテーブルB01,C01の結合対象カラムの値とのAND演算処理を行う。そして、データベース装置10B,10CはテーブルB01,C01の結合対象カラムの値のうち、データベース装置10Aから送信されてきた結合対象カラムの値と同じ値を持つものをカラム情報として、データベース装置10Aへ送信する(図1の(2))。ここでは、データベース装置10B,10Cがそれぞれ、等結合管理テーブルB1,C1上に、Col_A2の値「Tokyo,Osaka,Nagoya,Chiba,Kobe」を順に並べ、その値それぞれについて、テーブルB01,C01上にあるか否かを「0」および「1」の並びでフラグB1,C1に示す。そして、このフラグB1,C1の値をカラム情報として、データベース装置10Aへ送信する。つまり、データベース装置10Bは、「Tokyo,Nagoya,Kobe」を示す「1,1,0,1,1」をカラム情報として送信し、データベース装置10Cは、「Tokyo,Nagoya,Kobe」を示す「1,0,1,0,1」をカラム情報として送信する。
ここで、データベース装置10Aは、データベース装置10B,10Cそれぞれからカラム情報を受信すると、等結合管理テーブルA1上で、カラム情報に示される値のAND演算処理を行う(図1の(3))。例えば、図1に示すように、データベース装置10Aは等結合管理テーブルA1を用いてデータベース装置10B,10Cから受信したフラグB1の値と、フラグC1の値とのAND演算処理を行い、「1,0,0,0,1」という値を得る。これにより、データベース装置10Aは、Col_A2に示す値のうち、テーブルB01,C01の両方に存在する値は、「Tokyo,Kobe」であることを知る。
図2の説明に移る。次に、データベース装置10Aは、テーブルA01から、この「Tokyo,Kobe」に対応するレコード(つまり、「Tokyo,Kobe」それぞれに対応するCol_A1,A3,A4の値)を抽出し(図2の(4))、結合結果テーブル001に書き込む。
また、データベース装置10Aは、データベース装置10B,10Cへ、この「Tokyo,Kobe」に対応するレコードの取得要求(レコード取得要求)を送信する(図2の(5))。ここで、送信するレコード取得要求は、例えば、「Tokyo,Kobe」を「0」および「1」の並びで示した「1,0,0,0,1」等である。
このレコード取得要求を受信したデータベース装置10B,10Cは、テーブルB01,C01から、レコード取得要求に示される「Tokyo,Kobe」に対応するレコードを抽出し、データベース装置10Aへ送信する(図2の(6))。つまり、データベース装置10Bは、テーブルB01から、「Tokyo,Kobe」に対応するCol_B2,B3,B4の値をデータベース装置10Aへ送信し、データベース装置10Cは、テーブルC01から「Tokyo,Kobe」に対応するCol_C1,C2,C3の値をデータベース装置10Aへ送信する。
データベース装置10Aは、データベース装置10B,10Cから送信されたレコード(「Tokyo,Kobe」に対応するCol_B2,B3,B4,C1,C2,C3のレコード)を受信すると、このレコードを結合結果テーブル001に追加記録し、結合結果を得る。つまり、データベース装置10Aは、データベース装置10A,10B,10Cの結合対象カラムに対応するレコードを等結合させた結合結果テーブル001を得ることができる。このように、結合始点となるデータベース装置10Aは、結合対象カラムの値の比較を被結合側のデータベース装置10B,10Cにおいて並列実行させる。よって、データベースシステムは、結合対象のテーブル数が多い場合でも高速に処理を実行できる。また、データベース装置10は、各テーブルのデータの比較結果(カラム情報、レコード取得要求等)をビット列(0,1)で送信し、これを用いてAND演算処理を行うので、等結合処理を高速に実行できる。
≪構成≫
次に、このようなデータベースシステムの構成を説明する。図3は、本実施の形態のデータベースシステムの構成を例示した図である。ここでは、データベース装置10Aが結合始点となり、自身の保持するテーブルと、データベース装置10B,10Cそれぞれのテーブルとを等結合する場合を例に説明する。データベース装置10(10A,10B,10C)の構成はそれぞれ同等とする。ここでは代表してデータベース装置10Aの構成を図示する。また、データベースシステムのデータベース装置10の台数は、3台以上であれば、図3に示す台数に限定されない。
図3に示すように、データベースシステムは、端末装置20と、データベース装置10(10A,10B,10C)とを含んで構成される。これらの装置は、ネットワーク30により通信可能に接続される。端末装置20は、例えば、PC(Personal Computer)であり、結合始点のデータベース装置10Aへ、このデータベースシステム内のデータベース装置10B,10C内のテーブルの等結合を指示する結合指示情報を送信する。データベース装置10は、それぞれテーブルを備え、端末装置20からの結合指示情報の受信をトリガとして、各テーブルの等結合を実行する。
データベース装置10の機能は、入出力部11、処理部12および記憶部13に分けられる。入出力部11は、ネットワーク30経由で、端末装置20や他のデータベース装置10B,10Cとの間のデータの入出力を司る。この入出力部11は、入出力インタフェースや通信インタフェースから構成される。また、処理部12は、データベース装置10全体の制御を司り、このデータベース装置10の備えるCPU(Central Processing Unit)によるプログラム実行処理や、専用回路等により実現される。さらに、記憶部13は、テーブルや等結合管理テーブル等を記憶する。この記憶部13は、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等の記憶媒体から構成される。また、データベース装置10をプログラム実行処理により実現する場合、記憶部13には、このデータベース装置10の機能を実現するためのプログラムが格納される。
処理部12は、レコード結合部120と、レコード送信部127と、テーブル処理部132とを備える。レコード結合部120は、主として、自身のデータベース装置10が結合始点のデータベース装置10として機能するときに用いられる。このレコード結合部120は、他のデータベース装置10(データベース装置10B,10C)から結合対象となるレコードを受信し、自身のテーブルのレコードとの結合処理を行う。レコード送信部127は、主として、自身のデータベース装置10が被結合側のデータベース装置10として機能するときに用いられる。このレコード送信部127は、結合始点となるデータベース装置10へ、結合対象カラムのレコードを送信する。テーブル処理部132は、記憶部13のテーブルや等結合管理テーブルのデータ読み出しや書き込みを行う。
このレコード結合部120は、結合クエリ受信部121と、カラム情報取得要求送信部122と、カラム情報受信部123と、AND演算部124と、レコード取得要求部125と、レコード結合処理部126とを備える。
結合クエリ受信部121は、ネットワーク30経由で端末装置20から、結合対象のテーブルの識別情報と、そのテーブルにおける結合対象カラムとを示した結合クエリ(結合指示情報)を受信する。
カラム情報取得要求送信部122は、受信した結合クエリに示される結合対象テーブルを保持するデータベース装置10(例えば、データベース装置10B,10C)へ、カラム情報取得要求を送信する。このカラム情報取得要求は、結合対象カラムの値と、結合対象テーブルの識別情報と、その結合対象テーブルのカラムの識別情報と、自身のデータベース装置10(例えば、データベース装置10A)の識別情報とを示した情報である。
カラム情報受信部123は、カラム情報取得要求の送信先のデータベース装置10(例えば、データベース装置10B,10C)から、カラム情報を取得する。このカラム情報は、カラム情報取得要求の送信先のデータベース装置10の結合対象テーブルの結合カラムに、カラム情報取得要求に示される結合対象カラムの値が有るか否かを(0,1)のビット列等で示した情報である。このカラム情報は、後記する一時領域管理部136により、等結合管理テーブルに記録される。
AND演算部124は、他のデータベース装置10それぞれから受信したカラム情報をもとに、このデータベース装置10の結合対象テーブルすべてに存在する結合対象カラムの値を判断する。例えば、データベース装置10AのAND演算部124は、等結合管理テーブルに記録された、データベース装置10B,10Cそれぞれの結合対象テーブルに存在する結合対象カラムの値のAND演算処理を実行する。例えば、データベース装置10B,10Cそれぞれの結合対象テーブルに存在する結合対象カラムの値の有無をビット列で示したものについてAND演算処理を行う。そして、その結果、図1に例示したように、その両方のテーブルに存在する値が「Tokyo,Kobe」であることを知る。この結合対象カラムの値は、一時領域管理部136により、等結合管理テーブルに記録される。
レコード取得要求部125は、結合対象テーブルを保持するデータベース装置10それぞれへ、レコード取得要求を送信する。このレコード取得要求は、前記したAND演算処理により得られた結合対象カラムの値を示した情報である。例えば、データベース装置10Aのレコード取得要求部125は、データベース装置10B,10Cへ、AND演算処理により得られた「Tokyo,Kobe」に対応するレコードの取得要求を送信する。
レコード結合処理部126は、結合対象テーブルを保持するデータベース装置10それぞれから、レコードを受信すると、このレコードと、自身の結合対象テーブルのレコードとを結合して結合結果テーブルを生成する。生成した結合結果テーブルは、一時領域管理部136により一時記憶部134に格納される。例えば、データベース装置10Aは、自身の結合対象テーブルから「Tokyo,Kobe」に対応するレコードを抽出する。そして、このレコードと、データベース装置10B,10Cから取得した「Tokyo,Kobe」に対応するレコードとを結合する。
次に、レコード送信部127を説明する。レコード送信部127は、カラム情報取得要求受信部128と、カラム情報送信部129と、レコード取得要求受信部130と、レコード送信部131とを備える。
カラム情報取得要求受信部128は、他のデータベース装置10から、カラム情報取得要求を受信する。
カラム情報送信部129は、自身の保持するテーブルのうち、カラム情報取得要求に示される結合対象テーブルの値について、結合対象カラムの値と同じ値の有無を示したカラム情報を作成する。そして、このカラム情報をカラム情報取得要求の送信元のデータベース装置10へ送信する。なお、ここで作成したカラム情報は、一時領域管理部136により等結合管理テーブルに記録される。
レコード取得要求受信部130は、他のデータベース装置10から、レコード取得要求を受信する。
レコード送信部131は、テーブル管理部135(後記)により、自身の保持する結合対象テーブルの値から、受信したレコード取得要求に示されるカラムの値に対応するレコードを抽出する。そして、レコード送信部131は、この抽出されたレコードを、このレコード取得要求の送信元のデータベース装置10へ送信する。
テーブル処理部132は、テーブル管理部135と一時領域管理部136とを備える。テーブル管理部135は、テーブル記憶部133のテーブルからのデータの読み出し(抽出)等を行う。一時領域管理部136は、一時記憶部134の等結合管理テーブルからのデータの読み出しおよび書き込みを行う。
記憶部13は、複数のカラムの値からなる1以上のレコードを備えたテーブル記憶部133と、等結合管理テーブルや、等結合の結果である結合結果テーブル(図示省略)等を記憶する一時記憶部134とを備える。テーブル記憶部133に記憶されるテーブルは複数でもよい。等結合管理テーブルは、図1および図2に例示したとおり、結合対象テーブルの結合処理の途中で得られる演算処理結果を記録するために用いられるテーブルである。例えば、この等結合管理テーブルは、結合対象カラムの値ごとに、自身のデータベース装置10のテーブルに同じ値があるか否かを示したフラグ値や、そのカラムの値に対応するレコードのレコード番号等を示した情報である。
≪処理手順≫
次に、図3,図6〜図18を参照しつつ、図4,5を用いて、データベースシステムの処理手順を説明する。ここでも、データベースシステムのうち、データベース装置10Aが結合始点のデータベース装置10であり、データベース装置10B,10Cは被結合側のデータベース装置10である場合を例に説明する。図4および図5は、本実施の形態のデータベースシステムの処理手順を例示した図である。図6〜図18は、本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。ここでは、端末装置20のユーザは、3つのデータベース装置10に分散記憶されたテーブルのうち、所定のテーブルを等結合した結果を知るため、結合始点となるデータベース装置10の識別情報、結合対象テーブルおよび結合対象カラムを指定した結合クエリを端末装置20へ入力する。そして、その結合クエリの入力を受け付けた端末装置20は、その結合クエリを、結合始点のデータベース装置10(10A)へ送信し、このデータベース装置10Aに等結合処理を実行させるものとして説明する。
まず、図3のデータベース装置10Aの結合クエリ受信部121は、端末装置20から結合クエリの入力を受け付ける(S101)。
次に、データベース装置10Aのカラム情報取得要求送信部122は、データベース装置10B,10Cへ、結合対象テーブル、結合対象カラムの識別情報、結合対象カラムの値、データベース装置10Aの識別情報等を示したカラム情報取得要求を送信する(S102)。
そして、データベース装置10B,10Cの一時領域管理部136は、受信したカラム情報取得要求をもとに、一時記憶部134に等結合管理テーブルを作成する(S103,S106)。
次に、データベース装置10B,10Cのカラム情報取得要求受信部128は、自身の結合対象テーブルB01,C01の結合対象カラムに、カラム情報取得要求に示される結合対象カラムの値と同じ値が有るか否かを判断する。そして、その判断結果を、一時領域管理部136が等結合管理テーブルに記録する(S104,S107)。
そして、データベース装置10B,10Cのカラム情報送信部129は、S104,S107での判断結果(結合対象カラムの値の有無)を示したカラム情報を作成し、データベース装置10Aへ送信する(S105,S108)。
次に、データベース装置10Aのカラム情報受信部123は、データベース装置10B,10Cから送信されたカラム情報を受信する(S109)。
そして、データベース装置10AのAND演算部124は、自身の結合対象テーブルおよび各他のデータベース装置10B,10Cの結合対象テーブルすべてに存在する結合対象カラムの値を判断するAND演算処理を実行する(S110)。
図5の説明に移る。データベース装置10Aのレコード取得要求部125は、図4のS110のAND演算処理結果を示したレコード取得要求をデータベース装置10B,10Cへ送信する(S121)。そして、このデータベース装置10B,10Cのレコード取得要求受信部130は、このレコード取得要求を受信する。
次に、データベース装置10Aのテーブル管理部135は、結合対象テーブルから、AND演算処理結果に示されるカラムの値に対応するレコードを抽出する(S122)。
そして、データベース装置10B,10Cのテーブル管理部135は、結合対象テーブルから、レコード取得要求に示されるカラムの値に対応するレコードを抽出し、レコード送信部131は、このレコードをデータベース装置10Aへ送信する(S123,S124)。
次に、データベース装置10Aのレコード結合処理部126は、データベース装置10B,10Cそれぞれから送信されたレコードと、自身の結合対象テーブルから抽出したレコードとを等結合し、結合結果テーブルを生成する(S125)。
以上のようにして、データベース装置10Aは、自身の結合対象テーブルのレコードとデータベース装置10B,10Cの結合対象テーブルのレコードとを等結合する。この後、データベース装置10Aは生成した結合結果テーブルの内容を、端末装置20からの結合クエリの結果として送信する。端末装置20は、この結合結果テーブルの内容をブラウザ等により表示させることで、ユーザは、各データベース装置10(10A,10B,10C)の結合対象テーブルの等結合結果を確認することができる。
以下、図3を参照しつつ、図6〜図18を用いて、図4および図5に示したデータベースシステムの処理手順の具体例を説明する。
(S101)
図3のデータベース装置10Aの結合クエリ受信部121は、図6に示すように、端末装置20から、データベース装置10AのテーブルA01と、データベース装置10BのテーブルB01と、データベース装置10CのテーブルC01を、テーブルA01のCol_A2と、テーブルB01のCol_B1と、テーブルC01のCol_C4を結合対象カラムとして等結合させる結合クエリの入力を受け付ける。
(S102)
次に、図3のデータベース装置10Aのカラム情報取得要求送信部122は、図7に示すように、結合始点のデータベース装置10Aの結合対象カラムCol_A2のデータ(値)と、データベース装置10Bの結合対象カラムがCol_B1であり、結合始点のデータベース装置10がデータベース装置10Aであることを示すカラム情報取得要求を、データベース装置10B,10Cへ送信する。
(S103,S106)
そして、図3のデータベース装置10Bの一時領域管理部136にて、図8に示すように、データベース装置10Aから送信されたカラムCol_A2と、フラグB1、レコード番号、フラグB2のカラムからなる等結合管理テーブルB1の記憶領域をメモリ(一時記憶部134)上に確保する。また、データベース装置10Cの一時領域管理部136も同様に等結合管理テーブルC1の記憶領域をメモリ(一時記憶部134)上に確保する。
(S104,S107)
次に、図9に示すように、データベース装置10B,10Cで、等結合管理テーブルB1,C1のCol_A2のカラムと、テーブルB01,C01の結合対象カラムの値を比較して一致する値の有無を確認し、その有無をフラグB1,C1に0(無)or1(有)で記録する。また、図10に示すように、データベース装置10B,10Cで、等結合管理テーブルB1,C1のフラグB1,C1が「1」となっているレコード(行)に、テーブルB01,C01のカラムの値が一致するレコードのレコード番号(行番号)を記録する
(S105,S108)
そして、図3のデータベース装置10B,10Cのカラム情報送信部129は、図11に示すように、等結合管理テーブルB1,C1のフラグB1,C1のカラム(列)を示したカラム情報を作成し、データベース装置10Aへ送信する。
(S109)
次に、図3のデータベース装置10Aのカラム情報受信部123は、データベース装置10B,10Cから送信されたカラム情報を受信する。つまり、データベース装置10Aは、データベース装置10B,10CのテーブルB01,C01それぞれが、結合対象カラムの値のうち、どの値に関するレコードを持つかを知ることができる。そして、データベース装置10Aの一時領域管理部136は、図12に示すように、このカラム情報に示される情報を格納するフラグB1,C1のカラムとAND演算結果カラムからなる等結合管理テーブルA1を、データベース装置10Aの一時記憶部134に生成する。そして、一時領域管理部136は、この等結合管理テーブルに、データベース装置10B,10Cから送信されたフラグB1,C1の値(カラム情報)を記録する。
(S110)
そして、図3のデータベース装置10AのAND演算部124は、図13に示すように、等結合管理テーブルA1のフラグB1,C1のカラム(列)の値であるビット列間でAND演算処理を行い、一時領域管理部136は、そのAND演算処理結果をAND演算処理結果のカラム(列)に記録する。これにより、データベース装置10Aは、結合対象カラムの値のうち、データベース装置10A,10B,10CのテーブルA01,B01,C01すべてに存在するカラムの値を知ることができる。
(S121)
例えば、図3のデータベース装置10Aのレコード取得要求部125は、図14に示すように、データベース装置10AのAND演算処理結果のカラム(列)の値を示したレコード取得要求をデータベース装置10B,10Cへ送信する。つまり、データベース装置10Aは、データベース装置10B,10C両方の結合対象テーブルに共通して存在する「Tokyo,Kobe」に対応するレコードの取得要求をデータベース装置10B,10Cへ送信する。このレコード取得要求は、例えば、この取得要求の対象であるレコードに対応するカラムの値をビット列(例えば、「Tokyo,Kobe」を示す「1,0,0,0,1」等)で示した情報である。そして、データベース装置10B,10Cの一時領域管理部136は、図15に示すように、このデータベース装置10Aから送信されたAND演算処理結果のカラム(列)の値をデータベース装置10B,10Cの等結合管理テーブルB1,C1のフラグB2,C2のカラム(列)に記録する。
(S122)
次に、図3のデータベース装置10Aのテーブル管理部135は、図16に示すように、データベース装置10Aの等結合管理テーブルA1のAND演算結果カラム(列)の値が「1」であるレコード(行)のレコード番号について、テーブルA01からそのレコード番号のレコードを抽出する。つまり、データベース装置10Aのテーブル管理部135は、テーブルA01の「Tokyo,Kobe」それぞれに対応するCol_A1,A3,A4の値を抽出する。
(S123,S124)
そして、データベース装置10B,10Cのテーブル管理部135は、図17に示すように、等結合管理テーブルB1,C1のフラグB1,C2のカラム(列)の値が「1」であるレコード番号のカラムの値について、テーブルB01,C01からそのレコード番号のレコードを抽出する。すなわち、データベース装置10Bのテーブル管理部135は、レコード番号「2,3」に対応するレコード、つまり、「Tokyo,Kobe」に対応するCol_B2,B3,B4のレコードを抽出する。また、データベース装置10Cのテーブル管理部135は、図18に示すように、レコード番号「1,3」に対応するレコード、つまり、「Tokyo,Kobe」に対応するCol_C1,C2,C3のレコードを抽出する。そして、図18に示すように、データベース装置10B,10Cは、テーブルB01,C01から抽出したレコードを、データベース装置10Aに送信する。
(S125)
次に、図3のデータベース装置10Aのレコード結合処理部126は、図18に示すように、テーブルA01から抽出したレコードと、データベース装置10B,10Cから送信されてきたレコードとを、AND演算結果の結合対象カラムの値(「Tokyo,Kobe」)で等結合し、結合結果テーブル001を生成する。つまり、レコード結合処理部126は、テーブルA01の「Tokyo,Kobe」に対応するCol_A1,A3,A4、テーブルB01の「Tokyo,Kobe」に対応するCol_B2,B3,B4、テーブルC01の「Tokyo,Kobe」に対応するCol_C1,C2,C3を結合させた結合結果テーブル001を生成する。
このようにすることで、データベース装置10Aは、テーブルA01,B01,C01の結合対象カラムのレコードを等結合することができる。また、このとき、データベース装置10Aは、従来のようにテーブルA01,B01を結合させてから、テーブルC01と結合させる、というように中間状態のテーブルを生成せずに等結合を行うので、テーブルのレコードの等結合処理を高速に行うことができる。
なお、前記した実施の形態において、データベース装置10(10A,10B,10C)が保持する結合対象テーブルが複数あった場合、例えば、以下のような処理を行う。すなわち、図1のデータベース装置10Bが結合対象テーブルを複数(例えば、テーブルB01,02)保持していた場合、その結合対象テーブルすべて(例えば、テーブルB01およびテーブル02の両方)に存在する結合対象カラムの値をカラム情報として、データベース装置10Aへ返す。また、データベース装置10Bは、そのデータベース装置10Bの結合対象テーブルに存在する結合対象カラムの値を、そのテーブルごとに判断し、その判断結果の値をカラム情報として、データベース装置10Aへ返してもよい。例えば、データベース装置10Bは、テーブルB01について結合対象カラムの値の有無を判断し、その判断結果をカラム情報として送信し、テーブルB02についても同様に結合対象カラムの値の有無を判断し、その判断結果をカラム情報として送信するようにしてもよい。
また、前記した実施の形態では、結合始点のデータベース装置10Aは、結合対象テーブルにおける結合対象カラムの値に対応するすべてのレコードを等結合させる場合を例に説明したが、これに限定されない。例えば、結合クエリとして、そのそれぞれの結合対象テーブルのレコードのうち、どの項目に関するレコードを等結合するか指定する情報が含まれていたとき、データベース装置10Aは、結合対象カラムの値に対応するレコードのうち、その結合クエリに示されるカラムの値を結合させるようにしてもよい。例えば、図1に例示したテーブルA01,B01,C01を等結合させる場合において、テーブルB01については、Col_B2,B3の値、テーブルC01については、Col_C2,C3の値を結合させる、という指示が含まれていたとき、データベース装置10Aは、データベース装置10B,10Cは、結合対象カラムの値に対応するレコードのうち、このテーブルB01のCol_B2,B3の値と、テーブルC01のCol_C2,C3の値とを取得して、これらの値を結合させて、結合結果テーブルを生成してもよい。このようにすることで、結合対象テーブルのレコードのうち、ユーザの所望する項目(カラム)の値を結合させることができる。
本実施の形態に係るデータベース装置10は、前記したような処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体(CD−ROM等)に記憶して提供することが可能である。
本実施の形態のデータベースシステムの概要を説明した図である。 本実施の形態のデータベースシステムの概要を説明した図である。 本実施の形態のデータベースシステムの構成を例示した図である。 本実施の形態のデータベースシステムの処理手順を例示した図である。 本実施の形態のデータベースシステムの処理手順を例示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 本実施の形態のデータベースシステムの処理手順の具体例を概念的に示した図である。 比較例となる等結合処理を概念的に示した図である。 スターインデックスを概念的に説明した図である。
符号の説明
10(10A,10B,10C) データベース装置
11 入出力部
12 処理部
13 記憶部
30 ネットワーク
120 レコード結合部
121 結合クエリ受信部
122 カラム情報取得要求送信部
123 カラム情報受信部
124 AND演算部
125 レコード取得要求部
126 レコード結合処理部
127 レコード送信部
128 カラム情報取得要求受信部
129 カラム情報送信部
130 レコード取得要求受信部
131 レコード送信部
132 テーブル処理部
133 テーブル記憶部
134 一時記憶部
135 テーブル管理部
136 一時領域管理部

Claims (6)

  1. データベースシステムにおいて3以上のテーブルのレコードを等結合するデータベース装置であって、
    データの入出力を司る入出力部と、
    複数のカラムの値からなる1以上のレコードを備えたテーブルを記憶する記憶部と、
    前記入出力部経由で、3以上の結合対象テーブルの識別情報と、そのテーブルにおける結合対象カラムの識別情報とを示した結合指示情報の入力を受け付ける結合クエリ受信部と、
    前記入出力部経由で、前記3以上の結合対象テーブルのうち、自身の保持するテーブル以外のテーブルを保持するデータベース装置へ、自身のテーブルにおける結合対象カラムの値と、結合対象カラムの識別情報と、前記結合対象テーブルの識別情報と、前記自身のデータベース装置の識別情報とを示したカラム情報取得要求を送信するカラム情報取得要求送信部と、
    前記入出力部経由で、前記他のデータベース装置から、当該他のデータベース装置における前記結合対象テーブルの結合対象カラムの値について、前記自身のテーブルにおける結合対象カラムの値と同じ値の有無を示したカラム情報を取得するカラム情報受信部と、
    前記入出力部経由で、前記他のデータベース装置から受信したカラム情報をもとに、前記自身の結合対象テーブルおよび前記各他のデータベース装置の結合対象テーブルすべてに存在する前記結合対象カラムの値を判断するAND演算処理を行うAND演算部と、
    前記入出力部経由で、前記結合対象カラムの値を保持する他のデータベース装置それぞれへ、前記AND演算処理により得られたカラムの値に対応するレコードの取得要求であるレコード取得要求を送信するレコード取得要求部と、
    前記入出力部経由で、前記レコード取得要求に応じて、前記他のデータベース装置それぞれから送信されたレコードと、前記自身の結合対象テーブルにおける、前記AND演算処理により得られたカラムの値に対応するレコードとを結合するレコード結合処理部とを備えることを特徴とするデータベース装置。
  2. 請求項1に記載のデータベース装置を含むデータベースシステムにおいて、前記カラム情報取得要求を受信する第2のデータベース装置であって、
    データの入出力を司る入出力部と、
    複数のカラムの値からなる1以上のレコードを備えたテーブルを記憶する記憶部と、
    前記入出力部経由で、他のデータベース装置から、前記カラム情報取得要求を受信するカラム情報取得要求受信部と、
    前記入出力部経由で、自身の保持する結合対象テーブルのカラムのうち、前記カラム情報取得要求に示される結合対象カラムについて、このカラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、前記他のデータベース装置へ送信するカラム情報送信部と、
    前記入出力部経由で、前記他のデータベース装置から、前記レコード取得要求を受信するレコード取得要求受信部と、
    前記自身の保持する結合対象テーブルのレコードのうち、前記レコード取得要求に示されるカラムの値に対応するレコードを抽出し、この抽出したレコードを、前記入出力部経由で、前記他のデータベース装置へ送信するレコード送信部とを備えることを特徴とするデータベース装置。
  3. 前記入出力部経由で、他のデータベース装置から、前記カラム情報取得要求を受信するカラム情報取得要求受信部と、
    前記入出力部経由で、自身の保持する結合対象テーブルのカラムのうち、前記カラム情報取得要求に示される結合対象カラムについて、このカラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、前記他のデータベース装置へ送信するカラム情報送信部と、
    前記入出力部経由で、前記他のデータベース装置から、前記レコード取得要求を受信するレコード得要求受信部と、
    前記自身の保持する結合対象テーブルのレコードのうち、前記レコード取得要求に示される結合対象カラムの値に対応するレコードを抽出し、この抽出したレコードを、前記入出力部経由で、前記他のデータベース装置へ送信するレコード送信部とをさらに備えることを特徴とする請求項1に記載のデータベース装置。
  4. 前記カラム情報は、当該他のデータベース装置における前記結合対象テーブルの結合対象カラムの値それぞれについて、前記自身のテーブルにおける結合対象カラムの値と同じ値の有無をビット列で示した情報であり、
    前記AND演算部は、前記ビット列を用いたAND演算処理を実行し、
    前記レコード取得要求は、前記取得要求の対象であるレコードに対応するカラムの値をビット列で示した情報であることを特徴とする請求項1または請求項3に記載のデータベース装置。
  5. 請求項1に記載のデータベース装置と2以上の請求項2に記載のデータベース装置、または、3以上の請求項3に記載のデータベース装置を含んでなることを特徴とするデータベースシステム。
  6. データベースシステムにおいて3以上のテーブルのレコードを等結合するテーブルデータ結合方法であって、
    前記データベースシステムを構成し、複数のカラムの値からなる1以上のレコードを備えた第1のデータベース装置は、
    3以上の結合対象テーブルの識別情報と、そのテーブルにおける結合対象カラムの識別情報とを示した結合指示情報の入力を受け付け、
    前記3以上の結合対象テーブルのうち、自身の保持するテーブル以外のテーブルを保持する第2のデータベース装置へ、自身のテーブルにおける結合対象カラムの値と、結合対象カラムの識別情報と、前記結合対象テーブルの識別情報と、前記第1のデータベース装置の識別情報とを示したカラム情報取得要求を送信し、
    前記第2のデータベース装置はそれぞれ、
    前記第1のデータベース装置から、前記カラム情報取得要求を受信し、
    自身の保持する結合対象テーブルの結合対象カラムの値について、前記カラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、前記第1のデータベース装置へ送信し、
    前記第1のデータベース装置は、
    前記第2のデータベース装置それぞれから、前記カラム情報を受信し、
    前記受信したカラム情報をもとに、前記第1のデータベース装置の結合対象テーブルおよび前記第2のデータベース装置それぞれの結合対象テーブルのすべてに存在する前記結合対象カラムの値を判断するAND演算処理を行い、
    前記第2のデータベース装置それぞれへ、前記AND演算処理により得られたカラムの値に対応するレコードの取得要求であるレコード取得要求を送信し、
    前記第2のデータベース装置はそれぞれ、
    前記第1のデータベース装置から、前記レコード取得要求を受信し、
    前記第2のデータベース装置が備える結合対象テーブルのレコードのうち、前記レコード取得要求に示されるカラムの値に対応するレコードを抽出し、この抽出したレコードを、前記第1のデータベース装置へ送信し、
    前記第1のデータベース装置は、
    前記第2のデータベース装置それぞれから、前記レコードを受信し、
    前記受信したレコードと、前記第1のデータベース装置の結合対象テーブルにおける、前記AND演算処理により得られたカラムの値に対応するレコードとを結合することを特徴とするテーブルデータ結合方法。
JP2008291507A 2008-11-13 2008-11-13 データベース装置、データベースシステムおよびテーブルデータ結合方法 Expired - Fee Related JP5180786B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008291507A JP5180786B2 (ja) 2008-11-13 2008-11-13 データベース装置、データベースシステムおよびテーブルデータ結合方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008291507A JP5180786B2 (ja) 2008-11-13 2008-11-13 データベース装置、データベースシステムおよびテーブルデータ結合方法

Publications (2)

Publication Number Publication Date
JP2010117951A JP2010117951A (ja) 2010-05-27
JP5180786B2 true JP5180786B2 (ja) 2013-04-10

Family

ID=42305580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008291507A Expired - Fee Related JP5180786B2 (ja) 2008-11-13 2008-11-13 データベース装置、データベースシステムおよびテーブルデータ結合方法

Country Status (1)

Country Link
JP (1) JP5180786B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9177026B2 (en) * 2012-09-27 2015-11-03 LogicBlox, Inc. Leapfrog tree-join
US11188541B2 (en) 2016-10-20 2021-11-30 Industry Academic Cooperation Foundation Of Yeungnam University Join method, computer program and recording medium thereof
WO2018074906A1 (ko) * 2016-10-20 2018-04-26 영남대학교 산학협력단 조인 방법, 이를 실행시키는 컴퓨터 프로그램 및 기록매체

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6257020A (ja) * 1985-09-05 1987-03-12 Nec Corp リレ−シヨナルデ−タベ−スの結合処理方式
JPH0193843A (ja) * 1987-10-05 1989-04-12 Hitachi Ltd テーブル結合方式
JPH05225250A (ja) * 1992-02-17 1993-09-03 Fujitsu Ltd 関係データベースのテーブル結合方式
JP5048417B2 (ja) * 2007-08-07 2012-10-17 株式会社富士通ビー・エス・シー データベース管理プログラム及びデータベース管理装置

Also Published As

Publication number Publication date
JP2010117951A (ja) 2010-05-27

Similar Documents

Publication Publication Date Title
JP5744898B2 (ja) 情報システムにおける変換データの高スループット・高信頼性の複製
US10825115B2 (en) Identifying correlated services during processing services
US10764163B2 (en) Determining an event history for an event processed by a plurality of communicating servers via a central event data log
CN109783076A (zh) 基于git的代码管理方法、装置、设备和存储介质
CN103177066B (zh) 分析和表示人际关系
US10134067B2 (en) Autocomplete of searches for data stored in multi-tenant architecture
US10810174B2 (en) Database management system, database server, and database management method
JP4155133B2 (ja) 会計データ処理方法及びシステム
JP2005317010A (ja) トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体
JP5180786B2 (ja) データベース装置、データベースシステムおよびテーブルデータ結合方法
CN111506608A (zh) 一种结构化文本的比较方法和装置
WO2013175611A1 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
JP5340222B2 (ja) 和集合集約処理と等結合処理の組み合わせ方法及びデータベースシステム及びプログラム
US20080307432A1 (en) Method and apparatus for exchanging data using data transformation
US12056124B2 (en) Database system, distributed processing apparatus, database apparatus, distributed processing method and distributed processing program
JP6542204B2 (ja) 情報処理装置、情報処理方法およびプログラム
US11281674B2 (en) Grouping data in a heap using tags
US11860910B2 (en) Information provision system, method, and program
WO2015129246A1 (ja) 情報管理装置、情報共有システム、制御方法、及びコンピュータ読み取り可能な記録媒体
US20150278240A1 (en) Data processing apparatus, information processing apparatus, data processing method and information processing method
US8332537B1 (en) Establishing a bypass channel between queue managers
US8244746B2 (en) Parallel linking system and parallel linking method
KR102240891B1 (ko) 다차원 분석 리포트 생성 방법 및 시스템
JP2011237944A (ja) 分散型データベース運用システム、運用方法、及び運用プログラム
JP2009122949A (ja) Xmlデータ構造の復元システム、xmlデータ構造の復元方法、およびxmlデータ構造の復元プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110222

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130111

R150 Certificate of patent or registration of utility model

Ref document number: 5180786

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees