JPH06110936A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH06110936A
JPH06110936A JP4256589A JP25658992A JPH06110936A JP H06110936 A JPH06110936 A JP H06110936A JP 4256589 A JP4256589 A JP 4256589A JP 25658992 A JP25658992 A JP 25658992A JP H06110936 A JPH06110936 A JP H06110936A
Authority
JP
Japan
Prior art keywords
result
processor
record
arithmetic
sort
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
JP4256589A
Other languages
English (en)
Inventor
Kazunori Shimakawa
和典 島川
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP4256589A priority Critical patent/JPH06110936A/ja
Publication of JPH06110936A publication Critical patent/JPH06110936A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】ジョイン演算の中間結果を再構成せずにソート
あるいは選択演算の入力とすることにより、データベー
ス演算処理装置の性能を飛躍的に向上させる。 【構成】CPU11からDBE16にジョイン演算に続
くソート処理が要求された場合、ECAM164は、E
BDM163上のジョインの中間結果のRID(レコー
ド識別子)ペアを順に入力して、そのペア中の2つのR
IDが指す2レコードからソートキーフィールドを切り
出して連結し、それに同ペアを指すRIDを付加したソ
ート対象データ168をPSOM165に送る動作を繰
り返した後、PSOM165,PRAM166のソート
動作の結果であるRID列40をEBDM163に格納
する。ECP162は、このRID列40中のRIDを
順に入力して、そのRIDが指すジョインの中間結果の
RIDペア中の2つのRIDにより示される2レコード
を1つに結合するレコード再構成を繰り返す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、ホスト装置からの要
求に応じて演算対象のファイルデータに対してソートま
たは関係代数演算等の演算処理を実行する演算処理装置
を備えたデータ処理装置に係り、特にジョイン演算の結
果に対して、ソートあるいは選択を行うことが指定され
た場合に好適な演算処理方式に関する。
【0002】
【従来の技術】一般に、コンピュータシステムにおいて
は、ソート処理や関係データベースの検索処理等を高速
に実行するために専用のデータベース演算処理装置が設
けられている。このデータベース演算処理装置はハード
ウェアソータと称される演算回路を備えており、この演
算回路を用いることによってホスト装置からの演算処理
要求に応じたソートや関係代数演算等を高速に実行す
る。
【0003】この種のデータベース演算処理装置では、
ホスト装置からの演算要求がジョイン演算の場合には、
同処理装置内の演算回路は、結果として2つの演算対象
レコードのアドレス(ポインタ)、即ちレコード識別子
の対(ペア)を出力する。このように、レコード形式に
なっていない結果(中間結果と称する)を出力するの
は、内部メモリの記憶領域を効率的に使用するためであ
る。
【0004】さて、上記のジョイン演算に続いて、その
ジョイン演算の結果をソートあるいは選択する演算が要
求されることがある。ところが、ジョイン演算の結果
は、上記したようにレコード形式になっていない中間結
果であるため、従来は、ジョイン演算の結果を入力とす
る後続のソートあるいは選択の処理では、その前処理と
してレコード識別子の対を1つのレコードの形式に再構
成するということを行わなければならなかった。
【0005】しかし、このジョイン演算の中間結果のレ
コードへの再構成処理は付加の重い処理であった。特
に、ジョインという演算の特質上、その結果データ量が
2つの入力データ量の総和をも超えてしまう場合もあり
得る。また、中間結果の再構成において、再構成後のデ
ータ量がデータベース演算処理装置のバッファメモリの
サイズを超える場合もあり、そのときは作業ファイル上
に再構成後のデータを一時出力してから、再度それを入
力しつつ、後続のソートや選択を行わなければならず、
これもまた著しく負荷の大きな処理である。
【0006】このように、ジョイン演算の中間結果を一
旦再構成し直してからソートや選択演算への入力とする
従来の方式は、データベース演算処理装置の本来の目的
である処理性能の飛躍的向上を大きく阻害していた。
【0007】
【発明が解決しようとする課題】上記したように従来
は、ジョイン演算に続いて、そのジョイン演算の結果を
ソートあるいは選択する演算が要求された場合、ジョイ
ン演算の中間結果を一旦再構成し直してから、ソートあ
るいは選択演算の入力としていたため、再構成にかかる
負荷は非常に大きく、データベース演算処理装置の性能
を著しく低下させるという問題があった。
【0008】この発明は、このような点に鑑みてなされ
たもので、ジョイン演算の中間結果を再構成することな
くそのままの形でソートあるいは選択演算の入力とする
ことにより、データベース演算処理装置の性能を飛躍的
に向上させ、もってシステム全体として効率良くデータ
処理を実行できるデータ処理装置を提供することを目的
とする。
【0009】
【課題を解決するための手段と作用】この発明は、ホス
ト装置と、演算対象のファイルデータが格納される2次
記憶装置と、この2次記憶装置を直接アクセスするため
のパスを有し、上記ホスト装置からの要求に応じて上記
演算対象のファイルデータに対して所定の演算処理を実
行する演算処理装置とを備えたデータ処理装置におい
て、ホスト装置からの演算要求に従って演算対象のファ
イルデータを上記パスを介して2次記憶装置から入力す
る入力手段と、この入力手段により入力された演算対象
のファイルデータに対してソートまたは関係代数演算を
実行する演算処理手段と、上記演算対象のファイルデー
タおよび上記演算処理手段による演算結果データが格納
される内部メモリと、上記演算結果データを上記2次記
憶装置に出力する出力手段とを、上記演算処理装置に設
け、上記ホスト装置からこの演算処理装置に対して、ジ
ョイン演算の結果をソートあるいは選択することが指定
された場合に、この演算処理装置において、上記内部メ
モリ上のジョイン演算の中間結果、即ち内部メモリ上の
レコードのアドレスであるレコード識別子の対が複数個
集まって構成されるジョイン演算の中間結果を、そのま
ま上記演算処理手段に入力してソートあるいは選択を行
わせ、その結果の要素であるレコード識別子の対を用い
て2つの演算対象レコードを1つのレコードに統合して
内部メモリに格納することを、上記ソートあるいは選択
の結果の各要素に対して行うことにより、最終的な演算
結果レコードの集合を、ジョイン演算後にソートあるい
は選択を実行する一連の処理の結果として得ることを第
1の特徴とする。
【0010】この構成においては、ジョイン演算の中間
結果がそのままの形で後続のソートあるいは選択演算へ
の入力とされて、ソートあるいは選択が行われ、その結
果の要素であるレコード識別子の対を用いて2つの演算
対象レコードを1つのレコードに統合する処理がソート
あるいは選択の結果の各要素に対して行われることによ
り、最終的な演算結果レコードの集合が得られるため、
従来必要であった中間結果のレコード形式への再構成が
不要となり、したがって、再構成結果を内部メモリ上へ
格納する際の領域不足(メモリ不足)に起因した作業フ
ァイル使用の処理も避けることが可能となる。
【0011】また、この発明は、上記演算処理装置に、
第1乃至第3のプロセッサから構成されるマルチプロセ
ッサ構成を採用し、演算処理装置と2次記憶装置間のデ
ータ入出力を第1のプロセッサに、演算回路を用いた演
算処理を第2のプロセッサに、そして、全体の制御を第
3のプロセッサにそれぞれ機能分散すると共に、ホスト
装置から指示された演算処理と、演算制御の並列処理と
を第3のプロセッサによって実行させるように構成し、
さらに、上記ホスト装置からこの演算処理装置に対し
て、ジョイン演算の結果をソートあるいは選択すること
が指定された場合に、上記第3のプロセッサは、内部メ
モリ上のレコードのアドレスであるレコード識別子の対
が複数個集まって構成されるジョイン演算の中間結果
を、そのまま上記第2のプロセッサに入力してソートあ
るいは選択を行わせ、上記第2のプロセッサは、第3の
プロセッサから入力された上記中間結果の構成要素であ
るレコード識別子の対に対応する内部メモリ上の2つの
レコードからホスト装置の要求するソートあるいは選択
のキーフィールドを切り出し、このキーフィールドにレ
コード識別子の対を指すポインタが出力用のレコード識
別子として付加されたソートあるいは選択対象データの
列を上記演算回路に入力し、この演算回路は、第2のプ
ロセッサから入力されたソートあるいは選択対象データ
の列に対するソートあるいは選択の演算処理の結果とし
て出力用のレコード識別子の列を出力して、この出力を
もって第2のプロセッサの演算結果とし、上記第3のプ
ロセッサは、第2のプロセッサの演算結果である出力用
のレコード識別子の列の1つの要素が指すレコード識別
子の対で指定される内部メモリ上の2つのレコードを用
いて1つのレコードに結合して同メモリに格納する処理
を、第2のプロセッサからの出力用のレコード識別子の
列の各要素に対して順次行うことにより、結合レコード
の集合をホスト装置から要求された処理結果として得る
ことを第2の特徴とする。
【0012】この構成においては、第1乃至第3のプロ
セッサによって負荷分散が図られ、第1のプロセッサに
よるデータ入出力と、第2のプロセッサによる演算処理
との並行動作が可能となる。また、第1のプロセッサに
よるデータ入出力と、第2のプロセッサによる演算処理
との並行動作が第3のプロセッサにより実行制御され、
ジョイン演算の中間結果がレコード形式に再構成される
ことなく演算回路に直接入力されて、後続のソートある
いは選択演算が行われ、その演算結果として出力用のレ
コード識別子の列が出力され、さらに、この出力用のレ
コード識別子の列が第2のプロセッサの演算結果として
扱われ、第3のプロセッサにより、この出力用のレコー
ド識別子の列の各要素が指すレコード識別子の対で指定
される内部メモリ上の各2つのレコードをそれぞれ1つ
のレコードに結合して、その集合を求める処理が行われ
る。
【0013】このように、ジョイン演算の中間結果をレ
コード形式に再構成することなく、後続のソートあるい
は選択演算への入力としても、目的とするレコードの集
合を演算処理装置において得ることができることから、
処理の負荷を大幅に軽減すると共に、処理すべきデータ
量が軽減されるために作業ファイルを使用する必要もな
く、さらに内部メモリの効率的利用が図れ、演算処理装
置(データベース演算処理装置)の動作性能を十分に向
上させることができる。
【0014】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
【0015】図1にはこの発明の一実施例に係わるデー
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、外部記憶装置、例えば磁気ディスク装置17と
によって構成されている。
【0016】ホストコンピュータ10は、CPU11、
主記憶装置12、第1および第2のチャネル装置14,
15によって構成されている。これらCPU11、主記
憶装置12、およびチャネル装置14,15はシステム
バス13を介して相互接続されている。
【0017】ホストコンピュータ10とデータベース演
算処理装置16はチャネル装置14によって接続され、
またホストコンピュータ10と磁気ディスク装置17は
チャネル装置15によって接続されている。さらに、デ
ータベース演算処理装置16と磁気ディスク装置17は
専用のアクセスパス18を介して接続されている。
【0018】CPU11は、ホストコンピュータ10全
体の制御を司るものであり、データベース演算処理装置
16に対してソート処理や関係代数演算等の各種演算処
理の実行を依頼する。主記憶装置12には、データベー
ス演算処理装置16に対して演算対象ファイルや演算内
容を指示するためのコマンド群が格納される。
【0019】データベース演算処理装置(DBE)16
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力および演算結果の出力のため
に、パス18を介して磁気ディスク装置17を直接的に
アクセスする。
【0020】このデータベース演算処理装置(DBE)
16は、エンジンインタフェースプロセッサ(EIP)
161、エンジン制御プロセッサ(ECP)162、大
容量メモリ(EBDM)163、ハードウェア(HW)
ソータ制御プロセッサ(ECAM)164、並列ソーテ
ィングモジュール(PSOM)165、および並列関係
代数演算モジュール(PRAM)166によって構成さ
れている。
【0021】エンジンインタフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の3台のプロセッサは、内部バス167によ
って相互接続されており、大容量メモリ(EBDM)1
63を共有メモリとする密結合のマルチプロセッサを構
成している。大容量メモリ(EBDM)163は、3台
の各プロセッサの共通のアドレス空間上に配置されてい
る。
【0022】また、これら3台のプロセッサ、つまりエ
ンジンインタフェースプロセッサ(EIP)161、エ
ンジン制御プロセッサ(ECP)162、およびハード
ウェアソータ制御プロセッサ(ECAM)164には機
能分散がなされている。この場合、それぞれの固有の役
割を効率良く実行するために、これら各プロセッサは、
密結合ながらそれぞれに適した独立のモニタ(マイクロ
プロセッサ用オペレーティングシステム)によって動作
制御されるように構成されている。
【0023】エンジンインタフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、およびハードウェアソータ制御プロセッサ(ECA
M)164の機能分散は、次のようになされている。
【0024】まず、エンジンインタフェースプロセッサ
(EIP)161は、ホストコンピュータ10とデータ
ベース演算処理装置16間の通信を行うと共に、磁気デ
ィスク装置17のディスクコントローラにもパス18を
介して接続されており、磁気ディスク装置17との間で
のデータ入出力を制御する。また、エンジンインタフェ
ースプロセッサ(EIP)161は、磁気ディスク装置
17にデータを出力する際、出力ファイルの再構成処理
も行う。
【0025】ホストコンピュータ10との間の通信にお
いては、エンジンインタフェースプロセッサ(EIP)
161は、第1のチャネル装置14を介してCPU11
から送られてくるコマンドを受信し、それをエンジン制
御プロセッサ(ECP)162に送信する。また、エン
ジンインタフェースプロセッサ(EIP)161は、エ
ンジン制御プロセッサ(ECP)162から送られてく
るコマンド結果としてのステータスを受信し、それを第
1のチャネル装置14を介してCPU11に返信する。
【0026】磁気ディスク装置17との間のデータ入出
力においては、エンジンインタフェースプロセッサ(E
IP)161は、エンジン制御プロセッサ(ECP)1
62からの入出力要求を受け付け、大容量メモリ(EB
DM)163と磁気ディスク装置17との間でデータ転
送を行う。その際、エンジンインタフェースプロセッサ
(EIP)161は、エンジン制御プロセッサ(EC
P)162からの要求に従い、出力ファイルデータの再
構成処理も行う。
【0027】エンジン制御プロセッサ(ECP)162
は、エンジンインタフェースプロセッサ(EIP)16
1、大容量メモリ(EBDM)163、およびハードウ
ェアソータ制御プロセッサ(ECAM)164を内部バ
ス167を介して制御するものである。エンジン制御プ
ロセッサ(ECP)162は、CPU11からのコマン
ドが、ソートや関係代数演算などの演算処理コマンドの
場合には、それに対応する各種コマンド処理プロセスの
生成・実行を司る。
【0028】大容量メモリ(EBDM)163は、磁気
ディスク装置17から読み出された演算対象のファイル
データ、CPU11から送られてくる各種演算処理コマ
ンド、ハードウェアソータ制御プロセッサ(ECAM)
164、並列ソーティングモジュール(PSOM)16
5、および並列関係代数演算モジュール(PRAM)1
66による演算結果、さらには、エンジン制御プロセッ
サ(ECP)162による演算結果の統合結果等を格納
する共有メモリである。演算対象のファイルデータは大
容量メモリ(EBDM)163内の入力バッファ部に格
納され、演算処理結果は大容量メモリ(EBDM)16
3内の出力バッファ部に格納される。
【0029】ハードウェアソータ制御プロセッサ(EC
AM)164は、エンジン制御プロセッサ(ECP)1
62からの指令に基づいて、並列ソーティングモジュー
ル(PSOM)165および並列関係代数演算モジュー
ル(PRAM)166による演算を制御する。
【0030】この場合、ハードウェアソータ制御プロセ
ッサ(ECAM)164は、大容量メモリ(EBDM)
163上のデータを並列ソーティングモジュール(PS
OM)165に入力し、並列関係代数演算モジュール
(PRAM)166から出力された演算結果を大容量メ
モリ(EBDM)163上に格納するが、並列ソーティ
ングモジュール(PSOM)165へのデータ入力に際
しては、まず、キー切り出し処理を実行する。このキー
切り出し処理においては、ハードウェアソータ制御プロ
セッサ(ECAM)164は、演算対象の各レコードか
ら演算に必要な演算対象キーフィールドのみを切り出
し、それに大容量メモリ(EBDM)163上における
レコードの先頭アドレス(を示すポインタである)レコ
ード識別番号(レコード識別子)RIDを付加して並列
ソーティングモジュール(PSOM)165へ送出す
る。
【0031】並列ソーティングモジュール(PSOM)
165は、ハードウェアソータ制御プロセッサ(ECA
M)164によって駆動され、ソートを並列に実行する
専用のハードウェア回路であり、並列関係代数演算モジ
ュール(PRAM)166に接続されている。並列ソー
ティングモジュール(PSOM)165は、パイプライ
ンマージソータと称されるものであり、2−ウェイマー
ジを行う複数のソートセルをカスケード接続してなる。
【0032】並列関係代数演算モジュール(PRAM)
166は、関係データベースにおけるJOIN(結合)
やRESTRICT(制約、準結合)といった関係代数
演算を並列に実行する専用のハードウェア回路であり、
並列ソーティングモジュール(PSOM)165からソ
ートされたデータを入力し、演算結果をハードウェアソ
ータ制御プロセッサ(ECAM)164に出力する。ソ
ート処理だけを実行する場合には、並列関係代数演算モ
ジュール(PRAM)166は最終段のソートセルとし
て機能する。
【0033】このように、エンジンインタフェースプロ
セッサ(EIP)161、エンジン制御プロセッサ(E
CP)162、およびハードウェアソータ制御プロセッ
サ(ECAM)164には、各種演算処理、例えばソー
ト処理やセレクト(選択)処理を実行するための機能が
分散されている。この場合、これらプロセッサは、大容
量メモリ(EBDM)163上のバッファのデータの授
受を除けば非同期に動作し、並行して各機能を実行す
る。即ち、ソートやセレクト等の処理は、通常、入力処
理、演算処理、および出力処理から構成されるが、ハー
ドウェアソータ制御プロセッサ(ECAM)164の制
御による演算処理は、エンジンインタフェースプロセッ
サ(EIP)161による演算対象データの入力処理と
並行して実行される。またハードウェアソータ制御プロ
セッサ(ECAM)164からの演算結果をエンジン制
御プロセッサ(ECP)162によって統合処理する必
要がある場合には、その統合処理とエンジンインタフェ
ースプロセッサ(EIP)161による出力処理も並行
して実行される。
【0034】さらに本実施例においては、CPU11か
らの演算要求の一部がジョイン→ソート/選択(ソート
あるいは選択)の順序であった場合には、エンジン制御
プロセッサ(ECP)162は、ハードウェアソータ制
御プロセッサ(ECAM)164からのジョイン演算の
中間結果であるレコード識別子の対を用いてジョイン演
算の結果として1つのレコードに再構成することなく、
再びハードウェアソータ制御プロセッサ(ECAM)1
64にそのまま中間結果を入力するように構成されてい
る。この場合、ハードウェアソータ制御プロセッサ(E
CAM)164は、中間結果の2つのレコード識別子の
指す2つの演算対象レコードからソート/選択キーフィ
ールドを切り出し、それにハードウェアソータ制御プロ
セッサ(ECAM)164の出力用のレコード識別子を
付加して並列ソーティングモジュール(PSOM)16
5および並列関係代数演算モジュール(PRAM)16
6に流すように構成されている。エンジン制御プロセッ
サ(ECP)162はまた、並列ソーティングモジュー
ル(PSOM)165および並列関係代数演算モジュー
ル(PRAM)166からハードウェアソータ制御プロ
セッサ(ECAM)164を通して出力されたレコード
識別子の列(結果レコード識別子列)の各要素の指すジ
ョイン演算の中間結果であるレコード識別子の対で指定
される2つの演算対象レコードをもとに、CPU11か
らの演算要求の一部であるジョイン→ソート/選択とい
う一連の演算処理の結果として1つのレコードに結合・
再構成し、大容量メモリ(EBDM)163に格納す
る。エンジン制御プロセッサ(ECP)162は、以上
の処理を結果レコード識別子列の各要素全てに対して行
わせることにより、結果レコードの集合を効率的に得る
ようになっている。
【0035】次に、図2乃至図7を参照して、本発明に
直接関連する一連の処理について説明する。
【0036】まず、図2乃至図5の関係を説明する。こ
の図2乃至図5は、ジョイン演算の中間結果をソート処
理した場合の具体例を示したものである。
【0037】図2は、ジョイン演算の中間結果例を示し
ている。この図2に示す中間結果は、複数個、例えば6
個のレコード識別子(以下、RIDと称する)のペア
(以下、RIDペアと称する)21-1〜21-6から成
り、図1のデータベース演算処理装置(DBE)16内
の大容量メモリ(EBDM)163に格納される。
【0038】各RIDペア21-1〜21-6は、それぞれ
2つのレコード識別子であるRID“a1”,RID
“b1”〜RID“a6”,RID“b6”から成る。
この大容量メモリ(EBDM)163上の各RIDペア
21-1〜21-6は、図4に示すソート結果のRID列
(ソート結果列)40中のRID“c1”〜RID“c
6”から指されており、そのRIDペア22-1〜22-6
の中の2つのRID“a1”,RID“b1”〜RID
“a6”,RID“b6”は、図3に示すように、大容
量メモリ(EBDM)163上のそれぞれジョイン演算
の2つの対象レコード31-1,32-1〜31-6,32-6
を指している。したがって、ソート結果のRID“c
1”〜RID“c6”からジョイン演算の対象レコード
31-1,32-1〜31-6,32-6を求めて、図5に示す
ように、新たなレコード51-1〜51-6に結合・再構成
することができる。
【0039】次に、大容量メモリ(EBDM)163上
に図2に示すジョイン演算の中間結果が得られている状
態で、それに続くソート演算を行う場合について、図6
および図7のフローチャートを参照して説明する。
【0040】まずエンジン制御プロセッサ(ECP)1
62は、ハードウェアソータ制御プロセッサ(ECA
M)164に対してジョイン演算に続くソート処理を依
頼する。
【0041】これによりハードウェアソータ制御プロセ
ッサ(ECAM)164は、大容量メモリ(EBDM)
163上に格納されているジョイン演算の中間結果のR
IDペア21-i(i=1〜6)の取り出しを行い(図6
ステップS1)、中間結果がまだあるかを検査する(図
6ステップS2)。ここでの取り出しは、先頭から順に
行われる。
【0042】ハードウェアソータ制御プロセッサ(EC
AM)164は、中間結果がまだある場合には、ステッ
プS1で取り出したRIDペア21-iを構成する2つの
レコード識別子、即ちRID“ai”とRID“bi”
がそれぞれ指しているジョイン演算の対象レコード31
-i,32-iから、それぞれ指定のソートキーフィール
ド、例えば図3に示すソートキーフィールド311,3
21を切り出す(図6ステップS3)。
【0043】次にハードウェアソータ制御プロセッサ
(ECAM)164は、切り出した2つのソートキーフ
ィールドを1つに連結し、さらに対応するジョイン演算
の中間結果であるRIDペア21-iを指すポインタであ
るRID“ci”をそれに付加し、図1に示すようにソ
ート対象データ168として並列ソーティングモジュー
ル(PSOM)165に入力する(図6ステップS
4)。
【0044】そしてハードウェアソータ制御プロセッサ
(ECAM)164は、残りの中間結果(であるRID
ペア)に対して以上の処理を繰り返す(図6ステップS
1〜S4)。
【0045】この結果、並列ソーティングモジュール1
65および並列関係代数演算モジュール(PRAM)1
66のハードウェア演算回路では、ハードウェアソータ
制御プロセッサ(ECAM)164から入力されたソー
ト対象データ168の列に対するソート処理が実行され
る。
【0046】ハードウェアソータ制御プロセッサ(EC
AM)164は、上記の処理の繰り返しにより、ステッ
プS2の検査で中間結果がもうなくなったことを検出し
た場合には、並列ソーティングモジュール165および
並列関係代数演算モジュール(PRAM)166を用い
たソート処理の結果として、並列関係代数演算モジュー
ル(PRAM)166により得られる図4に示すソート
結果のRID列(ソート結果列)40、即ちジョイン演
算の中間結果の各RIDペア21-1〜21-6を指すRI
D“c1”〜RID“c6”の列が並び変わった、先頭
をRID“c3”とするソート結果のRID列40を出
力し、大容量メモリ(EBDM)163に格納する。
【0047】するとエンジン制御プロセッサ(ECP)
162は、ハードウェアソータ制御プロセッサ(ECA
M)164によって大容量メモリ(EBDM)163に
格納されたソート結果のRID列40からのRID“c
j”(ここでは、j=3,5,6,2,4,1)の取り
出しを行い(図7ステップS11)、ソート結果がまだ
あるかを検査する(図7ステップS12)。
【0048】エンジン制御プロセッサ(ECP)162
は、ソート結果がまだある場合にはステップS11で取
り出したRID“cj”が指しているジョイン演算の中
間結果のRIDペア21-iを構成する2つのRID“a
j”とRID“bj”を大容量メモリ(EBDM)16
3から取り出す(図7ステップS13)。
【0049】次にエンジン制御プロセッサ(ECP)1
62は、取り出した2つのRID“aj”,RID“b
j”の指すレコード31-j,32-jをもとに、新しいレ
コード51-i(i=1〜6)を再構成する(図7ステッ
プS14)。ここで、ジョイン演算の特性によれば、結
合される右側の対象レコードに含まれるジョインキーフ
ィールドは再構成要素とはしない約束となっている。こ
のため、上記ステップS14においてエンジン制御プロ
セッサ(ECP)162は、RID“aj”の指すレコ
ード31-jの内容全体と、RID“bj”の指す右側の
対象レコード32-jからジョインキーフィールド321
を除外した残りの部分とを連結して、新しいレコード5
1-jを再構成し、大容量メモリ(EBDM)163の出
力バッファ部に格納する。
【0050】エンジン制御プロセッサ(ECP)162
は、以上の処理をソート結果(であるRID)がなくな
るまで繰り返す(図7ステップS11〜S14)。
【0051】そしてエンジン制御プロセッサ(ECP)
162は、上記の処理の繰り返しにより、ステップS1
2の検査でソート結果がもうなくなったことを検出した
場合には、再構成処理を完了する。このとき、大容量メ
モリ(EBDM)163の出力バッファ部には、ジョイ
ン演算の結果に対するソート処理結果として、新たなレ
コード51-1〜51-6の列が得られている。
【0052】以上は、ジョイン演算の結果に対してソー
ト処理を行う場合について説明したが、ジョイン演算の
結果に対して選択処理(選択演算)を行う場合にも、ソ
ート処理の場合と同様の手順で実施することができる。
【0053】
【発明の効果】以上のように、この発明によれば、ホス
ト装置からの要求に応じ、演算処理装置において、ジョ
イン演算とそれに続くソートあるいは選択演算を行うこ
とができ、しかもその演算に必要な各種の動作が機能分
散して効率的に行え、さらにジョイン演算の中間結果を
そのままの形で後続のソートあるいは選択演算への入力
として、ソートあるいは選択演算が行えるため、ホスト
装置の負荷、演算処理装置の負荷が軽減され、また作業
ファイルが不要となり、システム全体として効率の良い
データ処理が実現できる。
【図面の簡単な説明】
【図1】この発明の一実施例に係わるデータ処理装置の
全体のシステム構成を示すブロック図。
【図2】同実施例におけるジョイン演算の中間結果の一
例を示す図。
【図3】図2のジョイン演算の中間結果に対応する対象
レコードの対を示す図。
【図4】図2のジョイン演算の中間結果を直接ソートし
た結果(ソート結果のRID列)を示す図。
【図5】図4のソート実行結果を用いて図3の対象レコ
ードの対からレコードを再構成した結果を示す図。
【図6】図2のジョイン演算の中間結果を図1に示すハ
ードウェアソータ制御プロセッサ(ECAM)164が
直接ソートして図4の結果を出力する過程を説明するた
めのフローチャート。
【図7】図4のソートの結果を図1に示すエンジン制御
プロセッサ(ECP)162が図5のレコード形式に再
構成する過程を説明するためのフローチャート。
【符号の説明】
10…ホストコンピュータ、11…CPU、13…シス
テムバス、16…データベース演算処理装置(DB
E)、17…磁気ディスク装置(2次記憶装置)、18
…パス、40…ソート結果のRID列(ソート結果
列)、161…エンジンインタフェースプロセッサ(E
IP、第1のプロセッサ)、162…エンジン制御プロ
セッサ(ECP、第3のプロセッサ)、163…大容量
メモリ(EBDM、内部メモリ)、164…ハードウェ
ア(HW)ソータ制御プロセッサ(ECAM、第2のプ
ロセッサ)、165…並列ソーティングモジュール(P
SOM、演算回路)、166…並列関係代数演算モジュ
ール(PRAM、演算回路)、168…ソート対象デー
タ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 ホスト装置と、演算対象のファイルデー
    タが格納される2次記憶装置と、前記2次記憶装置を直
    接アクセスするためのパスを有し、前記ホスト装置から
    の要求に応じて前記演算対象のファイルデータに対して
    所定の演算処理を実行する演算処理装置とを備えたデー
    タ処理装置において、 前記演算処理装置は、 前記ホスト装置からの演算要求に従って演算対象のファ
    イルデータを前記パスを介して前記2次記憶装置から入
    力する入力手段と、この入力手段により入力された演算
    対象のファイルデータに対してソートまたは関係代数演
    算を実行する演算処理手段と、前記演算対象のファイル
    データおよび前記演算処理手段による演算結果データが
    格納される内部メモリと、前記演算結果データを前記2
    次記憶装置に出力する出力手段とを具備し、 前記ホスト装置から前記演算処理装置に対して、2つの
    独立したレコードにそれぞれ含まれてるジョインキーフ
    ィールドを比較照合することで前記2つの独立したレコ
    ードを1つのレコードに結合するジョイン演算の結果
    を、ソートあるいは選択することが指定された場合に、
    前記内部メモリ上のレコードのアドレスであるレコード
    識別子の対が複数個集まって構成されるジョイン演算の
    中間結果を、そのまま前記演算処理手段に入力してソー
    トあるいは選択を行わせ、その結果の要素である前記レ
    コード識別子の対を用いて2つの演算対象レコードを1
    つのレコードに統合して前記内部メモリに格納すること
    を、前記ソートあるいは選択の結果の各要素に対して行
    うことにより、最終的な演算結果レコードの集合を、前
    記ジョイン演算後に前記ソートあるいは選択を実行する
    一連の処理の結果として得ることを特徴とするデータ処
    理装置。
  2. 【請求項2】 ホスト装置と、演算対象のファイルデー
    タが格納される2次記憶装置と、前記2次記憶装置を直
    接アクセスするためのパスを有し、前記ホスト装置から
    の要求に応じて前記演算対象のファイルデータに対して
    所定の演算処理を実行する演算処理装置とを備えたデー
    タ処理装置において、 前記演算処理装置は、 前記ホスト装置との間の通信、および前記2次記憶装置
    との間のデータ入出力を実行する第1のプロセッサと、
    ソートまたは関係代数演算を行う演算回路と、この演算
    回路による演算を実行制御する第2のプロセッサと、前
    記第1のプロセッサによって入力される演算対象のファ
    イルデータおよび前記演算回路による演算結果が格納さ
    れる内部メモリと、前記第1のプロセッサを介し供給さ
    れる前記ホスト装置からの指示に基づいて、前記第1お
    よび第2のプロセッサを動作制御する第3のプロセッサ
    とを具備し、 前記ホスト装置から前記演算処理装置に対して、2つの
    独立したレコードにそれぞれ含まれてるジョインキーフ
    ィールドを比較照合することで前記2つの独立したレコ
    ードを1つのレコードに結合するジョイン演算の結果
    を、ソートあるいは選択することが指定された場合に、 前記第3のプロセッサは、前記内部メモリ上のレコード
    のアドレスであるレコード識別子の対が複数個集まって
    構成されるジョイン演算の中間結果を、そのまま前記第
    2のプロセッサに入力し、 前記第2のプロセッサは、前記第3のプロセッサから入
    力された前記中間結果の構成要素である前記レコード識
    別子の対に対応する前記内部メモリ上の2つのレコード
    から前記ホスト装置によって要求されたソートあるいは
    選択のキーフィールドを切り出し、このキーフィールド
    に前記レコード識別子の対を指すポインタが出力用のレ
    コード識別子として付加されたソートあるいは選択対象
    データの列を前記演算回路に入力し、 前記演算回路は、前記第2のプロセッサから入力された
    前記ソートあるいは選択対象データの列に対するソート
    あるいは選択の演算処理の結果として出力用のレコード
    識別子の列を出力して、この出力をもって前記第2のプ
    ロセッサの演算結果とし、 前記第3のプロセッサは、前記第2のプロセッサの演算
    結果である前記出力用のレコード識別子の列の1つの要
    素が指す前記レコード識別子の対で指定される前記内部
    メモリ上の2つのレコードを用いて1つのレコードに結
    合して前記内部メモリに格納する処理を、前記第2のプ
    ロセッサからの前記出力用のレコード識別子の列の各要
    素に対して順次行うことにより、結合レコードの集合を
    前記ホスト装置から要求された処理結果として得ること
    を特徴とするデータ処理装置。
JP4256589A 1992-09-25 1992-09-25 データ処理装置 Pending JPH06110936A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4256589A JPH06110936A (ja) 1992-09-25 1992-09-25 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4256589A JPH06110936A (ja) 1992-09-25 1992-09-25 データ処理装置

Publications (1)

Publication Number Publication Date
JPH06110936A true JPH06110936A (ja) 1994-04-22

Family

ID=17294732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4256589A Pending JPH06110936A (ja) 1992-09-25 1992-09-25 データ処理装置

Country Status (1)

Country Link
JP (1) JPH06110936A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033517A (ja) * 2012-11-06 2013-02-14 Hitachi Ltd データベース処理方法及びデータベース処理システム
JP2014211679A (ja) * 2013-04-17 2014-11-13 株式会社東芝 データベースシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013033517A (ja) * 2012-11-06 2013-02-14 Hitachi Ltd データベース処理方法及びデータベース処理システム
JP2014211679A (ja) * 2013-04-17 2014-11-13 株式会社東芝 データベースシステム

Similar Documents

Publication Publication Date Title
US8171047B2 (en) Query execution and optimization utilizing a combining network in a parallel computer system
DE68913629T2 (de) Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem.
CN110109898B (zh) 基于fpga片内bram的哈希连接加速方法及系统
JPH05216696A (ja) 高速併合装置及び併合方法
US8027972B2 (en) Nodal data normalization
JPH06110936A (ja) データ処理装置
US7673182B2 (en) Method and apparatus for obtaining stack traceback data for multiple computing nodes of a massively parallel computer system
JPH05324430A (ja) データ処理装置
Suel Routing and sorting on meshes with row and column buses
JPH0580977A (ja) データ処理装置
JPH0581342A (ja) データ処理装置
CN112037874A (zh) 一种基于映射归约的分布式数据处理方法
JPH07105057A (ja) データ処理装置
JPH0581338A (ja) データ処理装置
JPH0581339A (ja) データ処理装置
JP2983352B2 (ja) データベース演算処理装置
CN1097783C (zh) 数据处理的系统和方法以及带有这类系统的通信系统
JPH05324431A (ja) データ処理装置
JPH06176075A (ja) データ処理装置
JPS635780B2 (ja)
JPH06110745A (ja) データ処理装置
JPH06176076A (ja) データ処理装置
JPH0581343A (ja) データ処理装置
JPH06348561A (ja) データ処理装置
JP2588932B2 (ja) ソート処理装置