JP5180786B2 - データベース装置、データベースシステムおよびテーブルデータ結合方法 - Google Patents
データベース装置、データベースシステムおよびテーブルデータ結合方法 Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
李華植、"データベースパフォーマンスアップの教科書 基本原理編"、第6章、p.466、株式会社翔泳社、2007年8月5日 西川陽一、"図解・標準 最新データベース技術 マスタリングハンドブック"chapter9、p.420、株式会社秀和システム、2002年11月11日
以下、本発明を実施するための最良の形態(以下、実施の形態という)について説明する。まず、本実施の形態のデータベースシステムの概要を説明する。図1および図2は、本実施の形態のデータベースシステムの概要を説明した図である。
次に、このようなデータベースシステムの構成を説明する。図3は、本実施の形態のデータベースシステムの構成を例示した図である。ここでは、データベース装置10Aが結合始点となり、自身の保持するテーブルと、データベース装置10B,10Cそれぞれのテーブルとを等結合する場合を例に説明する。データベース装置10(10A,10B,10C)の構成はそれぞれ同等とする。ここでは代表してデータベース装置10Aの構成を図示する。また、データベースシステムのデータベース装置10の台数は、3台以上であれば、図3に示す台数に限定されない。
次に、図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は、図6に示すように、端末装置20から、データベース装置10AのテーブルA01と、データベース装置10BのテーブルB01と、データベース装置10CのテーブルC01を、テーブルA01のCol_A2と、テーブルB01のCol_B1と、テーブルC01のCol_C4を結合対象カラムとして等結合させる結合クエリの入力を受け付ける。
次に、図3のデータベース装置10Aのカラム情報取得要求送信部122は、図7に示すように、結合始点のデータベース装置10Aの結合対象カラムCol_A2のデータ(値)と、データベース装置10Bの結合対象カラムがCol_B1であり、結合始点のデータベース装置10がデータベース装置10Aであることを示すカラム情報取得要求を、データベース装置10B,10Cへ送信する。
そして、図3のデータベース装置10Bの一時領域管理部136にて、図8に示すように、データベース装置10Aから送信されたカラムCol_A2と、フラグB1、レコード番号、フラグB2のカラムからなる等結合管理テーブルB1の記憶領域をメモリ(一時記憶部134)上に確保する。また、データベース装置10Cの一時領域管理部136も同様に等結合管理テーブルC1の記憶領域をメモリ(一時記憶部134)上に確保する。
次に、図9に示すように、データベース装置10B,10Cで、等結合管理テーブルB1,C1のCol_A2のカラムと、テーブルB01,C01の結合対象カラムの値を比較して一致する値の有無を確認し、その有無をフラグB1,C1に0(無)or1(有)で記録する。また、図10に示すように、データベース装置10B,10Cで、等結合管理テーブルB1,C1のフラグB1,C1が「1」となっているレコード(行)に、テーブルB01,C01のカラムの値が一致するレコードのレコード番号(行番号)を記録する
そして、図3のデータベース装置10B,10Cのカラム情報送信部129は、図11に示すように、等結合管理テーブルB1,C1のフラグB1,C1のカラム(列)を示したカラム情報を作成し、データベース装置10Aへ送信する。
次に、図3のデータベース装置10Aのカラム情報受信部123は、データベース装置10B,10Cから送信されたカラム情報を受信する。つまり、データベース装置10Aは、データベース装置10B,10CのテーブルB01,C01それぞれが、結合対象カラムの値のうち、どの値に関するレコードを持つかを知ることができる。そして、データベース装置10Aの一時領域管理部136は、図12に示すように、このカラム情報に示される情報を格納するフラグB1,C1のカラムとAND演算結果カラムからなる等結合管理テーブルA1を、データベース装置10Aの一時記憶部134に生成する。そして、一時領域管理部136は、この等結合管理テーブルに、データベース装置10B,10Cから送信されたフラグB1,C1の値(カラム情報)を記録する。
そして、図3のデータベース装置10AのAND演算部124は、図13に示すように、等結合管理テーブルA1のフラグB1,C1のカラム(列)の値であるビット列間でAND演算処理を行い、一時領域管理部136は、そのAND演算処理結果をAND演算処理結果のカラム(列)に記録する。これにより、データベース装置10Aは、結合対象カラムの値のうち、データベース装置10A,10B,10CのテーブルA01,B01,C01すべてに存在するカラムの値を知ることができる。
例えば、図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のカラム(列)に記録する。
次に、図3のデータベース装置10Aのテーブル管理部135は、図16に示すように、データベース装置10Aの等結合管理テーブルA1のAND演算結果カラム(列)の値が「1」であるレコード(行)のレコード番号について、テーブルA01からそのレコード番号のレコードを抽出する。つまり、データベース装置10Aのテーブル管理部135は、テーブルA01の「Tokyo,Kobe」それぞれに対応するCol_A1,A3,A4の値を抽出する。
そして、データベース装置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に送信する。
次に、図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を生成する。
11 入出力部
12 処理部
13 記憶部
30 ネットワーク
120 レコード結合部
121 結合クエリ受信部
122 カラム情報取得要求送信部
123 カラム情報受信部
124 AND演算部
125 レコード取得要求部
126 レコード結合処理部
127 レコード送信部
128 カラム情報取得要求受信部
129 カラム情報送信部
130 レコード取得要求受信部
131 レコード送信部
132 テーブル処理部
133 テーブル記憶部
134 一時記憶部
135 テーブル管理部
136 一時領域管理部
Claims (6)
- データベースシステムにおいて3以上のテーブルのレコードを等結合するデータベース装置であって、
データの入出力を司る入出力部と、
複数のカラムの値からなる1以上のレコードを備えたテーブルを記憶する記憶部と、
前記入出力部経由で、3以上の結合対象テーブルの識別情報と、そのテーブルにおける結合対象カラムの識別情報とを示した結合指示情報の入力を受け付ける結合クエリ受信部と、
前記入出力部経由で、前記3以上の結合対象テーブルのうち、自身の保持するテーブル以外のテーブルを保持するデータベース装置へ、自身のテーブルにおける結合対象カラムの値と、結合対象カラムの識別情報と、前記結合対象テーブルの識別情報と、前記自身のデータベース装置の識別情報とを示したカラム情報取得要求を送信するカラム情報取得要求送信部と、
前記入出力部経由で、前記他のデータベース装置から、当該他のデータベース装置における前記結合対象テーブルの結合対象カラムの値について、前記自身のテーブルにおける結合対象カラムの値と同じ値の有無を示したカラム情報を取得するカラム情報受信部と、
前記入出力部経由で、前記他のデータベース装置から受信したカラム情報をもとに、前記自身の結合対象テーブルおよび前記各他のデータベース装置の結合対象テーブルすべてに存在する前記結合対象カラムの値を判断するAND演算処理を行うAND演算部と、
前記入出力部経由で、前記結合対象カラムの値を保持する他のデータベース装置それぞれへ、前記AND演算処理により得られたカラムの値に対応するレコードの取得要求であるレコード取得要求を送信するレコード取得要求部と、
前記入出力部経由で、前記レコード取得要求に応じて、前記他のデータベース装置それぞれから送信されたレコードと、前記自身の結合対象テーブルにおける、前記AND演算処理により得られたカラムの値に対応するレコードとを結合するレコード結合処理部とを備えることを特徴とするデータベース装置。 - 請求項1に記載のデータベース装置を含むデータベースシステムにおいて、前記カラム情報取得要求を受信する第2のデータベース装置であって、
データの入出力を司る入出力部と、
複数のカラムの値からなる1以上のレコードを備えたテーブルを記憶する記憶部と、
前記入出力部経由で、他のデータベース装置から、前記カラム情報取得要求を受信するカラム情報取得要求受信部と、
前記入出力部経由で、自身の保持する結合対象テーブルのカラムのうち、前記カラム情報取得要求に示される結合対象カラムについて、このカラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、前記他のデータベース装置へ送信するカラム情報送信部と、
前記入出力部経由で、前記他のデータベース装置から、前記レコード取得要求を受信するレコード取得要求受信部と、
前記自身の保持する結合対象テーブルのレコードのうち、前記レコード取得要求に示されるカラムの値に対応するレコードを抽出し、この抽出したレコードを、前記入出力部経由で、前記他のデータベース装置へ送信するレコード送信部とを備えることを特徴とするデータベース装置。 - 前記入出力部経由で、他のデータベース装置から、前記カラム情報取得要求を受信するカラム情報取得要求受信部と、
前記入出力部経由で、自身の保持する結合対象テーブルのカラムのうち、前記カラム情報取得要求に示される結合対象カラムについて、このカラム情報取得要求に示される結合対象カラムの値と同じ値の有無を示したカラム情報を作成し、前記他のデータベース装置へ送信するカラム情報送信部と、
前記入出力部経由で、前記他のデータベース装置から、前記レコード取得要求を受信するレコード得要求受信部と、
前記自身の保持する結合対象テーブルのレコードのうち、前記レコード取得要求に示される結合対象カラムの値に対応するレコードを抽出し、この抽出したレコードを、前記入出力部経由で、前記他のデータベース装置へ送信するレコード送信部とをさらに備えることを特徴とする請求項1に記載のデータベース装置。 - 前記カラム情報は、当該他のデータベース装置における前記結合対象テーブルの結合対象カラムの値それぞれについて、前記自身のテーブルにおける結合対象カラムの値と同じ値の有無をビット列で示した情報であり、
前記AND演算部は、前記ビット列を用いたAND演算処理を実行し、
前記レコード取得要求は、前記取得要求の対象であるレコードに対応するカラムの値をビット列で示した情報であることを特徴とする請求項1または請求項3に記載のデータベース装置。 - 請求項1に記載のデータベース装置と2以上の請求項2に記載のデータベース装置、または、3以上の請求項3に記載のデータベース装置を含んでなることを特徴とするデータベースシステム。
- データベースシステムにおいて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演算処理により得られたカラムの値に対応するレコードとを結合することを特徴とするテーブルデータ結合方法。
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)
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)
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 | 株式会社富士通ビー・エス・シー | データベース管理プログラム及びデータベース管理装置 |
-
2008
- 2008-11-13 JP JP2008291507A patent/JP5180786B2/ja not_active Expired - Fee Related
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 |