JPS62236050A - ジヨイン処理方式 - Google Patents

ジヨイン処理方式

Info

Publication number
JPS62236050A
JPS62236050A JP61079673A JP7967386A JPS62236050A JP S62236050 A JPS62236050 A JP S62236050A JP 61079673 A JP61079673 A JP 61079673A JP 7967386 A JP7967386 A JP 7967386A JP S62236050 A JPS62236050 A JP S62236050A
Authority
JP
Japan
Prior art keywords
join
records
processing
partial
memory
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.)
Pending
Application number
JP61079673A
Other languages
English (en)
Inventor
Shunichiro Nakamura
俊一郎 中村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP61079673A priority Critical patent/JPS62236050A/ja
Publication of JPS62236050A publication Critical patent/JPS62236050A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、情報処理の分野におけるリレーショナルデ
ータベースの分野に関するもので、特にその中のジョイ
ン演算の処理方式に関するものである。
〔従来の技術〕
まず、第6図乃至第8図を用いてリレーショナルデータ
ベースとそのジョイン演算を説明する。
第6図はジョイン処理を行う第1の表を示し、ある会社
が購入する部品とその部品のメーカコードの対応を示し
た一覧表(部品表)である。
また第7図は、ジョイン処理を行う第2の表を示し、メ
ーカコードに対応するメーカ名とそのメカの住所を示し
た一覧表(メーカ表)である。
これら第6図及び@7図に示す第1.第2の表はリレー
ショナルデータベース(以下単にデータベースという)
中の1つの表(リレーシロン)として磁気ディスクに保
存され、データベースの検索等の要求があると、これら
の表が磁気ディスクからメモリ上に移されて処理が行わ
れるようになっている。
なお本発明とは直接関係ないため以下これらの表がすで
にメモリ上にあるとして以下話を進める。
また第6図の部品表20において、たて方向の部品名、
メーカコードのことを“項目″、1C101型03等の
横方向の一行のことをレコードと呼ぶことにする。
リレーショナルデータベースにおけるジョイン演算とは
2つの表をある項目で結び付けて新しい表を作り出すこ
とであり、例えば第6図の部品表と第7図のメーカ表を
それぞれのメーカコード項目を結合項目として結合する
のがジョイン演算であり、その結果が第8図のジョイン
結果表となる。
例えば部品表20でIC103型はメーカコード°01
′であり、これをメーカ表15からさがす1、    
とメーカコード01゛ はA社東京都であり、これを結
びつけたものが第8図のジョイン結果表21の第1行目
になる。
なお、ジョイン演算は3つ以上の表を結合することもあ
るが分解して考えれば結局2つの表を結合することであ
る。
次に第9図に示すジaイン処理装置を用いて上記ジョイ
ン演算を説明する。
第9図は従来のジジイン処理装置の構成を示し、図にお
いて、22はプロセッサ(以下CPUという)、23は
共通記憶装置(以下メモリという)である。
ここにおいて、第6図の部品表と第7図に示すメーカ表
とをジョイン演算して第8図に示すジョイン結果表を作
り出す場合、まず部品表及びメーカ表をその結合項目で
あるメーカコードでソートする。この例の場合にはメー
カ表はすてにメーカコードでソートされているため、部
品表のみをソートして第10図に示すソート済部品表2
4を作る。ソート済部品表24ができれば、これとメー
カ表15を上から順に見ていくことにより、容易に結合
操作が行え、第8図に示すジョイン結果表21を求める
ことができる。以上のシタイン処理で最も時間を使うの
はソート処理であり、部品表20のレコード数が多い場
合大量の時間を必要とする。
〔発明が解決しようとする問題点〕
このように従来のジゴイン処理方式は、部品表とメーカ
表のレコード数が数百程度の大きさになるとソート処理
に非常に時間がかかる問題点があった。
この発明は上記問題点を解決するためになされたもので
、特に一方の表が大きく、他方の表が小さい場合にソー
ト処理を行なわずに短い時間でシタイン処理の行なえる
方式を提供することを目的としている。
〔問題点を解決するための手段〕
このためこの発明は、ジョインを行う第1の表のデータ
を上記各ローカルメモリに分散して配置し、ジョインを
行う第2の表のデータを上記各ローカルメモリに重複し
て配置し、上記プロセッサが上記第1の表の部分レコー
ドと第2の表のレコドとをそれぞれ1対1に比較し、結
合条件がとれたペアを順次共通記憶装置の所定領域にス
トアしていくことにより、最終的に共通記憶装置上にシ
タイン処理された新しい表を作り出すようにしたことを
特徴とするものである。
〔作用〕
この発明においては、ジョインを行う第1の表は各ロー
カルメモリに分散して配置され、ジョインを行う築2の
表は各ローカルメモリに重複して配置される。
ここにプロセッサは、第1の表の部分レコードと第2の
表のレコードとをそれぞれ1:1に比較し、結合条件が
とれたベアを順次共通記憶装置の所定領域にストアして
いく。そして最終的に共通記憶装置上にジ町イン処理さ
れた新しい表を作り出す。
〔実施例〕
最初に本発明の適用されるシタイン処理を説明する。
シタイン処理では、大きな表例えば致方レコードからな
る表を取扱う場合がソート処理に時間を要する。しかし
ながら実際のジジイン処理では、片方の表は大きいがも
う一方の表は小さい(数十レコード)というケースがか
なり多く、この場合にはソート処理を行わないで、すな
わち例えばメーカ表が数レコードといったように小さけ
れば、部品表をソートするよりもメーカ表の全レコード
と部品表の全レコードとの比較を行った方が速い。
本発明はこの考えを利用したものである。
次に上記者えに基づいて本発明の一実施例を図面を参照
して説明する。
第1図はこの発明の一実施例であるジョイン処理方式を
示す構成図である。第1図において、■は共通記憶装置
(以下共通メモリという)、2は共通バス、3〜6はそ
れぞれ第1 c p u、第20pu、第3 c p 
u、第4cpuである。各cpu3〜6はそれぞれ独立
したプロセッサである。7〜10はそれぞれ第10−カ
ルメモリ、第20−カルメモリ、第30−カルメモリ、
第40−カル外 メモリであり、それぞれ各cpu3〜6のローカルメモ
リである。各cpu3〜6が自分のローカルメモリ7〜
10にアクセスするか、共通メモリーにアクセスするか
はメモリアドレスの範囲でt&り分けられる。各cpu
3〜6が実tテするプログラムは通常ローカルメモリに
入っている。
シロイン処理の実行が起動されると、まずジジインすべ
き2つの表の大きさが調べられる。片方の表のレコード
数が多く、もう一方の表のレコード数が少いと本発明の
ジョイン処理方式が起動される。以下にそのジョイン処
理方式を示す。
第2図は第6図の部品表20をレコード数がほぼ4等分
になるように分けたものであり、それぞれ部分部品表1
1.12.13.14である。これらの部分部品表は、
本発明とは直接関係がないため図示していない磁気ディ
スク装置等の外部入出力装置から、それぞれ各ローカル
メモリ7〜10にロードされる。榔1岡井第7図のメー
カ表15は丸ごと、各ローカルメモリ7〜10に重複し
てロードされる。右茫宍許大きい表である部品表の部分
表と小さい表であるメーカ表の全体が各ローカルメモリ
7〜IOにロードされると、各cpu3〜6はシロイン
処理を開始する。
第4図は第1 cpu3のシロイン処理を示したもので
ある。第1 cpu3は第10−カルメモリ7にロード
されているプログラムにより、第10−カルメモリ7上
にある部分部品表11とメーカ表15に対しシロイン処
理を行う。即ち部分部品表11のレコードを1つづり取
り出し、このメーカコード項目と、メーカ表15のレコ
ードのメーカコード項目を順次比較する。一致した場合
には2つのレコードを結び付けてこれを共通メモリ1の
所定位置にストアしていく。例えば部分部品表11の一
行目のレコードのメーカコードは“03”であり、これ
をメーカ表15のレコードと比較していくと、メーカ表
の3番目のレコードと一致する。
そこでこの2つのレコードを結び付け、IC101型C
社大阪府というレコードを作り、共通メモリ1上の部分
ジョイン結果表16に入れていく。以上の操作を部分部
品表11のすべてのレコードに対して行うことにより、
第4図に示す部分ジョイン結果表16が得られる。以上
の処理は第2、第3.第4Cpu4.5.6においても
同様に行われる。
第5図はそれぞれのCpuが並行してジaイン処理を行
い、部分ジョイン結果表16.17゜18.19を共通
メモリ1にストアしていくことを示したものである。す
べてのcpuが前記比較操作を終了するとジョイン処理
は終了する。即ち共通メモリ1上の4つの部分シロイン
結果表を集めたものが求める結果である。
さてここで、従来の方式と本発明による方式の処理時間
を比較する。従来の方式では、その処理時間はほとんど
大きい表のソート時間で決まる。
ソートアルゴリズムとしてクイックソートアルゴリズム
を使った場合、レコード数をNとするとその平均比較回
数は1.39NlolλNであることが知られている。
これを時間と考えて、これと同じ時間単位を使うと本発
明で各Cpuが部分部品表のルコードとメーカ表のルコ
ードを比較し、もし一致したら共通メモリに部分ジ目イ
ン結果表をストアする平均時間は約“0.8゛  と見
積られる。
本発明のジョイン処理の時間はほぼ各cpuが行う部分
ジョイン処理の時間に等しく、それは小さい表(メーカ
表)のレコード数をn、大きい表(部品表)のレコード
数をNとすると千・n・0.8となる。N=2=163
84.n=20とすると、 1.39N島λN=1.39xNx14=49.5N”
1−−n ・0.8 = 4 N となり本発明のジョイン処理方式の方が約5倍速いこと
がわかる。
なお本発明は、実施例で示したようなcpuが4個の場
合に限らず、一般に複数のcpuの場合について通用で
きることは明らかである。なお上記実施例では部分ジョ
イン結果表を共通メモリにストアすることになっている
が、例えばこれを共通ディスクにストアするようにして
もよい。又部、    分部品表が大きすぎてローカル
メモリに全部入らない場合、ないしは各部分ジョイン結
果表が大きすぎて共通メモリに全部入らない場合には、
部分部品表を何回かに分けてローカルメモリに読み込む
ようにし、その都度実施例で示したものと同様の処理を
行い、この結果できた部分ジョイン結果表をその都度磁
気ディスクに書き込むということを繰り返すようにすれ
ばよい。
又本実施例では複数のcpuと共通メモリを共通バスで
接続しているが、必ずしもバスで接続する必要はなく、
例えば各cpuを共通記憶装置にチャネルで結合するよ
うにしてもよい。又実施例では大きい表のレコードが小
さい表のレコードのどれか1つと結合する例を示したが
、大きい表のレコードが小さい表の複数のレコードと結
合する場合についても適用できることは明らかである。
又実施例ではリレーシフナルデータベースのジョイン演
算の場合を示したが、他の分野で同様の処理を行う場合
についても本発明が適用できることは明らかである。
〔発明の効果〕
以上のように、この発明によればジョインを行う第1の
表のデータを上記各ローカルメモリに分散して配置し、
ジョインを行う第2の表のデータを上記各ローカルメモ
リに重複して配置し、上記プロセッサが上記第1の表の
部分レコードと第2の表のレコードとをそれぞれ1対l
に比軸し、結合条件がとれたベアを順次共通記憶装置の
所定領域にストアしていくことにより、最終的に共通記
憶装置上にジョイン処理された新しい表を作り出すよう
にしたので、各cpuがジコイン処理を分担して並列実
行することにより、ジョイン処理のための処理時間を大
幅に短縮するという優れた効果を奏するものである。
【図面の簡単な説明】
第1図はこの発明の一実施例であるジョイン処理方式を
示す構成図、第2図は部分部品表を示す図、第3図はロ
ーカルメモリの内容を示す図、第4図は第1 cpuの
部分ジョイン処理を示す図、第5図は各cpuのジョイ
ン処理を示す図、第6図は部品表を示す図、第7図はメ
ーカ表を示す図、第8図はジョイン結果表を示す図、第
9図は従来のジョイン処理方式を示す図、第10図はソ
ート済部品表を示す図である。 1は共通記憶装置、3は第1cpu、4は第2cpu、
5は第3cpu、5は第4 Cp u、 7は第10−
カルメモリ、8は第20−カルメモリ、9は第30−カ
ルメモリ、lOは第40−カルメモリ、11〜14は部
分部品表、15はメーカ表、16〜19は部分ジョイン
結果表、20は部品表。 なお図中、同一符号は同一、又は相当部分を示す。 代理人  大  岩  増  m<ほか2名)第70 第9図 第8図 創○図 手続補正書(自発 昭和  年  月  日 2、発明の名称 ジツイン処理方式 3、補正をする者 代表者志岐守哉 4、代理人 i、補正の対象 発明の詳細な説明の欄。 3、補正の内容 +11明細書第4頁第6行目「共通記憶装置」とあ5の
を「記憶装置」と補正する。 以上

Claims (1)

  1. 【特許請求の範囲】 各々ローカルメモリを持った複数個のプロセッサとこれ
    ら複数個のプロセッサからアクセス可能な共通記憶装置
    とを有し、2つの表をある項目で結び付けて新しい表を
    作り出すジョイン処理方式において、 ジョインを行う第1の表のデータを上記各ローカルメモ
    リに分散して配置し、ジョインを行う第2の表のデータ
    を上記各ローカルメモリに重複して配置し、上記プロセ
    ッサが上記第1の表の部分レコードと第2の表のレコー
    ドとをそれぞれ1対1に比較し、結合条件がとれたペア
    を順次共通記憶装置の所定領域にストアしていくことに
    より、最終的に共通記憶装置上にジョイン処理された新
    しい表を作り出すようにしたことを特徴とするジョイン
    処理方式。
JP61079673A 1986-04-07 1986-04-07 ジヨイン処理方式 Pending JPS62236050A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61079673A JPS62236050A (ja) 1986-04-07 1986-04-07 ジヨイン処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61079673A JPS62236050A (ja) 1986-04-07 1986-04-07 ジヨイン処理方式

Publications (1)

Publication Number Publication Date
JPS62236050A true JPS62236050A (ja) 1987-10-16

Family

ID=13696706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61079673A Pending JPS62236050A (ja) 1986-04-07 1986-04-07 ジヨイン処理方式

Country Status (1)

Country Link
JP (1) JPS62236050A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930271B2 (en) 2000-10-09 2011-04-19 Maximum Availability Ltd. Method and apparatus for data processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7930271B2 (en) 2000-10-09 2011-04-19 Maximum Availability Ltd. Method and apparatus for data processing
US8818939B2 (en) 2000-10-09 2014-08-26 Maximum Availability Ltd. Method and apparatus for data processing

Similar Documents

Publication Publication Date Title
US5333318A (en) Creating and searching a quad linked list in a trunked communication system
US5579515A (en) Method of checking index integrity in a DB2 database
EP0066061A2 (en) Relational algebra engine
US20020065793A1 (en) Sorting system and method executed by plural computers for sorting and distributing data to selected output nodes
Belli et al. Specification of fault-tolerant system issues by predicate/transition nets and regular expressions-approach and case study
US11797487B2 (en) Maintaining stable record identifiers in the presence of updated data records
JPH03156571A (ja) リレーショナル・データベースにおけるジョイン処理方式
JPS62236050A (ja) ジヨイン処理方式
US6163783A (en) Check data operation for DB2
JP2538630B2 (ja) テスト項目自動選択システム
JPH0577106B2 (ja)
US3662402A (en) Data sort method utilizing finite difference tables
US11599529B2 (en) Method of batch processing data that is stored in multiple tables as a plurality of rows of data by reading out and batch processing data from only a portion of a row from each of tables that is to be used in batch processing logic
JP3263414B2 (ja) レセプトチェック方法
US20230035762A1 (en) Method of processing data in a database by simultaneously processing row data of key pairs which include a key of a first table in the database, and a matching key and a unique row of a second table in the database
Kuwabara New Data Structure for Many-to-Many Relations to Reduce Data Size, Recording Time, and Search Time
JPS63138440A (ja) 階層型データベースのコンペア方法
JP2699436B2 (ja) パラメータ検査処理方法
JPH04344932A (ja) 分散プログラミング方法
JPH01112364A (ja) データ処理装置
JPH05250410A (ja) 階層シンボル修正システム
JPH03136132A (ja) モジュール更新同期チェック処理方式
JPS635427A (ja) フアイルアクセス方法
Reiss et al. Using Hash Tables to Obtain Matched Post-Hoc Control Populations
Aumann et al. On the cost of recomputing: Tight bounds on pebbling with faults