JPS63223827A - Data processing system - Google Patents

Data processing system

Info

Publication number
JPS63223827A
JPS63223827A JP62056515A JP5651587A JPS63223827A JP S63223827 A JPS63223827 A JP S63223827A JP 62056515 A JP62056515 A JP 62056515A JP 5651587 A JP5651587 A JP 5651587A JP S63223827 A JPS63223827 A JP S63223827A
Authority
JP
Japan
Prior art keywords
column
group
domain
data processing
data
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
JP62056515A
Other languages
Japanese (ja)
Inventor
Akira Yamamoto
彰 山本
Tadashi Osone
匡 大曽根
Masashi Ueda
上田 正士
Hiroyuki Kitajima
北嶋 弘行
Yoshiaki Yamashita
山下 芳明
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62056515A priority Critical patent/JPS63223827A/en
Publication of JPS63223827A publication Critical patent/JPS63223827A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To realize the reduction of both the memory capacity and the calculation value in the group-by arithmetic of a relational data base by retrieving all items of a designated table as well as all items of a designated index to segment the value of a grouping objective column and performing a grouping action designated by a user. CONSTITUTION:A disk device 15 sorts the gathering of rows of the same group- by-column value as a single group in a table 30 consisting of plural rows. Then a designated function arithmetic operation is carried out in a column 32 to which the gathering of rows sorted at every group. In this case, the arithmetic operations are carried out in terms of the maximum and minimum numbers of rows within a group. Thus a group-by-column domain is carried out at high speed in a process other than the entire retrieving job of a table to undergo the arithmetic by means of a data base machine 13.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、リレーショナル・データベースにおけるデー
タ処理方式に関し、特に、あるカラムの値に従って、ロ
ーを分類し、分類したローの集合に対して、特定した関
数機能を適用するデータ処理方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data processing method in a relational database. This paper relates to a data processing method that applies the functions provided.

〔従来技術〕[Prior art]

リレーショナル・データベースは、第4図のように、テ
ーブル30という2次元のマトリクスのデータ構造を有
するデータの集合である。このテーブル3oは通常のフ
ァイルに相当し、通常のファイルにおけるレコードに相
当するロー31を鍔える。また、テーブル30は通常の
ファイルのフィールドに相当するカラム32を備える。
A relational database is a collection of data having a two-dimensional matrix data structure called a table 30, as shown in FIG. This table 3o corresponds to a normal file, and contains rows 31 corresponding to records in the normal file. The table 30 also includes columns 32 that correspond to fields of a normal file.

このような構造のリレーショナル・データベースは、例
えば、各個人の口座の集合をテーブル30とした銀行口
座のデータベース等に用いられる。
A relational database having such a structure is used, for example, as a bank account database in which the table 30 is a collection of each individual's accounts.

この場合、各個人の口座に対する情報が1つのロー31
となり、各個人の口座という1つのロー31の中に、そ
の口座が設置されている支店の名前。
In this case, the information for each individual's account is stored in one row 31.
In one row 31 called each individual's account, the name of the branch where the account is located.

その口座の普通預金の残高等のカラム情報が格納される
Column information about the savings account balance of that account is stored.

また、このようなリレーショナル・データベースに対し
て、例えば、各支店毎の普通預金の残高の合計、残高の
平均値等を求めるため、グループ・パイ処理を行う場合
、各ロー31の支店の唾により、各ロー31のグルーピ
ングを行う必要がある。
Furthermore, when performing group pie processing on such a relational database in order to obtain the total savings account balance, average balance, etc. of each branch, it is possible to , it is necessary to group each row 31.

この場合、リレーショナル・データベースにおいて、グ
ルーピング対象に指定したカラム32゜つまりグループ
・バイ・カラムをグルーピングするため、全てのローの
グループ・バイ・カラムのカラム値のセット、つまりド
メインを得る必要がある。
In this case, in the relational database, in order to group column 32, that is, the group-by column specified for grouping, it is necessary to obtain a set of column values of the group-by column of all rows, that is, a domain.

このような処理を行う方法も種々提案され、例えば、ア
 パラレル パイブラインド リレーシ」ナル クウィ
アリイ プロセッサ、ウォン キイム エ アラ、ニー
 シー エム、ティー オーディ−ニス、ボリウム9.
ナンバー2,1984年6月、第214頁〜第242頁
(WonKi、m、at  al:A  Paral、
lcL  Pipelined  Re1ationa
l  Qup、ry  Processor、ACtv
5 TODS。
Various methods for performing such processing have been proposed; for example, A Parallel Piblind Relay Processor, Wong Kiim et al., N.C.M., T. Audinis, Volume 9.
Number 2, June 1984, pp. 214-242 (WonKi, m, at al: A Paral,
lcL Pipelined Relationa
l Qup, ry Processor, ACtv
5 TODS.

Vol、9.Nn2.Juno 1984ypp214
−242)に記載されている方法では、テーブルの内容
を主記憶装置に読み込み、各ローをグループ・バイ・カ
ラムの値によってソートし、グルーピングを行っている
。また、この他にハッシュイングを用いて、ソート処理
の軽減を計る方法も提案されている、 〔発明が解決しようとする問題点〕 従来技術では、グループ・パイ処理を行う際のソート処
理において、中央処理装置(以下CPUと略す)の負担
が大きく、また、ソート処理の対象となるデータを格納
するため、主記憶装置に多くの容量が必要であった。
Vol.9. Nn2. Juno 1984ypp214
242), the contents of the table are read into the main memory, and each row is sorted by the value of the group by column to perform grouping. In addition, a method has also been proposed in which hashing is used to reduce the sorting process. [Problems to be solved by the invention] In the prior art, in the sorting process when performing group pie processing, This places a heavy burden on the central processing unit (hereinafter abbreviated as CPU), and requires a large capacity in the main storage device to store data to be sorted.

本発明の目的は、このような問題点を改善し、リレーシ
ョナル・データベースにおいて、グループ・パイ処理を
行う場合、記憶容量、および計算量の減少を可能とする
データ処理方式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a data processing method that improves these problems and enables a reduction in storage capacity and calculation amount when performing group pie processing in a relational database.

〔問題を解決するための手段〕[Means to solve the problem]

上記目的を達成するため、本発明のデータ処理方式は、
データ転送バスを植成する主記憶装置。
In order to achieve the above object, the data processing method of the present invention includes:
Main memory that implants a data transfer bus.

チャネル、制御装置、ディスク装τ、および中央処理装
置を備え、該ディスク装置に格納され、複数のローから
構成されるテーブルの中、特定のカラムの値が等しいロ
ーの集合t、1つのグループとして、1つのテーブルの
ローを1つ以上のグループに分類し、各グループ毎に各
カラムに指定された関数@算を実行してデータ処理を行
うデータ処理システムにおいて、上記データ転送バス上
の任意の装区内、あるいは任意の装辺間に、データの処
理を行う手段(データ・ベース・マシン)を設け、まず
第1の処理として、上記テーブルのローのグループ化を
行う際に用いるグループ・バイ・カラムのカラム値のセ
ント、つまりドメインを得て、次に第2の処理として、
そのドメインのソート処理を行い、さらに第3の処理と
して、そのデータ・ベース・マシン(以下DBマシンと
略す)を用い、そのテーブルの各ローを読み出して、グ
ループ・バイ・カラムのカラム値を取り出し、第2の処
理におけるソー1−処理後に重復値を排除した情報との
間で2分検索を行い、各ローが何れのグループに厘する
かを判別し、テーブルのデータ転送と同期して、指定さ
れた上記関数演算を実行することに特徴がある。
A set t of rows having the same value in a specific column is defined as one group in a table comprising a channel, a control unit, a disk unit τ, and a central processing unit, and is stored in the disk unit and is composed of a plurality of rows. , in a data processing system that classifies the rows of one table into one or more groups and performs data processing by executing a function specified for each column for each group. A data processing means (database machine) is provided within the storage area or between arbitrary storage areas, and the first processing is to perform the group byte processing used when grouping the rows of the table above.・Get the cent, or domain, of the column value of the column, and then as a second process,
The domain is sorted, and the third step is to use the database machine (hereinafter referred to as DB machine) to read each row of the table and extract the column value of the group-by column. , perform a binary search between So1 in the second process and the information from which duplicated values have been removed after processing, determine which group each row belongs to, and synchronize with the data transfer of the table. It is characterized by executing the above specified functional operation.

上記第1の処理については、上記関数演算の対象となる
テーブルの全体検索、そのテーブルのカラム値に付いて
いるインデクスの全対検索、上記関数演算の対象となる
テーブル以外のテーブルの中、上記グループ・バイ・カ
ラムのドメインと同一のドメインを持つテーブルを対象
とした全体検索、および、その同一のドメインを持つテ
ーブルのカラムに付いているインデクスの全体検索の中
、何れかの方法を用いるか、あるいは、上記グループ・
バイ・カラムのドメインの処理要求を発行した発行先か
ら受け取ることに特徴がある。
Regarding the first process above, search the entire table that is the target of the above function operation, search all pairs of indexes attached to the column values of that table, and search the above table in tables other than the table that is the target of the function operation. Which method should be used: a full search for tables that have the same domain as the group-by-column domain, or a full search for indexes attached to columns of tables that have the same domain? , or the above group/
It is characterized by receiving a processing request for a bi-column domain from the issuing party.

また、上記第1の処理については、予め上記データ処理
システム内にグループ・バイ・カラムのドメインが格納
さ九でいる場合は、格納されたドメインを取り出して用
い、省略することに特徴がある。
Further, the first process is characterized in that if a group-by-column domain is stored in advance in the data processing system, the stored domain is extracted and used and omitted.

さらに、上記第1.および第2の処理については、予め
上記データ処理システム内にグループ・バイ・カラムの
ドメインのソート結果が保持されている場合、そのソー
ト結果を上記DBマシンに転送することににより、省略
することに特徴がある。
Furthermore, the above 1. As for the second process, if the sorting results of the group-by-column domain are stored in advance in the data processing system, the sorting results can be omitted by transferring them to the DB machine. It has characteristics.

〔作用ゴ 本発明においては、まず、指定したテーブルの全件検索
、あるいは、指定したインデクスの全件検索を行い、グ
ルービングの対象となるカラムの値を切り出し、ユーザ
から指定されたグルーピングの値の集合を受け付ける。
[Operation Go] In the present invention, first, an all-item search of a specified table or an all-item search of a specified index is performed, the values of the column to be grouped are extracted, and the values of the grouping specified by the user are searched. Accept gatherings.

通常、グループ・バイ・カラムのカラム値の集合は、対
象となるテーブルを読み出した時に認識される。しかし
、例えば、各個人の普通預金口座の残高を銀行の各支店
毎に集計する場合、各支店の支店名、所在地、従業員数
等を格納したテーブルが予め作成されていることが多い
ため、各支店の情報を全て格納したテーブルの全体検索
を行うことにより、各個人の普通預金口座の残高、およ
び、その口座が設けられている支店名等が格納さ、hて
いるテーブルを読み出す以前に、その銀行の各支店のリ
ストを得ることも可能である。また、この全体検索につ
いては、銀行の支店数が100のオーダであり、預金者
の数はtooooのオーダであるため、オーバヘッドは
、1%程度にすぎない。
Normally, a set of column values for a group-by-column is recognized when the target table is read. However, for example, when aggregating the balance of each individual's savings account for each branch of a bank, tables containing the branch name, location, number of employees, etc. of each branch are often created in advance. By performing a full search of the table that stores all branch information, before reading out the table that stores the balance of each individual's savings account and the name of the branch where the account is located, It is also possible to obtain a list of each branch of that bank. Further, regarding this entire search, since the number of bank branches is on the order of 100 and the number of depositors is on the order of too many, the overhead is only about 1%.

なお、この処理は、予めデータ処理システム内にグルー
プ・バイ・カラムのドメインを格納している場合、およ
び、同様にグループ・バイ・カラムのソート結果を格納
している場合は省略する。
Note that this process is omitted if the group-by-column domain is stored in advance in the data processing system, and if the group-by-column sorting results are similarly stored.

次に、こうして得たグルーピング対象の値をソート処理
する。なお、との処理は、予めデータ処理システム内に
グループ・バイ・カラムのドメインのソート結果が保持
されている場合、省略する。
Next, the values to be grouped thus obtained are sorted. Note that the process of is omitted if the group-by-column domain sort results are stored in advance in the data processing system.

さらに、DBマシンにおいて、検索対象のテーブルを検
索し、各ローのグループ・バイ・カラムの値を切り出し
、ソート処理されたグルービング対象の値との間で2分
検索を行い、そのローがどのグループに屈するかを判断
して、指定された関数機能を実行する。
Furthermore, in the DB machine, the table to be searched is searched, the value of the group by column of each row is cut out, and a binary search is performed with the value to be sorted and grooving is performed to determine which group the row belongs to. determines whether to yield to the specified function and executes the specified function function.

このDBマシンにより、CPUの負荷を減少し。This DB machine reduces the CPU load.

主記憶容量を大幅に削減することができる。また、この
DI3マシンによる処理は、これらの処理量の大半を占
め、しかも、データ転送と同期して実行することができ
るため、検索対象のテーブルが格納された2次記憶装置
(ディスク装置)と、主記憶装にとの間のデータ転送路
の任意の位置にDBマシンを設置することにより、殆ん
ど、データ転送時間と同時に処理を完了することができ
る。
Main memory capacity can be significantly reduced. In addition, the processing by this DI3 machine accounts for most of the processing amount, and can be executed in synchronization with data transfer, so it can be By installing the DB machine at any position on the data transfer path between the main storage and the main storage, processing can be completed almost simultaneously with the data transfer time.

〔実施例〕〔Example〕

以下、本発明の一実施例を図面により説明する。 An embodiment of the present invention will be described below with reference to the drawings.

第1図は、本発明の一実施例におけるデータ処理システ
ムの構成図、第2図は本発明の一実施例におけるDBマ
シンの構成図、第3図は本発明の一実施例におけるデー
タ処理システムのソフトウェア構成を示す説明図、第4
図は本発明の一実施例におけるテーブルの説明図、第6
図は本発明の一実施例における共通メモリの説明図、第
7図は本発明の一実施例における関数情報の説明図、第
5図は本発明の一実施例におけるソート情報格納メモリ
の説明図、第9図は本発明の一実施例におけるインタフ
ェース情報部の説明図、第8図は本発明の一実施例にお
ける専用メモリBの説明図である。
FIG. 1 is a block diagram of a data processing system according to an embodiment of the present invention, FIG. 2 is a block diagram of a DB machine according to an embodiment of the present invention, and FIG. 3 is a block diagram of a data processing system according to an embodiment of the present invention. Explanatory diagram showing the software configuration of
Figure 6 is an explanatory diagram of a table in an embodiment of the present invention.
FIG. 7 is an explanatory diagram of the common memory in one embodiment of the present invention, FIG. 7 is an explanatory diagram of function information in one embodiment of the present invention, and FIG. 5 is an explanatory diagram of the sort information storage memory in one embodiment of the present invention. , FIG. 9 is an explanatory diagram of the interface information section in one embodiment of the present invention, and FIG. 8 is an explanatory diagram of the dedicated memory B in one embodiment of the present invention.

本実施例のデータ処理システムは、第1図のように、C
PUl0.主記憶装置11.チャネル12、DBマシン
13.制御装[14,およびディスク装置15を鍔える
The data processing system of this embodiment is as shown in FIG.
PU10. Main storage device 11. Channel 12, DB machine 13. The control device [14] and the disk device 15 are turned on.

また、DBマシン13は、第2図のように、チャネル・
インタフェース・プロフエツサ(以下CIPと略す)5
1.ディスク・インタフェース・プロセッサ(以下DI
Pと略す)50.データベース・プロセッサ(以下DB
Pと略す)54.バツチド・サーチ・エンジン55.ソ
ート情報格納メモリ56.共通メモリ57.専用メモリ
A52゜専用メモリB53.および専用メモリC58を
備える。
In addition, the DB machine 13 has a channel and
Interface Professor (hereinafter abbreviated as CIP) 5
1. Disk Interface Processor (DI)
(abbreviated as P)50. Database processor (hereinafter referred to as DB)
(abbreviated as P)54. Batched Search Engine 55. Sort information storage memory 56. Common memory 57. Dedicated memory A52° Dedicated memory B53. and a dedicated memory C58.

DIP50は、専用メモリA52を備え、制御lF!置
14とのインタフェースを実現し、制御装置14との間
でデータ転送を行う。
The DIP50 includes a dedicated memory A52 and controls IF! It realizes an interface with the controller 14 and transfers data between the control device 14 and the controller 14 .

CrP51は、専用メモリB53を備え、チャネル12
とのインタフェースを実現して、チャネル12との間で
データ転送を行い、さらに、DB演算の一部を実行する
CrP51 is equipped with a dedicated memory B53 and has channel 12.
It implements an interface with the channel 12, performs data transfer with the channel 12, and also executes part of the DB calculation.

DBP54は、専用メモリ058を備え、DB演算を実
行する。
The DBP 54 includes a dedicated memory 058 and executes DB operations.

バッチド・サーチ・エンジン55は、2分検索処理専用
のハードウェアであり、ソート情報格納メモリ56は、
2分検索処理の際、ソートされた情報を格納する。
The batched search engine 55 is hardware dedicated to binary search processing, and the sort information storage memory 56 is
Stores sorted information during binary search processing.

共通メモリ57は、CIP51.DrP50゜およびD
BP54からアクセスされ、第6図のように、検索範囲
60.テーブル・インデクス(以下テーブルiDと略す
)61.グループ・バイ・カラム・インデクスC以下グ
ループ・バイ・カラムiDと略す)62.ソート情報数
63.関数情報64.入力バッファ65〜67、および
インタフェース情報部68等を格納する。
The common memory 57 includes CIP51. DrP50° and D
Accessed from the BP 54, as shown in FIG. 6, the search range 60. Table index (hereinafter abbreviated as table ID) 61. Group by Column Index C (abbreviated as Group by Column iD) 62. Number of sort information: 63. Function information 64. Input buffers 65 to 67, an interface information section 68, etc. are stored therein.

検索範囲60は、複数のディスク装置15の中、検索対
象となるディスク装置の識別子と、そのディスク装置1
5に格納されたデーたの中、検索すべき範囲を示す。
The search range 60 includes the identifier of the disk device to be searched among the plurality of disk devices 15 and the disk device 1.
It shows the range to be searched among the data stored in 5.

また、テーブルtD61.およびグループ・バイ・カラ
ム1D62.は、それぞれ、検索対象であるテーブル3
0の識別子、および、グルービングの対象となるカラム
32の識別子を示す。
Also, table tD61. and group by column 1D62. are the search targets for table 3, respectively.
0 and the identifier of column 32 that is the target of grooving.

ソート情報数63は、第5図のように、ソート情報格納
メモリ56にソートされた順序で格納されたソート情報
のコード80〜8nの数を示す。
The number of sort information 63 indicates the number of sort information codes 80 to 8n stored in the sort information storage memory 56 in the sorted order, as shown in FIG.

なお5このコード80〜8nに腐する各ロー31のグル
ープ分けついては、例えば、検索対象となるテーブル3
0のグループ・バイ・カラムの値がコード80に等しい
ロー31の集合が第1のグループに属し、コード81に
等しいロー31の集合が、第2グループに属する場合、
DBP54は、バッチド・サーチ・エンジン55を使用
して、1ブロツク内に含まれる各ロー31が、それぞれ
、どのグループに属するかを調べ、インタフェース情報
部68に調べた結果を格納する。
5 Regarding the grouping of each row 31 that corresponds to codes 80 to 8n, for example, refer to Table 3 to be searched.
If the set of rows 31 whose group by column value of 0 is equal to code 80 belongs to the first group, and the set of rows 31 whose value is equal to code 81 belongs to the second group,
The DBP 54 uses the batched search engine 55 to check which group each row 31 included in one block belongs to, and stores the search results in the interface information section 68.

関数情報64は、第7図のように、関数カラム数70.
関数カラム・インデクス(以下関数カラムiDと略す〕
7I、および指定関数72を格納し、関数カラム数70
は関数演算の対象となるカラム32の数を示し、関数カ
ラムtD71は、関数演算の対象となるカラム32の識
別子である。
As shown in FIG. 7, the function information 64 includes the number of function columns 70.
Function column index (hereinafter abbreviated as function column iD)
7I and specified function 72 are stored, and the number of function columns is 70.
indicates the number of columns 32 to be subjected to the functional calculation, and function column tD71 is an identifier of the column 32 to be subjected to the functional calculation.

また、指定関数72は演算対象のカラム32毎に指定さ
れている関数であり、例えば、グループ・バイ・カラム
の値に従い、グループ化されたロー31の集合に含まれ
る関数演算対象のカラム値の中、最大のカラム値(最大
値)、最小のカラム値(最小値)、および合計値等を示
す、従って、関数カラムfD7L、および指定関数72
のペアは、関数カラム数70と等しい数だけ、操り出さ
れる。
Further, the specified function 72 is a function specified for each column 32 on which the operation is performed, and for example, the specified function 72 is a function that is specified for each column 32 on which the operation is performed. The function column fD7L and the specified function 72 indicate the medium, maximum column value (maximum value), minimum column value (minimum value), total value, etc.
The number of pairs equal to the number of function columns 70 are manipulated.

入力バッファ65〜67は、ディスク装置15から読み
呂した1ブロツクのデータ、すなわち、ディスク装[1
5上における転送単位であり、複数個のロー31を含む
データを格納し、インタフェース情報部68は、DIP
50.DBP54.CIP51の間のインタフェース情
報を格納する。
The input buffers 65 to 67 receive one block of data read from the disk device 15, that is, one block of data read from the disk device 15.
The interface information section 68 is a transfer unit on the DIP 5 and stores data including a plurality of rows 31.
50. DBP54. Stores interface information between CIPs 51.

なお、この1ブロツク毎のデータの処理については、ま
ず、DIP50が、ディスク装置15から読み出した1
ブロツク毎のデータを、入力バッフ765.入力バツフ
ア66.および入力バッファ67に順次、格納する。こ
うして、入力バッファ66にデータが格納されていると
き、DBP54は、入力バッファ65に格納されたデー
タの処理を行い、同様に、入力バッファ67にデータが
格納されているとき、入力バッファ66に格納されたデ
ータの処理を行う。このDBP54の処理による演算結
果をベースとして、CIP51は、入力バッファ65に
格納されたデータを処理する。
Regarding the processing of data for each block, first, the DIP 50 reads out the data from the disk device 15.
The data for each block is input to the input buffer 765. Input buffer 66. and are sequentially stored in the input buffer 67. In this way, when data is stored in the input buffer 66, the DBP 54 processes the data stored in the input buffer 65, and similarly, when data is stored in the input buffer 67, the DBP 54 processes the data stored in the input buffer 66. Process the data. The CIP 51 processes the data stored in the input buffer 65 based on the calculation result of the processing by the DBP 54 .

このように、DBマシンI3のDIP50.DBP54
.およびCIP51は、データ転送処理と同期して、ブ
ロック単位のデータをパイプライン的に処理することが
できる。
In this way, DIP50. of DB machine I3. DBP54
.. The CIP 51 can process data in units of blocks in a pipeline manner in synchronization with data transfer processing.

インタフェース情報部68は、第9図のように、検索開
始プラグ90.入力完了プラグ91.グループ化完了フ
ラグ92.ブロック内口−数93.およびグループ情報
94を格納する。
As shown in FIG. 9, the interface information section 68 includes a search start plug 90. Input completion plug 91. Grouping completion flag 92. Block inner entrance - number 93. and group information 94 are stored.

検索開始フラグ90は、CIP51がDIP50に対し
て検索開始要求を行う時にONとなる。
The search start flag 90 is turned ON when the CIP 51 requests the DIP 50 to start a search.

入力完了フラグ91は、入力バッファ65〜67に対し
て、新たなブロックの入力が完了すると、DIP50が
入力完了をDBP54に通知するためONとする。
The input completion flag 91 is turned ON when the input of a new block to the input buffers 65 to 67 is completed, so that the DIP 50 notifies the DBP 54 of the completion of input.

グループ化完了フラグ92は、DBP54が、新たに1
ブロツク分のロー31のグループ化を完了する度にON
となる。
The grouping completion flag 92 is set to 1 by the DBP 54.
Turns on every time a block of row 31 is grouped.
becomes.

ブロック内口−数93.およびグループ情報94はDB
P54により作成され、ブロック内口−数93は、ブロ
ック内に含まれるロー31の個数を示し、グループ情報
94は、それぞれのロー31が、どのグループに属する
か2例えば、ソート情報格納メモリ56内の何番目のコ
ードと一致したか、あるいは、ソート情報格納メモリ5
6内のコードと一致しなかったこと等を示す。従って、
グループ情報94は、そのブロック内に含まれるロー3
1の数だけ操り出される。
Block inner entrance - number 93. and group information 94 is DB
The block internal number 93 indicates the number of rows 31 included in the block, and the group information 94 indicates which group each row 31 belongs to. Which code matched or the sort information storage memory 5
Indicates that the code does not match the code in 6. Therefore,
The group information 94 is the row 3 included in the block.
Only the number 1 is manipulated.

このように、各ロー31のグループ化が完了すると、C
IP51が指定されたカラム32に対して、予め定めら
れた関数処理を行い、その演算結果を専用メモリ53に
格納し、全ての検索範囲60についての検索処理が終了
すると、その演算結果をチャネル12に送信する。
In this way, when the grouping of each row 31 is completed, C
A predetermined function process is performed on the column 32 designated by IP51, the result of the calculation is stored in the dedicated memory 53, and when the search process for all search ranges 60 is completed, the result of the calculation is sent to the channel 12. Send to.

専用メモリB53は、第8図のように、関数演算結果を
格納するためのエリア1000を備える。
The dedicated memory B53, as shown in FIG. 8, includes an area 1000 for storing functional calculation results.

このエリア1000の数は、グループ化の数、つまりソ
ート情報数63と、演算対象のカラム32の数、つまり
関数カラム数70との積に等しい。
The number of areas 1000 is equal to the product of the number of groupings, that is, the number of sort information, 63, and the number of columns 32 to be operated on, that is, the number of function columns, 70.

例えば、合計値を求める関数が指定されると、CIP5
1は、演算結果を格納するエリア1000を探し、現在
処理中のロー3°1の中、演算対象となるカラム32の
値をエリア1000の値に加える。
For example, if a function that calculates the total value is specified, CIP5
1 searches for area 1000 to store the calculation result, and adds the value of column 32, which is the calculation target, to the value of area 1000 in row 3°1 currently being processed.

なお、本実施例では、DBマシン13は、チャネル12
と制御装置14との間に、独立して設置しているが、主
記憶装置11とディスク装置15との間であれば、任意
の装置内に設置することも可能である。
Note that in this embodiment, the DB machine 13 uses the channel 12
Although it is installed independently between the main storage device 11 and the control device 14, it can also be installed in any device between the main storage device 11 and the disk device 15.

本実施例のデータ処理システムでは、第3図のように、
CPUl0.および主記憶装置11において、アプリケ
ーション・プログラム(以下APと略す)21.リレー
ショナル・データベース・マネジメント・システム(以
下RDBMSと略す)20、およびオペレーティング・
システム(以下O8と略す)22等のソフトウェアを備
える。
In the data processing system of this embodiment, as shown in FIG.
CPU10. And in the main storage device 11, an application program (hereinafter abbreviated as AP) 21. Relational database management system (hereinafter referred to as RDBMS) 20 and operating system
It includes software such as a system (hereinafter abbreviated as O8) 22 and the like.

RDBMS20は、RDBの管理を行い、AP21は、
RDBMS 20に対してDB処理要求を発行する。ま
た、0322は、ハードウェア、およびデータ処理シス
テム等の管理を行う。
The RDBMS 20 manages the RDB, and the AP 21
A DB processing request is issued to the RDBMS 20. Further, 0322 manages hardware, data processing systems, and the like.

AP21がRDBMS 20に対してDB演算要求を発
行すると、RDBMS 20は、AP21から受けたD
B演算要求を解析し、DBマシン13が実行すべき処理
と、RDBMS20が実行すべき処理とに分解する。R
DBMS20は、DBマシン13に対し、0822を通
じて実行すべき処理を指示し、処理結果を受け取る。こ
れらの処理において、RDBMS 20が扱うデータは
、第4図のように、ディスク装置15に格納されたマト
リクス状のテーブル30の集合であり、テーブル30は
、ロー31とカラム32とから構成される。
When the AP 21 issues a DB operation request to the RDBMS 20, the RDBMS 20 receives the DB operation request from the AP 21.
The B calculation request is analyzed and divided into processing that should be executed by the DB machine 13 and processing that should be executed by the RDBMS 20. R
The DBMS 20 instructs the DB machine 13 to perform processing through 0822, and receives the processing results. In these processes, the data handled by the RDBMS 20 is a set of matrix-like tables 30 stored in the disk device 15, as shown in FIG. 4, and the table 30 is composed of rows 31 and columns 32. .

なお、RDBMS 20がハードウェア装置等の管理機
能を僅える場合は、0S22は必要ない。
Note that if the RDBMS 20 has fewer management functions such as hardware devices, the OS22 is not necessary.

また、AP21を別装置に設置することも可能である。Furthermore, it is also possible to install the AP 21 in a separate device.

但し、この場合、CPUl0.あるいは主記憶装置11
側に、その別装置に設けたAP21との通信管理プログ
ラムを備える必要がある。
However, in this case, CPU10. Or main storage device 11
It is necessary to provide a communication management program with the AP 21 provided in the separate device on the side.

第10図は、本発明の一実施例におけるグループ・バイ
・カラムのドメイン作成の説明図、第14図は本発明の
一実施例におけるグループ・パイ演算の処理側図2第1
1図は本発明の一実施例におけるC12の動作フローチ
ャート、第12図は本発明の一実施例におけるDIPの
動作フローチャート、第13図は本発明の一実施例にお
けるDBPの動作ブローチヤード、第15図は本発明の
一実施例におけるグループ・パイ演算の処理フローチャ
ートである。
FIG. 10 is an explanatory diagram of group-by-column domain creation in an embodiment of the present invention, and FIG. 14 is a diagram illustrating the processing side of group pi operation in an embodiment of the present invention.
1 is an operational flowchart of C12 in an embodiment of the present invention, FIG. 12 is an operational flowchart of DIP in an embodiment of the present invention, FIG. 13 is an operational brooch yard of DBP in an embodiment of the present invention, and 15th The figure is a processing flowchart of group pi calculation in one embodiment of the present invention.

本実施例のデータ処理システムにおいて実行するグルー
プ・パイ処理は、第4図のように、テ−プル30の各ロ
ー31の中、指定さ九たカラム。
The group pie processing executed in the data processing system of this embodiment is performed using nine specified columns in each row 31 of the table 30, as shown in FIG.

つまりグループ・バイ・カラムの値が等しいロー31の
集合を、1つのグループとして分類し、グループ別に分
類されたロー31の集合が属するカラム32の間で、指
定された関数演算を実行する。
That is, a set of rows 31 having the same group-by-column values is classified as one group, and a specified functional operation is performed between columns 32 to which the set of rows 31 classified into groups belongs.

この関数演算は、最大値、最小値等のグループ内のロー
数について実行される。例えば、第14図のように、デ
ィスク装置15に格納された銀行の個人口座に関するテ
ーブル140から、各支店毎に普通預金残高カラム14
3の値を合計して、各支店毎の普通預金残高の合計を表
すテーブル144求める処理である。なお、テーブル1
40は、個人口座情報を示すローを備え、また、普通預
金残高カラム143の他に、口座番号カラム141゜支
店カラム142等を備える。
This functional operation is performed on the number of rows within the group, such as maximum value, minimum value, etc. For example, as shown in FIG.
This is a process of summing the values of 3 to obtain a table 144 representing the total savings account balance for each branch. In addition, table 1
40 includes a row indicating personal account information, and in addition to a savings account balance column 143, an account number column 141, a branch column 142, and the like.

本発明のデータ処理システムにおけるグループ・パイ処
理の過程は、第15図のように、まず、グループ・バイ
・カラムのドメイン、つまり、カラム値のセットを、C
PUl0.あるいはDBマシン13の処理により求める
(1501)。
In the process of group-by-column processing in the data processing system of the present invention, as shown in FIG.
PU10. Alternatively, it is determined by the processing of the DB machine 13 (1501).

このドメインを求める方法は、第10図2および第14
図のように、普通預金残高カラム143の各支店毎の合
計値を求めるため、支店カラムI42のドメイン43を
求める場合、(1)テーブル140の全件検索を行う方
法、(2)テーブル140の支店カラム142に付けた
インデクス40を全件検索する方法、(3)テーブル1
40以外のテーブル41の全件検素を行う方法、(4)
テーブル41の支店カラムに付けたインデクス42を全
件検索する方法、および、(5)これらの値をAP22
が直接DBMS 20に対して渡す方法があり、(1)
から(5)の順番に処理の効率は向上する。従って、本
実施例では、対象のテーブルに従って、(5)から(1
)の優先順位で可能な方法を用いる。なお、これらの方
法に用いられるインデクスは、通常、対象カラム32の
値と、その値を有するロー30の識別子とをB−tre
e化したものである。
The method for determining this domain is shown in Figures 10, 2 and 14.
As shown in the figure, when calculating the domain 43 of the branch column I42 in order to calculate the total value for each branch in the savings account balance column 143, there are two methods: (1) searching all the items in the table 140; (2) searching the table 140 for all items; How to search all index 40 attached to branch column 142, (3) Table 1
Method for performing all search for table 41 other than table 40, (4)
A method for searching all the index 42 attached to the branch column of table 41, and (5)
There is a way to directly pass it to DBMS 20, (1)
Processing efficiency improves in the order from (5) to (5). Therefore, in this example, from (5) to (1) according to the target table.
) using the possible methods in priority order. Note that the indexes used in these methods usually store the value of the target column 32 and the identifier of the row 30 that has that value in a B-tre.
It is an e version.

また、この処理は、これらの方法の何れを用いても実行
可能であり、特に、(1)のようなテーブル140の全
件検索以外であれば、より効率的に実行することが可能
である。
Further, this process can be executed using any of these methods, and in particular, it can be executed more efficiently if it is other than the all-item search of the table 140 as in (1). .

なお、データ処理システム内において、例えば、RDB
MS20が予め支店カラム142のドメイン43の情報
を保持する場合、この処理は必要ない。
Note that within the data processing system, for example, RDB
If the MS 20 holds information on the domain 43 in the branch column 142 in advance, this process is not necessary.

こうして、グループ・バイ・カラムのドメイン。Thus, the group-by-column domain.

つまり、支店カラム142のドメイン43を得ると、次
に、CPULO,あるいはDBマシン13により、その
ドメイン43をソートする(1502)。
That is, once the domain 43 of the branch column 142 is obtained, the domain 43 is then sorted by CPULO or the DB machine 13 (1502).

なお、予めデータ処理システム内に、そのグループ・バ
イ・カラムのドメインをソートした結果を保持している
場合、これらの処理は必要なく、直ちにDBマシンによ
る関数演算に移ることができる。
Note that if the results of sorting the group-by-column domain are stored in advance in the data processing system, these processes are not necessary and the function calculation by the DB machine can be started immediately.

最後に、DBマシン13は、CPtJIOのデータ転送
と同期して、ディスク装置15に格納されたテーブルを
読み出し、各ローのグループ・バイ・カラムの値を取り
出し、ソートしたドメイン43との間で、2分検索を行
い、各ローのグループ化を行う。この後、該当するグル
ープの演算の途中の値との間で、さらに演算を行う(1
503)。
Finally, the DB machine 13 reads the table stored in the disk device 15 in synchronization with the data transfer of CPtJIO, extracts the value of the group by column of each row, and exchanges it with the sorted domain 43. Perform a binary search and group each row. After this, further calculations are performed between the values in the middle of the calculation of the corresponding group (1
503).

このDBマシン13における処理の過程では、CIP5
1.DIP50,8よびDBP54  (第2図参照)
が並行して連続的に処理を行う。
In the process of processing in this DB machine 13, CIP5
1. DIP50,8 and DBP54 (see Figure 2)
process in parallel and continuously.

if、CIP51は、第11図のように、チャネル12
からDB処理要求を受けると、CPU 10からソート
処理後の結果をソート情報数63゜およびコード80〜
8nとして受け取り、さらに、検索対象となる検索範囲
60.テーブルtD61゜グループ・バイ・カラム1D
52.関数情報64等をチャネル12から受け取って、
それぞれを所定のメモリ内に格納する。(1100)。
If, CIP51 is channel 12 as shown in FIG.
When a DB processing request is received from the CPU 10, the result after sort processing is sent to the CPU 10 with the number of sort information 63 degrees and the code 80~
8n, and further includes a search range 60.8n to be searched. Table tD61゜Group by Column 1D
52. Receive function information 64 etc. from channel 12,
Each is stored in a predetermined memory. (1100).

次に、DTP50に対し、検索開始フラグ9゜をONに
して、ディスクの検索要求を開始するように指示する(
1101)。
Next, the DTP 50 is instructed to turn on the search start flag 9° and start a disk search request (
1101).

こうしてDIP50に対する検索開始要求を発行すると
、DBP54が1ブロック分のローのグルーピング処理
を終了するまで、つまり、グループ化完了フラグ92が
ONになるまで待機する(1102)。
After issuing a search start request to the DIP 50 in this manner, the DBP 54 waits until the grouping process for one block of rows is completed, that is, until the grouping completion flag 92 is turned ON (1102).

グループ化完了フラグ92がONになると、そのグルー
プ化完了フラグ92をOFFにして(1103)、ブロ
ック内ロー数93.グループ情報94等のDBP54に
よる検索結果と、関数情報64とにより、指定された演
算を行い、その結果を専用メモリB53の該当エリア1
000に格納する(1.104)。
When the grouping completion flag 92 is turned ON, the grouping completion flag 92 is turned OFF (1103), and the number of rows in the block is 93. Based on the search results of the DBP 54 such as the group information 94 and the function information 64, a specified operation is performed and the result is stored in the corresponding area 1 of the dedicated memory B53.
Store in 000 (1.104).

こうして、1ブロック分の全てのローに関する処理が終
了すると、全ての検索範囲についての処理が終了したこ
とを確認しく1105)、終了が確認されると、全ての
エリア1000に格納された情報をチャネル12に送る
(1106)。
In this way, when the processing for all the rows for one block is completed, it is confirmed that the processing for all the search ranges is completed (1105), and when the completion is confirmed, the information stored in all the areas 1000 is transferred to the channel. 12 (1106).

DIP50は、CIP51から検索開始要求を受けると
(1101)、第12図のように、検索開始フラグ90
のONを確め(1200)、検索開始フラグ90をOF
Fにして、検索範囲60から得た情報に従い、制御装置
14に対してディスク装置15の位置付は要求を発行し
く1201)、その位置付は処理の完了を待つ(120
2)。
When the DIP 50 receives a search start request from the CIP 51 (1101), the DIP 50 sets the search start flag 90 as shown in FIG.
Make sure it is ON (1200) and turn off the search start flag 90.
F, and issues a request to the control device 14 to locate the disk device 15 according to the information obtained from the search range 60 (1201), and waits for the completion of the location process (1201).
2).

その位置付は処理が完了すると、1ブロック分のデータ
転送処理を行い(1,203)、この処理が完了すると
、入力完了プラグ91をONにして、DBP54に対し
、データ転送処理の完了を通知する(1204)。
When the positioning process is completed, the data transfer process for one block is performed (1, 203), and when this process is completed, the input completion plug 91 is turned on and the DBP 54 is notified of the completion of the data transfer process. (1204).

さらに、全ての検索範囲の検索が終了したことを確認し
く1205)、終了していなければ、転送処理を続け(
1203)、終了していれば、次のブロック転送処理を
行う(1200)。
Furthermore, please confirm that the search for all search ranges has been completed (1205), and if it has not been completed, continue the transfer process (1205).
1203), and if completed, performs the next block transfer process (1200).

DBP54は、DIP50が1ブロック分のデータ転送
処理を行うと(1203)、第13図のように、入力完
了フラグ91がONであることを確認して(1300)
、その入力完了フラグ91をOFFにする(1301)
When the DIP 50 transfers data for one block (1203), the DBP 54 confirms that the input completion flag 91 is ON as shown in FIG. 13 (1300).
, turn off the input completion flag 91 (1301)
.

次に、入力された1ブロツク内の各ロー31のグループ
・バイ・カラムの値を取り出し、バッチド・サーチ・エ
ンジン55に、これらの値とソート情報格納メモリ56
内の情報との間で2分検索を実行させ、各ロー31がど
のグループに属するか、あるいは、厘するグループがあ
るか否かを調べる。こうして、全てのロー31のグルー
プ化が終了すると、そのブロック内口−31に含まれて
いたロー31の数を格納し、その数に等しいグループ情
報94を作成する(1303)。
Next, the group-by-column values of each row 31 within one input block are extracted, and the batched search engine 55 stores these values and the sort information storage memory 56.
A binary search is performed between the information in the row 31 and the group to which each row 31 belongs, or whether there is a group to which the row 31 belongs is checked. When all the rows 31 have been grouped in this manner, the number of rows 31 included in the block inner opening-31 is stored, and group information 94 equal to that number is created (1303).

さらに、グループ化完了フラグ91をONにして、CI
P51に対し、1ブロツク内のグループ化が完了したこ
とを通知しく1304)、次のブ′ロックのグループ化
を行う(1300)。
Furthermore, the grouping completion flag 91 is turned on, and the CI
P51 is notified that grouping within one block has been completed (1304), and the next block is grouped (1300).

〔発明の効果〕〔Effect of the invention〕

本発明によれば、リレーショナル・データベースにおけ
るグループ・パイ演算において、特に、グループ・バイ
・カラムのドメインを、演算対象のテーブルの全体検索
以外の方法により求める場合、指定された演算を小容量
のメモリで高速に実行することができる。また、データ
処理システム内に予めグループ・バイ・カラムのドメイ
ンやそのソート結果を格納している場合は、DBマシン
による処理のみでよい。
According to the present invention, in a group-by-column operation in a relational database, especially when the domain of a group-by-column is determined by a method other than a full search of the table to be operated on, the specified operation can be performed using a small amount of memory. can be executed at high speed. Furthermore, if the group-by-column domain and its sorting results are stored in advance in the data processing system, only the processing by the DB machine is sufficient.

しかも、このDBマシンは、ディスク装置から主記憶装
置までのデータ転送路上に位置し、データ転送と同期し
て演算を実行するため、テーブルの転送時間だけで処理
を行うことが可能である。
Moreover, this DB machine is located on the data transfer path from the disk device to the main storage device and executes calculations in synchronization with data transfer, so it is possible to perform processing only in the table transfer time.

【図面の簡単な説明】[Brief explanation of drawings]

第1図は本発明の一実施例におけるデータ処理システム
の構成図、第2図は本発明の一実施例におけるDBマシ
ンの構成図、第3@は本発明の一実施例におけるデータ
処理システムのソフトウェアの構成図、第4図は本発明
の一実施例におけるテーブルの説明図、第5図は本発明
の一実施例におけるソート情報格納メモリの説明図、第
6Wiは本発明の一実施例における共通メモリの説明図
。 第7図は本発明の一実施例における関数情報の説明図、
第8図は本発明の一実施例における専用メモリBの説明
図、第9図は本発明の一実施例におけるインタフェース
情報部の説明図、第10図は本発明の一実施例における
グループ・バイ・カラムのドメイン作成の説明図、第1
1図は本発明の一実施例におけるCIPの動作フローチ
ャート。 第12図は本発明の一実施例におけるDIPの動作フロ
ーチャート、第13図は本発明の一実施例におけるDB
Pの動作フローチャート、第14図は本発明の一実施例
におけるグループ・パイ演算の処理側図、第15図は本
発明の一実施例におけるグループ・パイ演算の処理フロ
ーチャートである。 10:中央処理装置(CPU)、
11 :主記憶装置、12:チャネル、13:データベ
ース・マシン(DBマシン)、14:制御装置、15:
ディスク装置、20:リレーシボナル・データベース・
マネージメント・システム(RDBMS)。 21;アプリケーション・プログラム(AP)。 22:オペレーティング・システム(O8)、30:テ
ーブル、31:ロー、32:カラム、41゜140:テ
ーブル、40,42:インデクス、43:支店カラムの
ドメイン、50:ディスク・インタフェース・プロセッ
サ(DIP)、51:チャネル・インタフェース・プロ
セッサ(arp)。 52:専用メモリA、53:専用メモリB、54:デー
タベース・プロセッサ(DBP)、55:バッチド・サ
ーチ・エンジン、56:ソート情報格納メモリ、57:
共通メモリ、58:専用メモリC260:検索範囲、6
1:テーブル・インデクス(テーブルiD)、52ニゲ
ループ・パイ・カラム・インデクス(グループ・バイ・
カラムiD)。 63:ソート情報数、64:関数情報、65〜67:入
カバッファ、68:インタフェース情報部。 70:関数カラム数、71:関数カラム・インデクス(
関数カラム!D)、72:指定関数、80〜8n:コー
ド、90:検索開始フラグ、91:入力完了フラグ、9
2ニゲループ化完了フラグ。 93ニブロック内ロー数、94ニゲループ情報。 140.144:テーブル、141:口座番号カラム、
142:支店カラム、143:普通預金残高カラム、1
000:専用メモリBのエリア。 躬/の 第?圀 第1 第、5′囮 菊/1図 第 ノ4 目
Figure 1 is a block diagram of a data processing system in an embodiment of the present invention, Figure 2 is a block diagram of a DB machine in an embodiment of the present invention, and Figure 3 is a block diagram of a data processing system in an embodiment of the present invention. 4 is an explanatory diagram of a table in an embodiment of the present invention; FIG. 5 is an explanatory diagram of a sort information storage memory in an embodiment of the present invention; 6th Wi is an explanatory diagram of a sort information storage memory in an embodiment of the present invention; An explanatory diagram of a common memory. FIG. 7 is an explanatory diagram of function information in an embodiment of the present invention;
FIG. 8 is an explanatory diagram of the dedicated memory B in one embodiment of the present invention, FIG. 9 is an explanatory diagram of the interface information section in one embodiment of the present invention, and FIG. 10 is a diagram of the group bypass in one embodiment of the present invention.・Explanatory diagram of column domain creation, 1st
FIG. 1 is an operation flowchart of CIP in an embodiment of the present invention. FIG. 12 is an operation flowchart of DIP in an embodiment of the present invention, and FIG. 13 is a DB operation flowchart in an embodiment of the present invention.
FIG. 14 is a processing side diagram of the group pi operation in an embodiment of the present invention, and FIG. 15 is a processing flow chart of the group pi operation in an embodiment of the present invention. 10: Central processing unit (CPU),
11: Main storage device, 12: Channel, 13: Database machine (DB machine), 14: Control device, 15:
Disk device, 20: Relational database
Management System (RDBMS). 21; Application program (AP). 22: Operating system (O8), 30: Table, 31: Row, 32: Column, 41°140: Table, 40, 42: Index, 43: Branch column domain, 50: Disk interface processor (DIP) , 51: channel interface processor (arp). 52: Dedicated memory A, 53: Dedicated memory B, 54: Database processor (DBP), 55: Batched search engine, 56: Sort information storage memory, 57:
Common memory, 58: Dedicated memory C260: Search range, 6
1: Table index (table ID), 52 Nigeloop pi column index (group by
Column iD). 63: Number of sort information, 64: Function information, 65 to 67: Input buffer, 68: Interface information section. 70: Number of function columns, 71: Function column index (
Function column! D), 72: Specified function, 80 to 8n: Code, 90: Search start flag, 91: Input completion flag, 9
2Nigeroop completion flag. 93 Number of rows in Ni block, 94 Nigel loop information. 140.144: Table, 141: Account number column,
142: Branch column, 143: Ordinary account balance column, 1
000: Area of dedicated memory B. The first part? Kuni No. 1, 5' Decoy Chrysanthemum / Figure 1 No. 4

Claims (1)

【特許請求の範囲】 1、データ転送バスを構成する主記憶装置、チャネル、
制御装置、ディスク装置、および中央処理装置を備え、
該ディスク装置に格納され、複数のローから構成される
テーブルの中、特定のカラムの値が等しいローの集合を
1つのグループとして、1つのテーブルのローを1つ以
上のグループに分類し、各グループ毎に各カラムに指定
された関数演算を実行してデータ処理を行うデータ処理
システムにおいて、上記データ転送バス上の任意の装置
内、あるいは任意の装置間に、データの処理を行う手段
を設け、まず第1の処理として、上記テーブルのローの
グループ化を行う際に用いるカラム、つまりグループ・
バイ・カラムのドメインを得て、次に第2の処理として
、該ドメインのソート処理を行い、さらに第3の処理と
して、該データ処理手段を用いて、該テーブルの各ロー
を読み出して、該グループ・バイ・カラムのカラム値を
取り出し、該ソート処理後に重復値を排除した情報との
間で2分検索を行い、該各ローが何れのグループに属す
るかを判別し、該テーブルのデータ転送と同期して、指
定された上記関数演算をグループ毎に実行することを特
徴とするデータ処理方式。 2、上記第1の処理は、上記関数演算の対象となるテー
ブルの全体検索を行い、上記ドメインを得ることを特徴
とする特許請求範囲第1項記載のデータ処理方式。 3、上記第1の処理は、上記関数演算の対象となるテー
ブルのカラム値に付いているインデクスの全体検索を行
い、上記グループ・バイ・カラムのドメインを得ること
を特徴とする特許請求範囲第1項記載のデータ処理方式
。 4、上記第1の処理は、上記関数演算の対象となるテー
ブル以外のテーブルの中、上記グループ・バイ・カラム
のドメインと同一のドメインを持つテーブルを対象とし
て全体検索を行い、該グループ・バイ・カラムのドメイ
ンを得ることを特徴とする特許請求範囲第1項記載のデ
ータ処理方式。 5、上記第1の処理は、上記関数演算の対象となるテー
ブル以外のテーブルの中、上記グループ・バイ・カラム
のドメインと同一のドメインを持つテーブルを対象とし
て、該カラムに付いているインデクスの全体検索を行い
、該グループ・バイ・カラムのドメインを得ることを特
徴とする特許請求範囲第1項記載のデータ処理方式。 6、上記第1の処理は、上記グループ・バイ・カラムの
ドメインの処理要求を発行した該発行先から、該グルー
プ・バイ・カラムのドメインを受け取ることを特徴とす
る特許請求範囲第1項記載のデータ処理方式。 7、上記データ処理システムは、上記グループ・バイ・
カラムのドメインを、予め該システム内に保持すること
を特徴とする特許請求範囲第1項記載のデータ処理方式
。 8、上記データ処理システムは、上記グループ・バイ・
カラムのドメインのソート結果を、予め該システム内に
保持し、上記データ処理手段に転送することを特徴とす
る特許請求範囲第1項記載のデータ処理方式。
[Claims] 1. A main memory device and a channel that constitute a data transfer bus;
Equipped with a control unit, a disk unit, and a central processing unit,
Among tables that are stored in the disk device and are composed of multiple rows, a set of rows with the same value in a specific column is classified as one group, and the rows of one table are classified into one or more groups, and each In a data processing system that processes data by executing functional operations specified in each column for each group, means for processing data is provided within or between any devices on the data transfer bus. , First, as a first process, the column used to group the rows of the above table, that is, the group column.
After obtaining the bi-column domain, the second process is to sort the domain, and the third process is to use the data processing means to read each row of the table and sort the domain. Extract the column value of the group-by column, perform a binary search with the information from which duplicate values have been removed after the sorting process, determine which group each row belongs to, and transfer the data of the table. A data processing method characterized in that the specified functional operation is executed for each group in synchronization with the data processing method. 2. The data processing method according to claim 1, wherein the first process performs an entire search of the table to be subjected to the functional operation to obtain the domain. 3. The first process is characterized in that the domain of the group-by-column is obtained by performing a complete search of the index attached to the column value of the table that is the target of the functional operation. The data processing method described in Section 1. 4. The above first process performs an overall search for tables that have the same domain as the domain of the above group-by column among tables other than the table that is the target of the above-mentioned function operation, and - The data processing method according to claim 1, characterized in that a domain of a column is obtained. 5. The above first process targets a table that has the same domain as the group-by-column domain among tables other than the table that is the target of the above function operation, and calculates the index attached to the column. 2. The data processing method according to claim 1, wherein a domain of the group-by-column is obtained by performing an overall search. 6. The first process is characterized in that the group-by-column domain is received from the issuer who issued the group-by-column domain processing request. data processing method. 7. The above data processing system is capable of handling the above group by
2. The data processing method according to claim 1, wherein the domain of the column is held in the system in advance. 8. The above data processing system is capable of handling the above group by
2. The data processing method according to claim 1, wherein a result of sorting the domain of the column is held in the system in advance and transferred to the data processing means.
JP62056515A 1987-03-13 1987-03-13 Data processing system Pending JPS63223827A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62056515A JPS63223827A (en) 1987-03-13 1987-03-13 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62056515A JPS63223827A (en) 1987-03-13 1987-03-13 Data processing system

Publications (1)

Publication Number Publication Date
JPS63223827A true JPS63223827A (en) 1988-09-19

Family

ID=13029259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62056515A Pending JPS63223827A (en) 1987-03-13 1987-03-13 Data processing system

Country Status (1)

Country Link
JP (1) JPS63223827A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995009400A1 (en) * 1993-09-30 1995-04-06 Omron Corporation Method and device for managing data base, and method and device for retrieving data from data base

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995009400A1 (en) * 1993-09-30 1995-04-06 Omron Corporation Method and device for managing data base, and method and device for retrieving data from data base
US5812998A (en) * 1993-09-30 1998-09-22 Omron Corporation Similarity searching of sub-structured databases

Similar Documents

Publication Publication Date Title
CN103425672B (en) A kind of method for building up of database index and device
US6058392A (en) Method for the organizational indexing, storage, and retrieval of data according to data pattern signatures
CN107391554B (en) Efficient distributed locality sensitive hashing method
EP0912948A1 (en) Database apparatus
EP1736876A1 (en) Parallel generation of bundles of data objects
CN107209768A (en) Method and apparatus for the expansible sequence of data set
JPH07253991A (en) Join processing system
CN113961580A (en) Data query method, service system and electronic equipment
JPH07104871B2 (en) Join processing method in relational database
US8606744B1 (en) Parallel transfer of data from one or more external sources into a database system
JPS63223827A (en) Data processing system
US8321420B1 (en) Partition elimination on indexed row IDs
JPH021059A (en) Associative retrieving system
CN107506394A (en) Optimization method for eliminating big data standard relation connection redundancy
CN116450675A (en) Method, system and device for realizing task optimization merging based on metadata and similarity
CN110297836A (en) User tag storage method and search method based on compress bitmap mode
JP3617672B2 (en) Parallel processor system
JPH09305622A (en) Method and system for managing data base having document retrieval function
US6694324B1 (en) Determination of records with a specified number of largest or smallest values in a parallel database system
JPH01163826A (en) Coupling processing system for relational data base
JPH0193843A (en) System for coupling table
JPH0962697A (en) Merchandise code retrieving system
JPH01258125A (en) Key sequential retrieving system for record
CN114817308A (en) Method for optimizing execution of multiple percentile _ cont analysis functions in database
JPH04148373A (en) Data retrieving system