JPS59731A - Join operation processing system - Google Patents
Join operation processing systemInfo
- Publication number
- JPS59731A JPS59731A JP57109737A JP10973782A JPS59731A JP S59731 A JPS59731 A JP S59731A JP 57109737 A JP57109737 A JP 57109737A JP 10973782 A JP10973782 A JP 10973782A JP S59731 A JPS59731 A JP S59731A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cell
- processing
- comparison
- transferred
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 67
- 238000012546 transfer Methods 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 12
- 230000006870 function Effects 0.000 claims abstract description 8
- 238000003672 processing method Methods 0.000 claims description 5
- 150000001875 compounds Chemical class 0.000 claims description 2
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 239000013256 coordination polymer Substances 0.000 abstract 1
- 238000000034 method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 235000017399 Caesalpinia tinctoria Nutrition 0.000 description 3
- 241000388430 Tara Species 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013601 eggs Nutrition 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【発明の詳細な説明】
本発明は、専用機能を実現する複数のプロセッサ、複数
の記憶装置とこれらの任意個数を動的に結合する通信ネ
ットワークからなる複合計算機によるデータ処理システ
ムに関し、特に転送データストリームに同期して、デー
タの比較:、データのソートを行い、リレーショナルデ
ータベースにおけるジョイン演算を高速に処理するデー
タ処理方式に関するものである。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data processing system using a compound computer consisting of a plurality of processors that realize dedicated functions, a plurality of storage devices, and a communication network that dynamically connects an arbitrary number of these devices. The present invention relates to a data processing method that compares and sorts data in synchronization with streams and processes join operations in relational databases at high speed.
リレーショナルデータベースにおけるジョイン演算は次
のように表わさnる:
RI −ajlθRk IIa、k(i\k)ここで、
RI 、Rkはリレーション、a、lはリレーションR
+の3番目のアトリビュート、
a、にはリレーションR,にの4番目のアトリビュート
θは比較演算子集合(<、<、\。A join operation in a relational database is expressed as follows: RI −ajlθRk IIa,k(i\k) where:
RI, Rk are relations, a, l are relations R
The third attribute of +, a, is the relation R, and the fourth attribute θ is a set of comparison operators (<, <, \.
=、〉、:))のいずれか1つ。One of =, 〉, :)).
すなわち、異なるリレーションのアトリビュート間の比
較演算である。本演算は、従来の計算機システムでは、
第1図のように、記憶装置3からリレーションのデータ
をコントローラ2を介してホストCPU2に転送し、ホ
ストCPUIよりソフトウェアにより処理されている。That is, it is a comparison operation between attributes of different relations. This calculation is performed using conventional computer systems.
As shown in FIG. 1, relation data is transferred from the storage device 3 to the host CPU 2 via the controller 2, and is processed by software from the host CPU.
また、ハードウェア技術の進歩により各種のデータベー
スマシンが提案されておシ、その中には、ハツシングハ
ードヴエア、ソーティングハードウェア、連想メモリあ
るいはビットマツプ等を用いてのジョイン演算の高速処
理方式が提案されている。しかしながら、上記各提案は
一時記憶にデータを格納し、その中から逐次取り出して
ホス)CPU上で処理するのが大半であり、データスト
リームに同期した処理という点が欠如し、データ転送時
間の有効利用を図っていない。一部にデータスト+7−
ム処理に基づいてソーhk行い、それをジョイン演算に
利用しようとする提案もある。しかしながら、そこで提
案されているソーティングハードウェアの処理は、当該
ソーティング・ハードウェアへのデータ入力(比較、デ
ータ移動処理)処理及び、尚該ソーティングハードウェ
アからの、データ比較を伴なったデータ出力処理を必要
とする。Furthermore, with the advancement of hardware technology, various database machines have been proposed, including high-speed processing methods for join operations using hashing hardware, sorting hardware, associative memory, bitmaps, etc. Proposed. However, most of the above proposals store data in temporary memory and sequentially retrieve it from the data and process it on the host CPU, which lacks the point of processing synchronized with the data stream, which makes the data transfer time effective. No plans are being made to use it. Some datast +7-
There is also a proposal to perform sort hk based on system processing and use it for join operations. However, the processing of the sorting hardware proposed therein includes data input processing (comparison, data movement processing) to the sorting hardware, and data output processing accompanied by data comparison from the sorting hardware. Requires.
本発明の目的は、上記の如き従来の問題点を除去するこ
とであり、転送されてくるデータストリームに同期した
形式で、データ比較及びソート処理を高速に行う処理単
位の複数構成を通信ネットワークで結合した多段構造に
よpl リレーショナルデータベースにおけるジョイン
演算を高速処理する方式を提供することにある。The purpose of the present invention is to eliminate the above-mentioned conventional problems, and to provide a communication network with a plurality of processing units that perform data comparison and sorting processing at high speed in a format synchronized with the transferred data stream. The object of the present invention is to provide a method for high-speed processing of join operations in a pl relational database using a connected multi-stage structure.
このような目的を達成するために、本発明は、専用機能
を実現する複数のプロセッサ、複数の記憶装置とこれの
任意の個数を動的に結合する通信ネットワークを用いて
、データ転送に同期した形で、データ比較及びソート処
理を行うソートボックスの複数構成の多段構造により、
複数リレーションの同時範囲指定ノート処理、ソートボ
ックス全バッチドサーチ用プロセッサへの切換えによる
範囲指足内ソート結果データ間の並列バツチドサーチ処
理を実現し、複数リレーション間のジョイン演算’t[
速に実行することを特徴とするものである。To achieve these objectives, the present invention utilizes a communication network that dynamically couples a plurality of processors and a plurality of storage devices that implement dedicated functions, and any number of these devices to synchronize data transfer. With a multi-stage structure of multiple sort boxes that perform data comparison and sorting processing,
Simultaneous range specified note processing for multiple relations, parallel batched search processing between range finger toe sort result data by switching to a batched search processor for all sort boxes, and join operations between multiple relations.
It is characterized by fast execution.
以下、本発明を実施例を参照して詳細に説明する。Hereinafter, the present invention will be explained in detail with reference to Examples.
第2図は、本発明全実現するデータ処理システムの一構
成例であシ、各種専用機能を実現する複数の(マイクロ
ップロセッサ、複数の記憶装置とこれらの任意の個数を
動的に結合する通信ネットワーク及びそれらを制御する
コントローラ群9からなる複合計算機システムを示して
いる。FIG. 2 shows an example of the configuration of a data processing system that fully realizes the present invention, which includes a plurality of microprocessors, a plurality of storage devices, and an arbitrary number of these devices that realize various dedicated functions. This figure shows a complex computer system consisting of a communication network and a controller group 9 that controls them.
CP (Command processor )群
6は、ホス)CPUIより転送されてくる高レベルデー
タアクセス言語のコンパイル結果の受理、最適アクセス
(処理)パスの作成、それを、次に示す5FP(5pe
ciaJ Function processor
)群7により実行される中間言語シーケンスへの変換及
びそれらの8FP群7への転送、さらには、SFP等の
処理結果の統合処理等を司どる。また、CPC(Com
mand Processor Control
ler )は、ホス)CPtJlから転送されてくるデ
ータ処理要求に基づいて前記CP群60割当て/解放の
制御及びCN (Communication Ne
twork ) 5を介して、他コントローラ群9との
情報通信を司どる。The CP (Command processor) group 6 accepts the compilation results of the high-level data access language transferred from the CPU (host), creates an optimal access (processing) path, and processes it using the following 5FP (5pe).
ciaJ Function processor
) Conversion into intermediate language sequences executed by group 7, transfer of these to 8FP group 7, and integration processing of processing results such as SFP etc. In addition, CPC (Com
mandProcessor Control
ler) controls the allocation/release of the CP group 60 based on the data processing request transferred from the host) CPtJl, and controls the CN (Communication Ne).
(work) 5, it manages information communication with other controller groups 9.
SFP群7は、CP群6から転送されてくるデータ処理
用の中間言語シーケンスに基づいて集際のデータアクセ
スを司どるプロセッサ群である。The SFP group 7 is a processor group that manages collective data access based on the intermediate language sequence for data processing transferred from the CP group 6.
この中間言語は、例えば、関係代数演算(前述のジョイ
ン演算、プロジェクション演算、セレクシヨン演算など
)、ソート演算9適常の集合演算。This intermediate language includes, for example, relational algebraic operations (such as the above-mentioned join operation, projection operation, and selection operation), sorting operations, and appropriate set operations.
リスト操作作成処理9適常の代数演算1等を含む。List operation creation processing 9 includes appropriate algebraic operations 1, etc.
8 F P C(5pecial Function
processorController )は、
前記SFP群(1)制御、例エバ、前記CP6から転送
されているデータアクセス中間言語シーケンスに基づい
て、ダイナミックにSFP群7(1つの中間言語シーケ
ンスに複数の5FP7をダイナミックに割当てることが
できる)の割当て/解放制御及びCN5’e介しての他
コントローラ群9との情報通信を司どる。8 FPC (5special Function)
processorController) is
The SFP group (1) controls, for example, the SFP group 7 dynamically based on the data access intermediate language sequence being transferred from the CP 6 (a plurality of 5FPs 7 can be dynamically assigned to one intermediate language sequence). control of allocation/release control and information communication with other controller groups 9 via the CN 5'e.
BS (J3+ffer Storage )群8は
、磁気ディスク等の記憶装置3から転送されてくるデー
タの一時格納、あるいは、前記SFP群7で処理された
中間結果の保持、等に使用され、ICメモリ、磁気バブ
ルメモリ、CODメモリ等で構成されるB S C(1
3uffer S torage Controlle
r )は前記BS群80割轟て/解放制御及びCN5を
介して他コントローラ群9との情報通信を司どる。The BS (J3+offer Storage) group 8 is used to temporarily store data transferred from the storage device 3 such as a magnetic disk, or to hold intermediate results processed by the SFP group 7, and is used to store IC memory, magnetic BSC (1) consisting of bubble memory, COD memory, etc.
3uffer S storage Control
r) controls the 80% broadcast/release control of the BS group and information communication with other controller groups 9 via the CN5.
さらに、88 (Secondary 3torag
e )群3は、データベース格納用の記憶装置、例えば
大容量磁気ディスク装置などである。これらの装置は連
列転送によ°り転送の高速化が図られているものとする
。88 C(S econdary 8 torag
eController )は、前記SS群3からのデ
ータ転送あるいは他装置から88群3へのデータ転送な
どの制御及びCN5’z介して他コントローラ群9との
情報通信を司どる。Furthermore, 88 (Secondary 3torag
e) Group 3 is a storage device for storing a database, such as a large-capacity magnetic disk device. It is assumed that these devices are designed to increase the speed of transfer by serial transfer. 88 C (S secondary 8 torag
The eController) controls data transfer from the SS group 3 or data transfer from other devices to the 88 group 3, and controls information communication with other controller groups 9 via the CN 5'z.
第3図は、本発明の一実施例を示すもので前記SFP群
7の一構成要素である転送されてくるデータをセットさ
れたデータ値に従ってデータ転送を振り分けるデータ分
配器DD(Datal)istrib@ter ) 1
1〜16と転送データをソートする5B31〜36との
複数溝底’1cN50を介しての多段(第3図は2段ン
構成により2つのりレーション(テーブルともいう)R
s とFL、とのジョイン演脚ヲ行う処理形態を示した
ものである。FIG. 3 shows an embodiment of the present invention, and is a data distributor DD (Data) istrib@, which is a component of the SFP group 7 and distributes data transfer according to set data values. ter ) 1
1 to 16 and 5B31 to 36 for sorting the transferred data in multiple stages via multiple groove bottoms 1cN50 (Figure 3 shows two rations (also referred to as tables) R with a two-stage configuration.
This figure shows a processing form for performing a join performance between s and FL.
第4図は、本発明のもう一つの実施例を示すもので、デ
ータ分配器DD17〜28及び5B37〜48’1CN
50i介して3つのりレーションR,,R2,及びR3
の間のジョイン演算処理を実行する処理形態を示すもの
である。FIG. 4 shows another embodiment of the present invention, in which data distributors DD17-28 and 5B37-48'1CN
50i through three rations R, , R2, and R3
This shows a processing form for executing join calculation processing between.
第5図は、前記のデータ分配器DD200の内部構成図
である。当該DD200は、データの撮り分けを行う装
置で、比較演算子をセットしておく比較演算子レジスタ
203と、当該レジスタ203の内容に基づき比較処理
を行う比較器204と、当該比較器204の比較結果を
セットするラッチ回路205と、転送されてくるデータ
との比較を行うための比較データをセットしておくデー
タレジスタDR,206と、転送されてくる被比較デー
タをセットしておくデータレジスタDR207と、ラッ
チ回路205のラッチ内容に基づき、データレジスタD
R,の内容の転送先を切換える切換えスイッチ5W20
8、および上記各回路を制御する制御回路202で構成
される。FIG. 5 is an internal configuration diagram of the data distributor DD200. The DD 200 is a device that separates data, and includes a comparison operator register 203 in which a comparison operator is set, a comparator 204 that performs comparison processing based on the contents of the register 203, and a comparison between the comparator 204. A latch circuit 205 for setting a result, a data register DR 206 for setting comparison data for comparison with the transferred data, and a data register DR 207 for setting the transferred data to be compared. Based on the latched contents of the latch circuit 205, the data register D
Selector switch 5W20 to change the destination of the contents of R.
8, and a control circuit 202 that controls each of the above circuits.
第6図に、ソート処理を行うソートボックスSB’r構
成するセルの内部構造を示すものである。FIG. 6 shows the internal structure of cells constituting the sort box SB'r that performs sorting processing.
当該セルは、他セルからのデータ転送及び後述の比較器
306、データレジスタDR,,308及びDR,30
9へのデータ入力を制御する遅延回路304と、他セル
から転送されてくるデータと1−タレジスタDR,30
8あるいはDR,,309内データとの比較を行うため
の比較演算子をセットしておく比較演算子レジスタ30
5と、当該レジスタ305の内容に基づき、他セルから
転送されてくるデータと前記DR,308あるいはDR
,。This cell transfers data from other cells, comparators 306, data registers DR, 308 and DR, 30, which will be described later.
a delay circuit 304 that controls data input to 9, and a delay circuit 304 that controls data input to the 1-data register DR, 30;
Comparison operator register 30 in which a comparison operator is set for comparison with data in 8 or DR, 309.
5 and the data transferred from other cells and the DR, 308 or DR based on the contents of the register 305.
,.
309内データとの比較処理を行う比較器306と、当
該比較器の比較結果をセットしておくラッチ回路307
と、データ転送を切換える複数の切換えスイッチ310
〜312と、他セルから転送されてくるデータをセット
しておく2つのデータレジスタDR,308,DR,3
09及び上記各回路を制御する制御回路302で構成さ
れる。ソートボツタス5B31〜48は上記セルの線型
配列からなっている。A comparator 306 that performs comparison processing with the data in 309, and a latch circuit 307 that sets the comparison result of the comparator.
and a plurality of selector switches 310 for switching data transfer.
~312 and two data registers DR, 308, DR, 3 in which data transferred from other cells is set.
09 and a control circuit 302 that controls each of the above circuits. The sorting bots 5B31-48 consist of a linear array of the cells described above.
(5) 2つのりレーションの等結合(eQL+1−j
oin)の処理動作
第3.第5.及び第6の各図を用いて説明する。(5) Equicombination of two rations (eQL+1−j
oin) processing operation 3rd. Fifth. This will be explained using FIGS.
今、リレーションR+1のジョイン0アトリビユートと
シーケンスNo(前記DF’CBでデータ転送順に付加
される]の対のデータストリームを以下のものとする:
(これをR,ストリームとよぶ。)
(101,11,(105,2)、(102,3)。Now, assume that the data stream of the pair of join 0 attribute and sequence number (added in the order of data transfer in the DF'CB) of relation R+1 is as follows:
(This is called R, stream.) (101, 11, (105, 2), (102, 3).
(106,4)、(103,5)、(107,6)。(106,4), (103,5), (107,6).
(111,71,(104,8)、(115,9)。(111,71, (104,8), (115,9).
(109,10)、(113,11)、(108,12
)また、リレーションR2のジョイン・アトリビュート
とシーケンスNoの対のデータストリームを以下のもの
とする: (これをR2ストリームとよぶ。)
(121,1)、(101,2)、(112,3)。(109,10), (113,11), (108,12
) Also, assume that the data stream of the join attribute and sequence number pair of relation R2 is as follows: (This is called the R2 stream.) (121,1), (101,2), (112,3) .
(105,4)、(111,5)、(122,6J。(105,4), (111,5), (122,6J.
(103,7)、(112,8)、(104,9)。(103,7), (112,8), (104,9).
(115,113,(101,12)、(117,13
)。(115, 113, (101, 12), (117, 13
).
(112,153,(102,167
そこで、上記2つのりレーションR1とUt トの間の
等結合を考える。(112, 153, (102, 167) Therefore, let us consider the equi-connection between the above two relations R1 and Ut.
(a) 今、使用可能な(DD、8B)の対がリレー
ションのジョインアトリビュート(JoinAttri
bute )に対して1対しかない場合には次のように
等結合(eQLli −join )を処理する。(a) The currently usable pair (DD, 8B) is a relation join attribute (JoinAttri).
bute ), the equijoin (eQLli -join ) is processed as follows.
8Bは全データを収容できるものとする。It is assumed that 8B can accommodate all data.
■ DDII及び14のDR206にジョイン−アトリ
ビュート値の最大値(R,では115゜R2では122
)、C0R2O3に1く”。■ Join to DR206 of DDII and 14 - Maximum attribute value (115° for R, 122° for R2
), 1 to C0R2O3”.
および、制御回路202内にある転送データ情報管理部
(図示せず、詳細構造は、例えば、実用新案登録願55
−145531 号に示されている。)に転送されて
くるデータフィールドのサイズ、等をセットする。and a transfer data information management unit in the control circuit 202 (not shown, the detailed structure is, for example, a utility model registration application 55
-145531. ), set the size of the data field to be transferred, etc.
■ R,ストリームをライン101を通して、データ分
配器DDIIに、atストリームをライン104通して
、データ分配器DD14に、各々入力する(同時に入力
可能である)。(2) The R and stream are input to the data distributor DDII through the line 101, and the at stream is input to the data distributor DD14 through the line 104 (they can be input at the same time).
■ 転送されてくるデータストリームをDDII及びD
D14は次のように処理する。■ Transferred data stream to DDII and D
D14 is processed as follows.
@RI、R1ストリーム
DDllのDR206には値″’115”あるいはこれ
以上の値がセットされている。@RI, DR206 of R1 stream DDll is set to the value "'115" or a value greater than this.
まず、(101,1)が転送されてくると、制御回路2
02の制御に従い(遅延回路の使用可)、(101,1
ンの比較器204への入力に合わせて、DR206から
比較データ値″’115”t−比較器204に入力し、
C0FL203のセット値°゛<”に基づいて比較を行
う。この時、同時にもう一方のDR207には上記(1
01,1)に保持する。制御回路2021d比較ラツチ
205の結果に従い5W208を開閉し、DR207に
あるデータ値の転送(SBあるいは次のDDへの転送)
を制御する。今の場合は、1101”〈”105”につ
き、DDllは、(101,1)をライン119全通し
て、5B31に転送する。ここでは、全ての入力データ
がDDIIのDR206の内容よシも小さいので全て5
B31に転送される。First, when (101, 1) is transferred, the control circuit 2
According to the control of 02 (delay circuit can be used), (101,1
In accordance with the input to the comparator 204, the comparison data value "'115" is input from the DR 206 to the t-comparator 204,
Comparison is performed based on the set value °゛<'' of C0FL203.At this time, at the same time, the other DR207 has the above (1
01,1). Control circuit 2021d opens and closes 5W208 according to the result of comparison latch 205, and transfers the data value in DR207 (transfer to SB or next DD)
control. In this case, for 1101"<"105", DDll transfers (101, 1) to 5B31 through the entire line 119. Here, all input data is much smaller than the contents of DR206 of DDII. So all 5
Transferred to B31.
・R,ストリームの処理
DD14のDR2,06に値″’122”がセットされ
、データ(121,1)から順に、DD14に転送され
てくる。DD内部の制御及び処理はR,ス) IJ−入
処理で述べたものと同様である。今の場合、全ての入力
データがDD14のDR206の内容よシ小さいので、
ライン128を通して5B34に転送される。- Processing of R, stream The value "'122" is set in DR2, 06 of the DD 14, and data is transferred to the DD 14 in order starting from data (121, 1). The control and processing inside the DD is the same as that described for R, S) IJ-input processing. In this case, all input data is smaller than the contents of DR206 of DD14, so
It is forwarded to 5B34 through line 128.
■ DDIIから転送されてくるR、ストリーム1sB
31内でソートし、各データ値を6各、5B31内のあ
る1つのセルのDR308あるいはDR,309のいず
れかに保持する。■ R, stream 1sB transferred from DDII
31, and each data value is held in either DR308 or DR,309 of one cell in 5B31.
有効DRフラグ303によりどちらかがわかる。同様に
、DD14から転送されてくる几、ストリーム’に8B
34内でソートし、各データ値全各々、5B34内のあ
る1つのセルのDR308あるいはDR309のいずれ
かに保持する。Which one is known from the valid DR flag 303. Similarly, the stream transferred from DD14 has 8B
34, and each data value is held in either DR308 or DR309 of one cell in 5B34.
すなわち、R1ストリーム及びR,ストリ−ムは次のよ
うにソートされる。これらを各各且、′ストリーム及び
R2′ストリームとする。That is, the R1 stream and the R,stream are sorted as follows. These are respectively referred to as 'stream' and R2' stream.
−R8′ストリーム(R,ストリームより生成):
セル1: (101,1)、セル2:(102゜3)、
セル3 : (103,5)、セル4:(104,8)
、セル5 : (105,2)。-R8' stream (generated from R, stream): Cell 1: (101,1), Cell 2: (102°3),
Cell 3: (103,5), Cell 4: (104,8)
, cell 5: (105,2).
セル6: (106,4)、セル7:(107゜6)
、セル8:(108,12)、セル9:(109,10
3,セル10:(111゜7)、セル11: (113
,111,セル12: (115,9)
#几!′ストリーム(Rtストリームより生成):
セル1 : (101,2)、セル2: (101゜
12)、セル3: (102,16)、セル4 : (
103,7)、セル5:(104゜9)、セル6:
(105,4)、セル7:(106,103,セル8:
(111,5)。Cell 6: (106,4), Cell 7: (107°6)
, cell 8: (108,12), cell 9: (109,10
3, Cell 10: (111°7), Cell 11: (113
,111,Cell 12: (115,9) #几! 'Stream (generated from Rt stream): Cell 1: (101, 2), Cell 2: (101°12), Cell 3: (102, 16), Cell 4: (
103,7), cell 5: (104°9), cell 6:
(105,4), cell 7: (106,103, cell 8:
(111,5).
セル9: (112,3)、セル10:(112,8)
、セル11:(112゜15)、セル12: (115
,11)、セル13: (117,13)、セル14:
(119,14)、セル15:(121゜1)、セル1
6: (122,6)
■ 5B31に保持されているR、Iストリームをライ
ン122.CN50.ライン183゜ライン128を通
して、5B34に転送し、8B34内で、比較演算(こ
こでは、5B31かものデータ転送に先立ち、5B34
内の各セルのCORは等号1=”にリセットされている
。)を行い、転送されてくるデータで一致し乃、いデー
タは、5W312’を制御し、ライン325全通して、
次のセルに転送する。Cell 9: (112,3), Cell 10: (112,8)
, Cell 11: (112°15), Cell 12: (115
,11), Cell 13: (117,13), Cell 14:
(119,14), cell 15: (121°1), cell 1
6: (122,6) ■ Transfer the R and I streams held in 5B31 to line 122. CN50. It is transferred to 5B34 through line 183 and line 128, and within 8B34, a comparison operation (here, prior to the data transfer of 5B31, 5B34
The COR of each cell in the cell is reset to equal sign 1 = "), and if the transferred data does not match, it controls the 5W 312' and passes the entire line 325.
Transfer to next cell.
一致したデータは、DR308及びDR309の内容か
ら、シーケンスNoの対を作成し、ライン324.ライ
ン326.2イン131゜CN50 、及びライン13
4を通して、B S。For matched data, a pair of sequence numbers is created from the contents of DR308 and DR309, and a pair of sequence numbers is generated on line 324. Line 326.2 in 131°CN50, and line 13
Through 4, B.S.
(ここではBSIが使用できるものとする)に、この対
を格納する。シーケンスNoの対を転送と同時に被比較
データを次のセルに転送する。この動作を転送されてく
るRlm ’ストリームデータ全てに対して行う。(assuming that BSI can be used here) stores this pair. At the same time as transferring the pair of sequence numbers, the data to be compared is transferred to the next cell. This operation is performed for all the transferred Rlm' stream data.
上記具体例では次のようになる: ・R1’ストリームとR2’ストリームとの比較 8B34では次のような動作を行う。In the above example, it would look like this: ・Comparison between R1' stream and R2' stream The 8B34 performs the following operations.
セル1:キR2’ (101,2)=R,I’(101
゜1)より、シーケンスNo対(1゜
2)を作成し、BS、に転送。と
同時にR1’(10t、1)を次の
セルに転送。この転送後遅延回路
304を通して、次のデータR1′
(102,3Jが転送されてくる。Cell 1: KiR2' (101, 2) = R, I' (101
From ゜1), create a sequence number pair (1゜2) and transfer it to the BS. At the same time, R1' (10t, 1) is transferred to the next cell. The next data R1' (102, 3J) is transferred through this post-transfer delay circuit 304.
この場合は、R,’(101,2) \R,′(102,3)より、R1’ (102,3)は次のセルに転送 される。以上の処理動作を転送さ れてくるRI′ストリームデータ全 てに対して行う。In this case, R,'(101,2) From \R,'(102,3), R1' (102,3) is transferred to the next cell be done. The above processing operations are transferred All incoming RI' stream data This is done for each person.
セル2:R2’(101,12)=R1’ 。Cell 2: R2' (101, 12) = R1'.
(101,1)より、シーケンス No対(1,12)を作成し、 BSlに転送。と同時に、R1’ (101,1ンを次のセルに転送。From (101, 1), the sequence Create No pair (1, 12), Transferred to BSL. At the same time, R1' (Transfers 101,1 to the next cell.
以下セル1と同処理である。The following processing is the same as that for cell 1.
以上の処理動作をセル3〜セル16で実行し、各セルか
らは以下に示すシーケンスNOの対が生成され、BS、
に格納される。The above processing operations are executed in cells 3 to 16, and each cell generates the sequence NO pairs shown below, and the BS,
is stored in
セル1:(1,2)、セル2: (1,12)。Cell 1: (1, 2), Cell 2: (1, 12).
セル3: (3,16)、セル4: (5,7)。Cell 3: (3,16), Cell 4: (5,7).
セル5: (8,9)、セル6: (2,4)。Cell 5: (8,9), Cell 6: (2,4).
セル7: (4,10)、セル8: (7,5)。Cell 7: (4,10), Cell 8: (7,5).
セル9:無出力、セル10:無出力、セ8ル11:無出
力、セル12: (9,11)、セル13:無出力、セ
ル14:無出力、セル15:無出力、セル16:無出力
今、5B34でアクティブなセルは16までであり、セ
ル16から掃き出されるR1′ストリームデータは、5
B34の制御回路(図示せず)により無効にされる。ま
た、上記例で示すように、セル13以降からは条件を満
たすものはなく無出力となっている。すなわち、セル1
3以降の処理は無意味である。これを避けるために、次
のような制御をもたせることも可能である。すなわち、
転送されてくるデータストリーム内の最大値が、比較デ
ータが保持されているSB内の、何番目のセルにあるデ
ータ値よりも小さいか、あるいは等しいかを、前もって
チェックしておいて、SB内のセルのアクティブ範囲を
設定しておくことである。従って、上記例でu、5B3
4のセル12までをアクティブにしておき、当該セル1
2から掃き出されるデータ値は無効にし、かつR1′ス
トリームの最終データ値が当該セル12での処理を終了
したら、当該ステップ■を終了して、次のステップへ処
理を進めることができる。Cell 9: no output, cell 10: no output, cell 8 cell 11: no output, cell 12: (9,11), cell 13: no output, cell 14: no output, cell 15: no output, cell 16: No output Currently, the number of active cells in 5B34 is up to 16, and the R1' stream data swept out from cell 16 is 5.
It is overridden by control circuitry (not shown) of B34. Furthermore, as shown in the above example, there is no output from cell 13 onwards, as there is no cell that satisfies the conditions. That is, cell 1
Processing after 3 is meaningless. In order to avoid this, it is also possible to provide the following control. That is,
Check in advance whether the maximum value in the transferred data stream is smaller than or equal to the data value in the cell number in the SB where comparison data is held, and then The first thing to do is to set the active range of cells. Therefore, in the above example, u, 5B3
Activate cells up to cell 12 of cell 1, and
When the data values swept out from the cell 12 are invalidated and the final data value of the R1' stream has finished processing in the cell 12, step (2) can be completed and processing can proceed to the next step.
■ 対応するCP(第2図参照)は、B、S、に格納さ
れているシーケンスNoの対をリードし、そ扛に基づい
て、リレーションR1及びR1のタラプルが格納されて
いるBS(複数でも可)からデータを読込み実質的なデ
ータの結合処理を行う。■ The corresponding CP (see Figure 2) reads the pair of sequence numbers stored in B, S, and based on the read, reads the BS (or multiple BSs) in which the relations R1 and the Tara pull of R1 are stored. (Acceptable) and performs the actual data merging process.
上記シーケンスNoの対で、第1項はりレーションR,
のタラプル(不要アトリビュートが削除された形である
BSに格納されていることもある)のBS内での格納順
番を示し、第2項はりレーションR2のそれを示す。こ
れによシ、各々のタラプルのBS内での格納アドレスを
次のように求めることができる。In the pair of sequence numbers above, the first term beam ration R,
The second term shows the storage order in the BS (sometimes stored in the BS with unnecessary attributes removed), and the second term shows that of the ratio R2. Accordingly, the storage address of each Tara pull within the BS can be obtained as follows.
すなわち、リレーションRs (Rt )のシーケン
スNoをvt(Vt)、タラプル長をrs(rtl(バ
イト)、BS内でのりレーションR+ (Rt )
タラプルの格納開始アドレスをSt (St )と
すれば、・リレーションR1タラプルのBS内格納アド
レス:
Adr(几t”rt)=St+(Vs 1)”トリレ
ーションR2タツプルのBS内格納アドレス:
A dr (R2’ rt)=St +(V2 1)”
rtまた、異なるBSにまたがってタラプルが格納さ
れている場合には、格納BSの識別子に基づいて、アド
レス生成を行う。対応するCPでは、上記アドレスに基
づいて、各々のデータを読込み実質的なデータ結合処理
(セミ・ジョイン(semi −join )ならば、
一方のデータだけの読込みでよい)を実行する。In other words, the sequence number of the relation Rs (Rt) is vt (Vt), the length of the relation is rs (rtl (byte)), and the relation R+ (Rt) in the BS
If the storage start address of the tuple is St (St), then the storage address in the BS of the relation R1 tuple: Adr (几t"rt)=St+(Vs 1)" The storage address in the BS of the relation R2 tuple: A dr (R2' rt)=St + (V2 1)"
rtFurthermore, if the Tara pull is stored across different BSs, an address is generated based on the identifier of the stored BS. In the corresponding CP, each data is read based on the above address and if it is a substantial data join process (semi-join),
It is only necessary to read data from one side).
■ CPでデータ結合を施されて新しく生成されたデー
タは、ホストCPUI、CP6゜5FP7あるいはBS
8等に転送される。■ The newly generated data after data combination in CP is sent to host CPU, CP6゜5FP7 or BS.
Transferred to 8th grade.
Cb) 次に、複数のDD及びSBが使用できる場合
を示す。今、各々のジョイン・アトリビュートに対して
、夫々2つずつのDDと8Bの対が利用できるものとす
る。この時、ジョイン・アトリビュート間の比較演算は
次のように実行される。使用データは、前述のものと同
じとする。Cb) Next, a case where multiple DDs and SBs can be used will be shown. Now assume that two DD and 8B pairs are available for each join attribute. At this time, the comparison operation between join attributes is executed as follows. The data used is the same as described above.
■ DDII及びDD14のDR2o6に、ジョイン・
アトリビュート値”107”、C0R2O3に1く“、
さらに、制御回路202内にある転送データ情報管理部
(図示せず)に転送されてくるデータフィールドのサイ
ズ、等をセットする。また、DD12及びDD15のD
R,206に、ジョイン・アトリビュート値の最大値、
R8では115.R,では122を各々セットし、他も
上記と同様にセットする。■Join to DR2o6 of DDII and DD14.
Attribute value “107”, 1 for C0R2O3”,
Furthermore, the size of the data field to be transferred to a transfer data information management unit (not shown) in the control circuit 202, etc. are set. Also, D of DD12 and DD15
R, 206, the maximum value of the join attribute value,
115 for R8. Set 122 for each of R and R, and set the others in the same manner as above.
■ (a) (!:同様に、R1ストリーム及びR,ス
トリームを、データ分配器DDに入力する。■ (a) (!: Similarly, the R1 stream and the R,stream are input to the data distributor DD.
■ 転送されてくるデータストリームを各DDは次のよ
うに処理する。■ Each DD processes the transferred data stream as follows.
・R,ストリーム処理
(a)と同様に処理が進行するので詳細は省略する。D
DIIにセットされている61o7”よシ大きいデータ
値は次のDD12に転送され、′107”よシ小さいデ
ータ値はS R31に転送される。また、DD12に転
送されたデータ値は、DD12虻セットされている”1
15”との比較の結果、8B32に転送される。- R, stream processing The details are omitted because the processing proceeds in the same way as (a). D
Data values larger than 61o7'' set in DII are transferred to the next DD12, and data values smaller than '107'' are transferred to SR31. In addition, the data value transferred to DD12 is set to "1" in DD12.
As a result of the comparison with 15", the data is transferred to 8B32.
・R2ストリームの処理
DD14にセットされているw″107”より大きいデ
ータ値は次のDD15に転送され、′107”よシ小さ
いデータ値ハ5B34に転送される。また、DD15に
転送されたデータ値は、DD15にセットされている”
122”との比較の結果に従い、8B35に転送される
。- Processing of R2 stream Data values larger than w ``107'' set in DD14 are transferred to the next DD15, and data values smaller than ``107'' are transferred to 5B34. Also, data transferred to DD15 The value is set to DD15.”
122” and is transferred to 8B35.
■ (a)と同様に処理が進行し、各SBでのソート結
果(SR31のをR31′ストリーム、S R32のi
R,、’ストIJ−4,5R346’MrR7,′スト
リーノ1.5B35のをR72′ストリーム、とする]
は次のようになる。■ The process proceeds in the same way as in (a), and the sorting results at each SB (SR31's R31' stream, SR32's i
R,,'St IJ-4,5R346'MrR7,'Strino 1.5B35 is R72' stream]
becomes as follows.
a R,、’ ス) IJ−ム(SR31内)−1=ル
l : (101,1ン、+h2 : (102゜3)
、−t=ニル: (103,5)、−1=/l、4:(
104,8)、 セル5: (105,2)。a R,,'s) IJ-m (in SR31) -1=R: (101,1, +h2: (102°3)
, -t=nyl: (103,5), -1=/l, 4:(
104,8), Cell 5: (105,2).
セル6: (106,4)、七ルア : (107゜6
)
* R,2’ ストリー、z、(SR32内)セル1
: (108,12)、セル2:(109,10)、セ
ル3: (111,7)。Cell 6: (106,4), Seven Lua: (107°6
) * R, 2' Story, z, (inside SR32) Cell 1
: (108,12), Cell 2: (109,10), Cell 3: (111,7).
セル4: (113,11)、セル12:(115,9
ン
・R,2,’ストI) −人(SR341’[セル1
: (101,2)、セル2: (101゜12)、セ
ル3: (102,16)、セル4: (103,7)
、*ル5: (104゜9)、セル6: (105,
4)、セル7:(106,10)
” Rt2′ス) ’) −ム(S B 35内]セル
1: (111,5)、セル2:(112゜3)、セル
3: (112,8)、セル4:(112,15島セル
5:(115゜
11〕、セル6: (117,13)、セル7: (
119,14)、セル8: (121゜1)、セル9:
(122,6)
■ (aJの■と同様に、上記ストリーム間の比較演算
ヲ行い、シーケンスNoの対を得る。各DDにセットさ
れている値に従い、上記各ストリームは次のように制御
される。すなわち、R11′メトリームを、ライン12
2.CN50゜ライン183.ライン128を通して、
R2,′ストリームのある5B34に転送し、(イ)の
■で示したのと同様な処理を行い、シーケンスNOの対
を、ライン131.CN50゜及びライン134全通し
て、BS、に格納する。同様に、Rj12′ストリーム
をライン123゜CN50.ライン184.ライン12
9を通して、R12′ストリームのある5B35に転送
し、以下、上記と同様の処理を行う(並行処理を実現す
るために、BS、にシーケンスNoの対を格納するン。Cell 4: (113,11), Cell 12: (115,9
R, 2, 'St I) - Person (SR341' [Cell 1
: (101,2), Cell 2: (101°12), Cell 3: (102,16), Cell 4: (103,7)
, *Le 5: (104°9), Cell 6: (105,
4), Cell 7: (106,10) "Rt2's) ') -m (inside SB 35) Cell 1: (111,5), Cell 2: (112°3), Cell 3: (112, 8), Cell 4: (112, 15 island Cell 5: (115° 11), Cell 6: (117, 13), Cell 7: (
119, 14), cell 8: (121°1), cell 9:
(122, 6) ■ (Similar to ■ in aJ, perform a comparison operation between the above streams and obtain a pair of sequence numbers. According to the value set in each DD, each of the above streams is controlled as follows. In other words, the R11' metric is
2. CN50° line 183. Through line 128,
R2,' is transferred to the 5B34 where the stream is located, and the same processing as shown in (a) (■) is performed, and the pair of sequence numbers is transferred to the line 131. CN50° and the entire line 134 are stored in BS. Similarly, connect the Rj12' stream to line 123°CN50. Line 184. line 12
9 to the 5B35 where the R12' stream is located, and the same processing as above is performed (in order to realize parallel processing, pairs of sequence numbers are stored in the BS).
上記処理により、BSlには、次のシーケンスNOの対
が格納される:
(1,2)、(1,12)、(3,16)。Through the above processing, the following sequence NO pairs are stored in BS1: (1, 2), (1, 12), (3, 16).
(5,7)、(8,9)、(2,4J、(4゜10)
また、BS、には、次のシーケンスNoの対が格納され
る:
(7,5)、(9,11)
(F4の■で示したように、アクラインセルの範囲を認
識することにより、処理を高速化できる。(5, 7), (8, 9), (2, 4J, (4° 10) In addition, the following pair of sequence numbers is stored in BS: (7, 5), (9, 11 ) (As shown by ■ in F4, processing can be sped up by recognizing the range of the ac line cells.
■ (a〕の■と同様 ■ (a)の■と同様 次に3つのりレーションの等結合について示す。■ Same as ■ in (a) ■ Same as ■ in (a) Next, we will show the equi-combination of three rations.
■ 3つのりレーションの等結合の処理動作1、リレー
ションR3のアトリビュートaとリレーションRtのア
トリビュートaとジョインし、さらに、リレーションR
1のアトリビュートbとリレーションR3のアトリビュ
ートbとジョインすのものとする。詳細の処理動作へ(
イ)で示したものと同様であり、ここでは、概要のみを
示す。■ Processing operation 1 for equijoining three relations, join attribute a of relation R3 and attribute a of relation Rt, and then join relation R
1 and attribute b of relation R3. To detailed processing operation (
This is the same as that shown in b), and only an overview is shown here.
■ DI)17〜DD19.DD20−DD22゜DD
23〜DD25.及びDD26〜DD28の各DR20
6に、それぞれ、(R1(a。■ DI) 17-DD19. DD20-DD22゜DD
23~DD25. and each DR20 of DD26 to DD28
6, respectively, (R1(a.
b)、SEQ+t )ストリーム、(R,轡。b), SEQ+t Stream,(R,轡.
sEQ+2 )ストリーム、(R’l 卑。sEQ+2) stream, (R'l base.
(SEQすs 、SEQ+tl)ストリーム、及び(R
3卵、SEQ!s )ストリーム、等を適切に分割する
だめの値(上記で下線をしたアトリビュートに関する値
)ヲ、各COR203にM < 77 、、さらに、各
制御回路202内にある転送データ情報管理部(図示せ
ず)に必要情報をセットする。(SEQs, SEQ+tl) stream, and (R
3 eggs, SEQ! s) stream, etc. (values related to the underlined attributes above), M < 77 for each COR 203, and a transfer data information management section (not shown in the figure) in each control circuit 202. Set the necessary information in
■ ライン107〜109を通して、DD17〜19に
(凡r (a、b)、SEQ+t )データストリー
ムを入力し、各DDで振り分けられたデータストリーム
をライン137〜139を通して、各SB37〜39に
転送する。同様に、ライン110〜112を通して、D
D20〜22に(Rz (a)、SEQす、)データス
トリームを入力し、各DDで振り分けられたデータスト
リームをライン146〜148を通して、各5B40〜
42に転送し、ライン116〜118を通して、DD2
6〜28K(R,(t〕、8EQ+8)データストリー
ムを入力し、各DDで振り分けられたデータストリーム
全ライン164〜166を通して各8B46〜48に転
送する。これらの処理は、同時に実行される。■ Input the (approximately r (a, b), SEQ+t) data stream to DD17-19 through lines 107-109, and transfer the data stream distributed by each DD to each SB37-39 through lines 137-139. . Similarly, through lines 110-112, D
Input the (Rz (a), SEQ,) data stream to D20-22, and pass the data stream distributed by each DD through lines 146-148 to each 5B40-22.
42 and through lines 116-118 to DD2.
A 6 to 28K (R, (t), 8EQ+8) data stream is input and transferred to each 8B 46 to 48 through all data stream lines 164 to 166 distributed by each DD. These processes are executed simultaneously.
■ (Rr (3−b) 、5EQU1 )データス
トリームを、5B37〜39で、(R1り几SEQ≠、
)データストリームを8B40 〜42で、(R3(切
、SEQ≠31を5B46〜48で、下線を付したアト
リビュート値で各各回時にソートする。■ (Rr (3-b), 5EQU1) data stream in 5B37 to 39, (R1 R≠SEQ≠,
) data stream by 8B40-42, (R3(off, SEQ≠31) by 5B46-48, each time by the underlined attribute value.
■ (R1(戸、b)、SEQす、)ストリーム、(R
t <8)、SEQ+t )ストリーム、及び(R1゜
(h)、SEQす、)ストリームの各ソート結果をそれ
ぞれ次のようにおく。■ (R1(door, b), SEQS,) stream, (R
The sorting results of the t<8), SEQ+t) stream, and the (R1°(h), SEQ+t) stream are set as follows.
・R□に関して、RIIZ R1,’、・・・・・・、
R111’・R1に関して、RlIZ FL、、’、・
・・・・・、+(+2j’・R3に関して、RIll
’+ R3!’e・・・・・・、l(,3に’R■′〜
R1量′をライン140,141゜142、CN50.
ライン189,190゜191、ライン146,147
,148等を通して、R11′〜R25′の保持されて
いる5B40,5B41.8B42等に各DD17〜D
D19及びDD20〜DD22にセットされたデータ値
に基づいて、スケジュールし、入力する。例えば、i=
Jで、5B37にあるR11′は5B40に、8B38
にあるR12′は8B41に、そして、5B39にある
R11’に5B42に、各々同時に入力できる。すなわ
ち、分割してソートシた結果の比較処理をその単位で並
列的に実行できる。また、各DDにセットする値により
、複数のソート結果を1つあるいはそn以上のソート結
果との比較処理とする必要のある場合は、そのように入
力転送をスケジュールする。・Regarding R□, RIIZ R1,',...
Regarding R111'・R1, RlIZ FL,,',・
..., +(+2j'・R3, RIll
'+R3! 'e......, l(,3 to 'R■'~
R1 amount' is set to line 140, 141°142, CN50.
Line 189, 190° 191, Line 146, 147
, 148, etc., to 5B40, 5B41.8B42, etc. held by R11' to R25' to each DD17 to D.
Schedule and input based on the data values set in D19 and DD20 to DD22. For example, i=
J, R11' in 5B37 is in 5B40, 8B38
R12' in 5B41 can be input to 8B41, and R11' in 5B39 can be input to 5B42 at the same time. That is, comparison processing of the divided and sorted results can be executed in parallel in each unit. Furthermore, if it is necessary to compare a plurality of sort results with one or more sort results depending on the value set in each DD, input transfer is scheduled accordingly.
上記比較処理結果として、各々のSBで得られた(R1
す、(SEQす1.SEQ+t))のス) IJ−ムは
、それぞれに対して予約されているBS(複数)に、ラ
イン113への入力をスケジュール(並列処理している
ためにデータ転送の競合を生起するので)するために、
一時的に格納される。但し、比較演算結果の中で唯一つ
のSB、例えば5B40からの(R1(1))−(SE
QL 。As a result of the above comparison process, (R1
(SEQS1.SEQ+t)) The IJ-me schedules the input to line 113 to the BSs reserved for each (because it is parallel processing, the data transfer is (because it would cause a conflict),
Stored temporarily. However, only one SB in the comparison result, for example (R1(1))-(SE
QL.
SEQ+!))ストリームは直接に、ライン113ある
いは、ライン152を通して、DD23に入力される。SEQ+! )) The stream is input directly to DD 23 through line 113 or line 152.
並列処理結果をBSから逐次読み出し、同様の処理を行
い、8B43〜45にアトリビュートbでソートした結
果を、DD23〜25にセットしたデータ値に基づいて
、保持する。The parallel processing results are sequentially read from the BS, the same processing is performed, and the results of sorting by attribute b into 8B43-45 are held based on the data values set in DD23-25.
■ のと同様に、(R11譬、(8EQす、。■Similar to (R11 parable, (8EQ).
SEQす、))のストリームは、SB43〜45に分割
してソートされており、これらは、ライン158,15
9,160.CN50゜ライン195,196,197
. ライン1.64 。The stream of SEQ, )) is divided and sorted into SB43 to SB45, and these are on lines 158 and 15.
9,160. CN50° line 195, 196, 197
.. Line 1.64.
165.166を通して、(R73Φ)。Through 165.166, (R73Φ).
8EQ+s)が分割してソートさn保持されている8B
46,47.48.等に各D23〜25及びDD26〜
28にセットされたデータ値に基づいて、スケジュール
し、入力する。8EQ+s) is divided and sorted and held in 8B
46, 47.48. etc. each D23~25 and DD26~
Schedule and input based on the data values set in 28.
複数入力データストリームによる並列処理によシ、5B
46〜48からは、比較処理結果として、シーケンスN
Oの三つ組(8EQ+、。Parallel processing with multiple input data streams, 5B
From 46 to 48, sequence N is obtained as a comparison processing result.
O triplet (8EQ+,.
SEQす、、SEQす、)のストリームが、前もって予
約されているBSに、ライン170〜172全通して格
納される。使用できるBSが少ない場合は、8 B 4
6〜48での比較処理は制限される(BSへの格納競合
を防ぐためである)。A stream of SEQS, SEQS,) is stored across lines 170-172 in a previously reserved BS. If there are few BSs available, 8 B 4
Comparison processing in 6 to 48 is restricted (to prevent storage contention in the BS).
■ 本ジョイン演算を含む間合せを実行管理しているC
Pは、そ汎自身あるいは他のフリーのCPを複数用いて
、(4)の■に前述した内容と同じ処理を並行して実行
する。CPが1つの場合は逐次処理を行う。■ C that executes and manages the alignment including the main join operation
P uses itself or a plurality of other free CPs to execute the same process as described in (4) (2) in parallel. If there is one CP, sequential processing is performed.
■ 囚の■と同様。■ Same as prisoner ■.
0 上記のは、次のようにも処理できる。0 The above can also be processed as follows.
まず、■(i’tt響、SEQす、)、(a、卑。First of all, ■(i'tt Hibiki, SEQ,), (a, low.
SEQすI)、(&智、S EQ+t ) 、(Rs
Cb)SEQ+s)のデータストリームをそれぞれ対
応するDDに入力し、設定したDD内のDR,206の
データ値に基づいてストリームを分割してソートし、■
(Rt に l 8EQ+1 )のソート結果と、(R
t (a)、8EQ+t )のソート結果の比較演算に
よるシーケンスNoの対(SEQ≠、。SEQI), (& Sat, SEQ+t), (Rs
Cb) Input the data streams of SEQ+s) into the corresponding DDs, divide and sort the streams based on the data values of DR, 206 in the set DD, and
The sorting result of (Rt to l 8EQ+1) and (R
A pair of sequence numbers (SEQ≠,.
SEQ+t)ストリームの作成と、(Rt(b)。SEQ+t) stream creation and (Rt(b).
SEQ、++ )のソート結果と(Rla(b) 、
8 EQ4’a )のソート結果との比較演算による
シーケンスNoの対(5EQ)Ih 、 SEQ、+s
)ストリームを同時に行い、それぞれのス) IJ−
ムを複数のBSに一時的に格納すると共に、それぞれの
B S カら(8EQ+t 、SEQ+t )及び(S
EQ、すhSEQ4h)eリードし、それぞれ’tsE
Q+、でソートするために、フリーとなったDD及びS
Hに、それぞれ転送する。−そして、ソートされた結果
に対して、(5)、[F]Jで示したよう顛比較演算を
行い、シーケンスNoの三つ組((SEQ+、。Sorting results of SEQ, ++) and (Rla(b),
Pair of sequence numbers (5EQ) Ih, SEQ, +s by comparison operation with the sorting result of 8 EQ4'a)
) streams simultaneously and each stream) IJ-
The system is temporarily stored in multiple BSs, and each BS (8EQ+t, SEQ+t) and (SEQ+t)
EQ, shSEQ4h) e lead, 'tsE respectively
In order to sort by Q+, the free DD and S
Transfer each to H. - Then, a comparison operation is performed on the sorted results as shown in (5) and [F]J, and the triple of sequence numbers ((SEQ+, .
SEQ+、、SEQす、))のストリームを予約してお
いたBSに並列あるいは逐次的に格納し、■ (5)、
■】で述べた■、■を実行する、ようにすることも可能
である。The streams of SEQ+,, SEQS,)) are stored in a reserved BS in parallel or sequentially, and ■ (5).
It is also possible to carry out steps ① and ② mentioned in [■].
以上、具体例で、複数リレーション間のジョイン演算の
処理方式を示したが、DDでセットした値内にある転送
データが、そのDDに対応するSBに全て収容できると
したが、収容しきれない場合は、ライン71〜84を用
いて、あるいはCN’に介して複数のSBe結合して対
処する。この時、DD内にあるDR206の値も変更す
る。The above example shows the processing method for join operations between multiple relations, and it is assumed that all the transfer data within the value set in the DD can be accommodated in the SB corresponding to that DD, but it cannot be accommodated. In this case, use the lines 71 to 84 or couple multiple SBes via CN'. At this time, the value of DR206 in the DD is also changed.
これにより、大量データのソートも可能となる。This also makes it possible to sort large amounts of data.
また、SBから、CN50等を通してのソート結果の転
送に関してであるが、これは、データ量の少ない方を転
送するように制御することにより、いっそう高速化が図
れる6
〔構成要素の応用、設計変更9代替手段〕第3図及び第
4図では、DD間及びDDとSB間が強結合しているが
、これをもつと柔軟な構成にすることも可能である。こ
れを第7図に示す。Regarding the transfer of sort results from the SB to the CN50, etc., this can be further speeded up by controlling the transfer of the one with the smaller amount of data.6 [Application of components, design changes] 9 Alternative Measure] In FIGS. 3 and 4, there is strong coupling between the DDs and between the DD and the SB, but this allows for a flexible configuration. This is shown in FIG.
記号は第3図、第4図等で用いたものと同じである。こ
の構成で、第4図によるものと同一結果をもたらす判定
を第8図に示す。また、前記では、等結合について、具
体例で示したが、等結合以外も、SB間内COB、のセ
ット値を変更することにより可能である。The symbols are the same as those used in FIGS. 3, 4, etc. With this configuration, a determination that yields the same result as that according to FIG. 4 is shown in FIG. In addition, although a specific example has been shown above regarding equi-coupling, it is also possible to perform other types of coupling by changing the set value of the COB between SBs.
以上説明したごとく本発明によれば、次の効果を得るこ
とができる。As explained above, according to the present invention, the following effects can be obtained.
1、 データストリーム処理を基本としており、0(n
)でソートを行うSBを複数用いることにより、各々の
SBでソートした結果を並列に他のソート結果と比較し
、ジョイン演算の前処理、すなわち、ジョインを満たす
データ対の探索を、O(=ax(”t r nt )
)+0 (min(”s + ”t )/”” (1
+ J l ):O(””(nl+n2))で実行する
ことができる。ここで、”1 1n!は各々リレーショ
ンR,,R,の基数であシ、ieJは、各々リレーショ
ンR1,R,、をソートするのに用いたSBの個数を表
わす。1.Based on data stream processing, 0(n
) By using multiple SBs that sort by ax(”t r nt )
)+0 (min("s + "t)/"" (1
+ J l ): O(""(nl+n2)). Here, "1 1n!" is the base number of the relations R, , R, respectively, and ieJ represents the number of SBs used to sort the relations R1, R, , respectively.
2、 CNe介することにより、処理に合わせて、ダ
イナミックに、かつ自由に複数のDDと8Bの対を組合
せて、ジョイン演算処理の高速化を図ることができる。2. By using CNe, it is possible to dynamically and freely combine a plurality of DD and 8B pairs according to the processing, thereby speeding up the join calculation processing.
第1図は、従来の計算機システムの模式図、第2図は、
本発明の実施例のデータベースマシンの一構成図、第3
図は同じく2つのりレーション間のジョイン処理の実施
例を示す説明図、第4図は同じく3つのりレーションに
よるジョイン処理方式を示す説明図、第5図は同じくデ
ータ分配器の内部構成図、第6図は同じくソートボック
ス(SB)を構成するセルの内部構成図、第7および第
8図は他の応用例を示す構成図である。Figure 1 is a schematic diagram of a conventional computer system, and Figure 2 is a schematic diagram of a conventional computer system.
A configuration diagram of a database machine according to an embodiment of the present invention, No. 3
Similarly, FIG. 4 is an explanatory diagram showing an example of join processing between two relations, FIG. 4 is an explanatory diagram similarly showing a join processing method using three relations, FIG. This figure is also an internal configuration diagram of a cell constituting a sort box (SB), and FIGS. 7 and 8 are configuration diagrams showing other application examples.
Claims (1)
装置と、これらの任意の個数を動的に結合する通信ネッ
トワークからなる複合計算機によるデータ処理システム
において、当該システムの構成要素である、比較演算子
をセットしておく比較演算子レジスタ、当該レジスタの
内容に基づき比較処理を行う比較器、当該比較器の結果
をセットするラッチ回路、比較データをセットしておく
データレジスタ、転送されてくる被比較データを・セッ
トしておくデータレジスタ。 ラッチ内容に基づきデータの転送を切換えるスイッチ及
び上記回路を制御する制御回路で構成されるデータ分配
器と、データ転送を制御する遅延回路、比較演算子をセ
ットしておく比較演算子レジスタ、当該レジスタの内容
に基づき比較処理を行う比較器、当該比較器の結果をセ
ットするラッチ回路、データ転送を切換える複数のスイ
ッチ、転送さ扛てくるデータをセットしておく2つのデ
ータレジスタ及び上記回路を制御する制御回路で構成さ
れるセルの線型配列からなるソートボックス、の複数構
成を一単位とする処理単位を通信ネットワークを介した
多段構造により、複数データストリームの同時処理によ
るデータの比較処理及び尚該比較処理結果の取得、特に
、1ル−ショナルデータベースにおけるリレーション間
のジョイン演算全高速に処理するようにしたことを特徴
とするジョイン演a処理方式。[Scope of Claims] 1. A data processing system using a compound computer consisting of a plurality of processors that realize dedicated functions, a plurality of storage devices, and a communication network that dynamically connects any number of these devices; The elements are a comparison operator register that sets a comparison operator, a comparator that performs comparison processing based on the contents of the register, a latch circuit that sets the result of the comparator, and a data register that sets comparison data. , a data register that sets the transferred data to be compared. A data distributor consisting of a switch that switches data transfer based on latch contents and a control circuit that controls the above circuit, a delay circuit that controls data transfer, a comparison operator register that sets a comparison operator, and the register. A comparator that performs comparison processing based on the contents of the comparator, a latch circuit that sets the result of the comparator, multiple switches that switch data transfer, two data registers that set the data to be transferred, and the above circuit. A multi-stage structure in which multiple configurations of sort boxes consisting of a linear array of cells configured with control circuits are connected via a communication network enables data comparison processing by simultaneous processing of multiple data streams. A join operation processing method characterized in that the acquisition of comparison processing results, especially the join operation between relations in a one-routine database, is processed at high speed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57109737A JPS59731A (en) | 1982-06-28 | 1982-06-28 | Join operation processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57109737A JPS59731A (en) | 1982-06-28 | 1982-06-28 | Join operation processing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS59731A true JPS59731A (en) | 1984-01-05 |
Family
ID=14517966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57109737A Pending JPS59731A (en) | 1982-06-28 | 1982-06-28 | Join operation processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS59731A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60259600A (en) * | 1984-06-05 | 1985-12-21 | 三菱電機株式会社 | Control system of attitude of artificial satellite |
JPH01219391A (en) * | 1988-02-29 | 1989-09-01 | Koyo Seiko Co Ltd | Magnetic bearing unit |
JPH05128164A (en) * | 1990-03-27 | 1993-05-25 | Internatl Business Mach Corp <Ibm> | Data base processing device |
-
1982
- 1982-06-28 JP JP57109737A patent/JPS59731A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60259600A (en) * | 1984-06-05 | 1985-12-21 | 三菱電機株式会社 | Control system of attitude of artificial satellite |
JPH01219391A (en) * | 1988-02-29 | 1989-09-01 | Koyo Seiko Co Ltd | Magnetic bearing unit |
JPH05128164A (en) * | 1990-03-27 | 1993-05-25 | Internatl Business Mach Corp <Ibm> | Data base processing device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5333318A (en) | Creating and searching a quad linked list in a trunked communication system | |
US5640554A (en) | Parallel merge and sort process method and system thereof | |
US6609131B1 (en) | Parallel partition-wise joins | |
US7092954B1 (en) | Optimizing an equi-join operation using a bitmap index structure | |
US6732110B2 (en) | Estimation of column cardinality in a partitioned relational database | |
JP3269849B2 (en) | Parallel database processing system and its retrieval method | |
US6691166B1 (en) | System and method for transferring partitioned data sets over multiple threads | |
WO2012111905A2 (en) | Distributed memory cluster control device and method using mapreduce | |
EP3198494B1 (en) | Communication for efficient re-partitioning of data | |
JP3510042B2 (en) | Database management method and system | |
JPS61208124A (en) | Combined arithmetic processing system for decentralized data base control system | |
JPH0682331B2 (en) | Transitive closure generation method, database compression method, database generation system, database store method and information provision system | |
US10733186B2 (en) | N-way hash join | |
CN110738019B (en) | Method and device for repairing time sequence violation by utilizing automatic clustering of load units | |
Gao et al. | A Performance Driven Macro-Cell Placement Algorithm. | |
JPH05242049A (en) | Method for sorting distributed data base and method for making access to the same | |
CN105359142A (en) | Hash join method, device and database management system | |
JPS59731A (en) | Join operation processing system | |
CN109753609A (en) | A kind of more intent query method, apparatus and terminal | |
CN102855278B (en) | A kind of emulation mode and system | |
US7188113B1 (en) | Reducing contention by slaves for free lists when modifying data in a table partition | |
Shultz et al. | Response time analysis of multiprocessor computers for database support | |
CN110597809B (en) | Consistency algorithm system supporting tree-like data structure and implementation method thereof | |
Perrizo et al. | Composite semijoins in distributed query processing | |
CN109388638B (en) | Method and system for distributed massively parallel processing of databases |