JPH05101109A - データベース演算処理装置 - Google Patents
データベース演算処理装置Info
- Publication number
- JPH05101109A JPH05101109A JP3258154A JP25815491A JPH05101109A JP H05101109 A JPH05101109 A JP H05101109A JP 3258154 A JP3258154 A JP 3258154A JP 25815491 A JP25815491 A JP 25815491A JP H05101109 A JPH05101109 A JP H05101109A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- result
- processor
- output
- command
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】結合処理の実行時には、その処理結果であるポ
インタ対の示すレコード対に対して自動的に射影処理を
施すことができるようにすることである。 【構成】ホスト装置からの結合コマンドに応じてコマン
ド処理スレッド30を起動し、指定された結合処理を並
列ソート及び並列関係代数演算の専用ハードウェアが付
加されたプロセッサに依頼するECAM処理依頼スレッ
ド32と、第1の出力バッファに記憶された結合処理結
果で示されるレコード対に対する射影を行なわせて、そ
の結果を第2の出力バッファに出力させる出力処理スレ
ッド33aとを生成する。スレッド30は、結合処理結
果が第1の出力バッファに入りきらない場合、スレッド
33aの処理を中止させて出力処理スレッド33bを起
動し、第1の出力バッファ内の結合処理の結果によって
示されるレコード対に対する射影を行なわせて、その結
果を2次記憶装置の作業ファイルに出力させる。
インタ対の示すレコード対に対して自動的に射影処理を
施すことができるようにすることである。 【構成】ホスト装置からの結合コマンドに応じてコマン
ド処理スレッド30を起動し、指定された結合処理を並
列ソート及び並列関係代数演算の専用ハードウェアが付
加されたプロセッサに依頼するECAM処理依頼スレッ
ド32と、第1の出力バッファに記憶された結合処理結
果で示されるレコード対に対する射影を行なわせて、そ
の結果を第2の出力バッファに出力させる出力処理スレ
ッド33aとを生成する。スレッド30は、結合処理結
果が第1の出力バッファに入りきらない場合、スレッド
33aの処理を中止させて出力処理スレッド33bを起
動し、第1の出力バッファ内の結合処理の結果によって
示されるレコード対に対する射影を行なわせて、その結
果を2次記憶装置の作業ファイルに出力させる。
Description
【0001】
【産業上の利用分野】この発明は、ホスト装置から与え
られるデータベース演算コマンドを受けて指定された演
算処理を実行するデータベース演算処理装置に係り、特
にホスト装置からの関係データベース演算である結合処
理の要求に続いて、その処理結果に対して再び関係デー
タベース演算を行なう処理の要求が出される場合に好適
な結合処理結果の出力方式に関する。
られるデータベース演算コマンドを受けて指定された演
算処理を実行するデータベース演算処理装置に係り、特
にホスト装置からの関係データベース演算である結合処
理の要求に続いて、その処理結果に対して再び関係デー
タベース演算を行なう処理の要求が出される場合に好適
な結合処理結果の出力方式に関する。
【0002】
【従来の技術】ホスト装置から与えられるデータベース
演算コマンドを受けて指定された演算処理を実行する従
来のデータベース演算処理装置では、関係データベース
演算を高速に行なうために、ソートを並列に実行する専
用のハードウェア及び各種関係代数演算を並列に実行す
る専用のハードウェアが設けられていた。また、これら
専用ハードウェア(エンジンコアと呼ぶ)を用いた関係
データベース演算の結果は、同結果を格納するのに必要
な内部メモリの容量を少なくするために、レコードでは
なくて、同レコードのメモリ上の格納先アドレスを示す
ポインタ(レコード識別番号RID)の形で出力される
ようになっていた。したがって、結合処理の場合には、
対象テーブルのレコードを指すポインタと条件テーブル
のレコードを指すポインタとの対(RID対)が、結合
処理の結果としてエンジンコアから出力されるようにな
っていた。
演算コマンドを受けて指定された演算処理を実行する従
来のデータベース演算処理装置では、関係データベース
演算を高速に行なうために、ソートを並列に実行する専
用のハードウェア及び各種関係代数演算を並列に実行す
る専用のハードウェアが設けられていた。また、これら
専用ハードウェア(エンジンコアと呼ぶ)を用いた関係
データベース演算の結果は、同結果を格納するのに必要
な内部メモリの容量を少なくするために、レコードでは
なくて、同レコードのメモリ上の格納先アドレスを示す
ポインタ(レコード識別番号RID)の形で出力される
ようになっていた。したがって、結合処理の場合には、
対象テーブルのレコードを指すポインタと条件テーブル
のレコードを指すポインタとの対(RID対)が、結合
処理の結果としてエンジンコアから出力されるようにな
っていた。
【0003】このように従来のデータベース演算処理装
置では、結合処理の結果は対象テーブルのレコードへの
ポインタと条件テーブルのレコードへのポインタとの対
(RID対)であったため、この結合処理の結果に対
し、更に(射影処理以外の)関係データベース演算をデ
ータベース演算処理装置(のエンジンコア)で続けて行
なうことはできなかった。そこで従来は、結合処理を指
示する結合コマンド(JOINコマンド)の次に射影(デー
タベース演算処理装置の内部メモリ上のデータを指定さ
れた形式で2次記憶装置または内部メモリに出力する処
理)を指示する射影コマンド(PROJECTIONコマンド)を
ホスト装置から発行し、結合処理の後に射影処理を必ず
実行して、レコード形式に展開する必要があった。な
お、射影処理は、エンジンコアを使用せずに行なわれ
る。このため、上記の結合処理の結果に対して射影処理
を施すことは可能である。
置では、結合処理の結果は対象テーブルのレコードへの
ポインタと条件テーブルのレコードへのポインタとの対
(RID対)であったため、この結合処理の結果に対
し、更に(射影処理以外の)関係データベース演算をデ
ータベース演算処理装置(のエンジンコア)で続けて行
なうことはできなかった。そこで従来は、結合処理を指
示する結合コマンド(JOINコマンド)の次に射影(デー
タベース演算処理装置の内部メモリ上のデータを指定さ
れた形式で2次記憶装置または内部メモリに出力する処
理)を指示する射影コマンド(PROJECTIONコマンド)を
ホスト装置から発行し、結合処理の後に射影処理を必ず
実行して、レコード形式に展開する必要があった。な
お、射影処理は、エンジンコアを使用せずに行なわれ
る。このため、上記の結合処理の結果に対して射影処理
を施すことは可能である。
【0004】
【発明が解決しようとする課題】上記したように従来の
データベース演算処理装置では、結合処理の結果は対象
テーブルのレコードへのポインタと条件テーブルのレコ
ードへのポインタとの対(RID対)の形式で、専用の
ハードウェア(エンジンコア)から出力されるようにな
っていたため、この結合処理の結果に対し、更に(射影
処理以外の)関係データベース演算をデータベース演算
処理装置(のエンジンコア)で行ないたい場合には、結
合処理の後に射影処理を必ず実行してレコード形式に展
開する必要があった。
データベース演算処理装置では、結合処理の結果は対象
テーブルのレコードへのポインタと条件テーブルのレコ
ードへのポインタとの対(RID対)の形式で、専用の
ハードウェア(エンジンコア)から出力されるようにな
っていたため、この結合処理の結果に対し、更に(射影
処理以外の)関係データベース演算をデータベース演算
処理装置(のエンジンコア)で行ないたい場合には、結
合処理の後に射影処理を必ず実行してレコード形式に展
開する必要があった。
【0005】しかし、結合処理の後に射影処理を実行す
るには、結合コマンドの次に射影コマンドをホスト装置
から発行しなければならず、ホスト装置に負担がかかる
という問題があった。
るには、結合コマンドの次に射影コマンドをホスト装置
から発行しなければならず、ホスト装置に負担がかかる
という問題があった。
【0006】また、射影が結合処理とは別コマンドとな
っているため、結合処理と射影処理との並行処理が行な
いにくく、高速処理が困難であった。更に、結合処理で
結果が多くなり2次記憶装置上の作業ファイルに出力せ
ざるを得なくなった場合には、射影コマンドの処理で
は、結合コマンドの処理で出力した作業ファイルの内容
を入力して射影処理を施し、その結果を再び作業ファイ
ルへ出力する操作を行なわなければならず、高速処理が
一層困難となる問題があった。
っているため、結合処理と射影処理との並行処理が行な
いにくく、高速処理が困難であった。更に、結合処理で
結果が多くなり2次記憶装置上の作業ファイルに出力せ
ざるを得なくなった場合には、射影コマンドの処理で
は、結合コマンドの処理で出力した作業ファイルの内容
を入力して射影処理を施し、その結果を再び作業ファイ
ルへ出力する操作を行なわなければならず、高速処理が
一層困難となる問題があった。
【0007】この発明は上記事情に鑑みてなされたもの
でその目的は、結合処理の実行時には、その処理結果で
あるポインタ対の示すレコード対に対して自動的に射影
処理を施すことにより、ホスト装置に負担をかけること
なく、結合処理結果に対して更にデータベース演算を続
けることができ、処理効率の向上が図れるデータベース
演算処理装置を提供することにある。
でその目的は、結合処理の実行時には、その処理結果で
あるポインタ対の示すレコード対に対して自動的に射影
処理を施すことにより、ホスト装置に負担をかけること
なく、結合処理結果に対して更にデータベース演算を続
けることができ、処理効率の向上が図れるデータベース
演算処理装置を提供することにある。
【0008】この発明の他の目的は、結合処理と、その
結合処理結果で示されるレコード対に対する射影処理と
が並行して行なえ、もって結合処理結果に対し速やかに
データベース演算が行なえるデータベース演算処理装置
を提供することにある。
結合処理結果で示されるレコード対に対する射影処理と
が並行して行なえ、もって結合処理結果に対し速やかに
データベース演算が行なえるデータベース演算処理装置
を提供することにある。
【0009】この発明の更に他の目的は、結合処理で結
果が多くなり2次記憶装置上の作業ファイルに出力せざ
るを得なくなった場合でも、効率的に処理できるデータ
ベース演算処理装置を提供することにある。
果が多くなり2次記憶装置上の作業ファイルに出力せざ
るを得なくなった場合でも、効率的に処理できるデータ
ベース演算処理装置を提供することにある。
【0010】
【課題を解決するための手段】この発明は、ホスト装置
から与えられるコマンドに応じて指定されたデータベー
ス演算処理を実行するデータベース演算処理装置におい
て、装置全体の制御を司る第1のプロセッサと、ホスト
装置との間のインタフェース制御及び2次記憶装置との
間の入出力制御を司る第2のプロセッサと、ソートを並
列に実行する並列ソーティング機構及び各種関係代数演
算を並列に実行する並列関係代数演算機構が付加され、
第1のプロセッサからの要求に応じてこれら両機構を制
御する第3のプロセッサであって、結合を指示する結合
コマンドの実行時には、結合処理の結果を対象テーブル
のレコードを指すポインタと条件テーブルのレコードを
指すポインタの対で出力する第3のプロセッサと、第3
のプロセッサから出力される結合処理の結果を一時記憶
するための第1の出力バッファ、及び同バッファに記憶
された結合処理の結果によって示されるレコード対に対
して射影を行なって得られた結果を一時記憶するための
第2の出力バッファが置かれる内部メモリとを備え、第
1のプロセッサは、ホスト装置から結合を指示するコマ
ンドが与えられた場合に、指定された対象テーブルと条
件テーブルについての結合処理を第3のプロセッサによ
り行なわせると共に、この第3のプロセッサによる結合
処理と並行して動作して、第1の出力バッファに記憶さ
れた結合処理の結果によって示されるレコード対に対し
て射影を行ない、その結果を第2の出力バッファに出力
する処理を第2のプロセッサにより行なわせることを特
徴とするものである。
から与えられるコマンドに応じて指定されたデータベー
ス演算処理を実行するデータベース演算処理装置におい
て、装置全体の制御を司る第1のプロセッサと、ホスト
装置との間のインタフェース制御及び2次記憶装置との
間の入出力制御を司る第2のプロセッサと、ソートを並
列に実行する並列ソーティング機構及び各種関係代数演
算を並列に実行する並列関係代数演算機構が付加され、
第1のプロセッサからの要求に応じてこれら両機構を制
御する第3のプロセッサであって、結合を指示する結合
コマンドの実行時には、結合処理の結果を対象テーブル
のレコードを指すポインタと条件テーブルのレコードを
指すポインタの対で出力する第3のプロセッサと、第3
のプロセッサから出力される結合処理の結果を一時記憶
するための第1の出力バッファ、及び同バッファに記憶
された結合処理の結果によって示されるレコード対に対
して射影を行なって得られた結果を一時記憶するための
第2の出力バッファが置かれる内部メモリとを備え、第
1のプロセッサは、ホスト装置から結合を指示するコマ
ンドが与えられた場合に、指定された対象テーブルと条
件テーブルについての結合処理を第3のプロセッサによ
り行なわせると共に、この第3のプロセッサによる結合
処理と並行して動作して、第1の出力バッファに記憶さ
れた結合処理の結果によって示されるレコード対に対し
て射影を行ない、その結果を第2の出力バッファに出力
する処理を第2のプロセッサにより行なわせることを特
徴とするものである。
【0011】また、この発明は、結合処理の結果が第1
の出力バッファに入りきらない場合に、第3のプロセッ
サは同バッファをサイクリックに使用して結合処理の結
果を記憶し、第1のプロセッサは第3のプロセッサと並
行して動作して、同バッファに記憶された結合処理の結
果によって示されるレコード対に対して射影を行ない、
その結果を2次記憶装置の作業ファイルに出力する処理
を第2のプロセッサにより行なわせることも特徴とす
る。
の出力バッファに入りきらない場合に、第3のプロセッ
サは同バッファをサイクリックに使用して結合処理の結
果を記憶し、第1のプロセッサは第3のプロセッサと並
行して動作して、同バッファに記憶された結合処理の結
果によって示されるレコード対に対して射影を行ない、
その結果を2次記憶装置の作業ファイルに出力する処理
を第2のプロセッサにより行なわせることも特徴とす
る。
【0012】
【作用】上記の構成では、ホスト装置から結合コマンド
が与えられた場合には、第3のプロセッサにより内部メ
モリ上の第1の出力バッファに書き込まれた結合処理結
果で示されるレコード対に対する射影処理が、第1のプ
ロセッサからの要求に応じて第2のプロセッサによって
ホスト装置とは無関係に自動的に行なわれ、その結果が
内部メモリ上の第2の出力バッファに出力される。この
ため、ホスト装置に負担をかけることなく、結合処理結
果に対して更にデータベース演算を続けることができ、
処理効率の向上が図れる。
が与えられた場合には、第3のプロセッサにより内部メ
モリ上の第1の出力バッファに書き込まれた結合処理結
果で示されるレコード対に対する射影処理が、第1のプ
ロセッサからの要求に応じて第2のプロセッサによって
ホスト装置とは無関係に自動的に行なわれ、その結果が
内部メモリ上の第2の出力バッファに出力される。この
ため、ホスト装置に負担をかけることなく、結合処理結
果に対して更にデータベース演算を続けることができ、
処理効率の向上が図れる。
【0013】また上記の構成では、第1のプロセッサか
らの要求に応じた第2のプロセッサによる射影処理が第
3プロセッサによる結合処理と並行して行なわれるた
め、結合処理結果に対し速やかにデータベース演算が行
なえる。
らの要求に応じた第2のプロセッサによる射影処理が第
3プロセッサによる結合処理と並行して行なわれるた
め、結合処理結果に対し速やかにデータベース演算が行
なえる。
【0014】更に上記の構成では、結合処理の結果が第
1の出力バッファに入りきらない場合には、同バッファ
がサイクリックに使用されると共に、同バッファに記憶
された結合処理の結果によって示されるレコード対に対
する射影処理が行なわれて、その結果が2次記憶装置の
作業ファイルに出力されるため、従来のように結合処理
の結果を作業ファイルから入力する必要がなくなり、高
速処理が可能となる。
1の出力バッファに入りきらない場合には、同バッファ
がサイクリックに使用されると共に、同バッファに記憶
された結合処理の結果によって示されるレコード対に対
する射影処理が行なわれて、その結果が2次記憶装置の
作業ファイルに出力されるため、従来のように結合処理
の結果を作業ファイルから入力する必要がなくなり、高
速処理が可能となる。
【0015】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。
明する。
【0016】図1にはこの発明の一実施例に係わるデー
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置などのディスク装置17とに
よって構成されている。ホストコンピュータ10は、C
PU11、主記憶装置12、第1及び第2のチャネル装
置14,15によって構成されており、これらCPU1
1、主記憶装置12及びチャネル装置14,15はシス
テムバス13を介して相互接続されている。
タ処理装置の全体のシステム構成が示されている。この
データ処理装置は、ホストコンピュータ10と、データ
ベース演算処理装置(データベースエンジン;DBE)
16と、磁気ディスク装置などのディスク装置17とに
よって構成されている。ホストコンピュータ10は、C
PU11、主記憶装置12、第1及び第2のチャネル装
置14,15によって構成されており、これらCPU1
1、主記憶装置12及びチャネル装置14,15はシス
テムバス13を介して相互接続されている。
【0017】ホストコンピュータ10とデータベース演
算処理装置(DBE)16はチャネル装置14によって
接続され、またホストコンピュータ10とディスク装置
17はチャネル装置15によって接続されている。さら
に、データベース演算処理装置(DBE)16とディス
ク装置17は専用のパス18を介して接続されている。
算処理装置(DBE)16はチャネル装置14によって
接続され、またホストコンピュータ10とディスク装置
17はチャネル装置15によって接続されている。さら
に、データベース演算処理装置(DBE)16とディス
ク装置17は専用のパス18を介して接続されている。
【0018】CPU11は、ホストコンピュータ10全
体の制御を司るものであり、データベース演算処理装置
(DBE)16に対してソート処理や関係代数演算等の
各種演算処理の実行を依頼する。主記憶装置12には、
データベース演算処理装置(DBE)16に対して演算
対象ファイルや演算内容を指示するためのコマンド群が
格納される。
体の制御を司るものであり、データベース演算処理装置
(DBE)16に対してソート処理や関係代数演算等の
各種演算処理の実行を依頼する。主記憶装置12には、
データベース演算処理装置(DBE)16に対して演算
対象ファイルや演算内容を指示するためのコマンド群が
格納される。
【0019】データベース演算処理装置(DBE)16
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力及び演算結果の出力のために、
パス18を介してディスク装置17を直接的にアクセス
する。
は、CPU11からのコマンドに基づいて演算対象ファ
イルのデータに対して演算処理を実行するものであり、
演算対象ファイルの入力及び演算結果の出力のために、
パス18を介してディスク装置17を直接的にアクセス
する。
【0020】このDBE(データベース演算処理装置)
16は、エンジンインターフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、大容量メモリ(EBDM)163、ハードウェア
(HW)ソータ制御プロセッサ(ECAM)164、並
列ソーティングモジュール(PSOM)165及び並列
関係代数演算モジュール(PRAM)166によって構
成されている。
16は、エンジンインターフェースプロセッサ(EI
P)161、エンジン制御プロセッサ(ECP)16
2、大容量メモリ(EBDM)163、ハードウェア
(HW)ソータ制御プロセッサ(ECAM)164、並
列ソーティングモジュール(PSOM)165及び並列
関係代数演算モジュール(PRAM)166によって構
成されている。
【0021】EIP(エンジンインターフェースプロセ
ッサ)161、ECP(エンジン制御プロセッサ)16
2及びECAM(ハードウェアソータ制御プロセッサ)
164の3台のプロセッサは、内部バス167によって
相互接続されており、EBDM(大容量メモリ)163
を共有メモリとする密結合のマルチプロセッサを構成し
ている。EBDM163は、3台の各プロセッサの共通
のアドレス空間上に配置されている。また、これら3台
のプロセッサ、つまりEIP161、ECP162及び
ECAM164には機能分散がなされている。この場
合、それぞれの固有の役割を効率良く実行するために、
これら各プロセッサは、密結合ながらそれぞれに適した
独立のモニタによって動作制御されるように構成されて
いる。EIP161、ECP162及びECAM164
の機能分散は、次のようになされている。
ッサ)161、ECP(エンジン制御プロセッサ)16
2及びECAM(ハードウェアソータ制御プロセッサ)
164の3台のプロセッサは、内部バス167によって
相互接続されており、EBDM(大容量メモリ)163
を共有メモリとする密結合のマルチプロセッサを構成し
ている。EBDM163は、3台の各プロセッサの共通
のアドレス空間上に配置されている。また、これら3台
のプロセッサ、つまりEIP161、ECP162及び
ECAM164には機能分散がなされている。この場
合、それぞれの固有の役割を効率良く実行するために、
これら各プロセッサは、密結合ながらそれぞれに適した
独立のモニタによって動作制御されるように構成されて
いる。EIP161、ECP162及びECAM164
の機能分散は、次のようになされている。
【0022】すなわち、EIP(エンジン制御プロセッ
サ)161は、ホストコンピュータ10とDBE16間
の通信を行なうと共に、ディスク装置17のディスクコ
ントローラにもパス18を介して接続されており、ディ
スク装置17とのデータ入出力を制御する。また、EI
P161は、ディスク装置17にデータを出力する際、
出力ファイルの再構成処理も行なう。
サ)161は、ホストコンピュータ10とDBE16間
の通信を行なうと共に、ディスク装置17のディスクコ
ントローラにもパス18を介して接続されており、ディ
スク装置17とのデータ入出力を制御する。また、EI
P161は、ディスク装置17にデータを出力する際、
出力ファイルの再構成処理も行なう。
【0023】ホストコンピュータ10との間の通信にお
いては、EIP161は、第1のチャネル装置14を介
してCPU11から送られてくるコマンドを受信し、そ
れをECP162に送信する。また、EIP161は、
ECP162から送られてくるコマンド結果としてのス
テータスを受信し、それを第1のチャネル装置14を介
してCPU11に返信する。
いては、EIP161は、第1のチャネル装置14を介
してCPU11から送られてくるコマンドを受信し、そ
れをECP162に送信する。また、EIP161は、
ECP162から送られてくるコマンド結果としてのス
テータスを受信し、それを第1のチャネル装置14を介
してCPU11に返信する。
【0024】ディスク装置17との間のデータ入出力処
理においては、EIP161は、ECP162からの入
出力要求を受け付け、直接EBDM163とディスク装
置17との間でデータ転送を行なう。ECP162は、
EIP161、EBDM163及びECAM164を内
部バス167を介して制御し、データ処理を行なう。
理においては、EIP161は、ECP162からの入
出力要求を受け付け、直接EBDM163とディスク装
置17との間でデータ転送を行なう。ECP162は、
EIP161、EBDM163及びECAM164を内
部バス167を介して制御し、データ処理を行なう。
【0025】EBDM(大容量メモリ)163は、ディ
スク装置17から読み出された演算対象のファイルデー
タ(テーブルデータ)、ECAM164、PSOM16
5及びPRAM166によるソート処理結果、関係代数
演算結果等を格納する共有メモリである。このEBDM
163に格納されるソート処理結果、関係代数演算結果
等(の出力結果)は、基本的には、EBDM163上に
おける入力レコードの先頭アドレスを示すポインタ(レ
コード識別番号RID)によって表わされる。これは、
出力結果を格納するのに必要なメモリ容量を少なくする
ためである。ECAM(ハードウェアソータ制御プロセ
ッサ)164は、ECP162からの指令に基づいて、
PSOM165及びPRAM166による演算を制御す
る。
スク装置17から読み出された演算対象のファイルデー
タ(テーブルデータ)、ECAM164、PSOM16
5及びPRAM166によるソート処理結果、関係代数
演算結果等を格納する共有メモリである。このEBDM
163に格納されるソート処理結果、関係代数演算結果
等(の出力結果)は、基本的には、EBDM163上に
おける入力レコードの先頭アドレスを示すポインタ(レ
コード識別番号RID)によって表わされる。これは、
出力結果を格納するのに必要なメモリ容量を少なくする
ためである。ECAM(ハードウェアソータ制御プロセ
ッサ)164は、ECP162からの指令に基づいて、
PSOM165及びPRAM166による演算を制御す
る。
【0026】この場合、ECAM164は、EBDM1
63上のデータをPSOM165に入力し、PRAM1
66から出力された演算結果をEBDM163上に格納
するが、PSOM165へのデータ入力に際しては、キ
ー切り出し処理を実行する。このキー切り出し処理にお
いては、ECAM164は、演算対象の各レコードから
演算に必要なキーのみを切り出し、それにレコード識別
番号RID(EBDM163上におけるレコードの先頭
アドレスを示すポインタ)を付加してPSOM165へ
送出する。
63上のデータをPSOM165に入力し、PRAM1
66から出力された演算結果をEBDM163上に格納
するが、PSOM165へのデータ入力に際しては、キ
ー切り出し処理を実行する。このキー切り出し処理にお
いては、ECAM164は、演算対象の各レコードから
演算に必要なキーのみを切り出し、それにレコード識別
番号RID(EBDM163上におけるレコードの先頭
アドレスを示すポインタ)を付加してPSOM165へ
送出する。
【0027】PSOM(並列ソーティングモジュール)
165は、ECAM164によって駆動され、ソートを
並列に実行する専用のハードウェア回路であり、PRA
M166に接続されている。このPSOM165は、パ
イプラインマージソータと称されるものであり、2−ウ
ェイマージを行なう複数のソートセルをカスケード接続
してなる。
165は、ECAM164によって駆動され、ソートを
並列に実行する専用のハードウェア回路であり、PRA
M166に接続されている。このPSOM165は、パ
イプラインマージソータと称されるものであり、2−ウ
ェイマージを行なう複数のソートセルをカスケード接続
してなる。
【0028】PRAM(並列関係代数演算モジュール)
166は、関係型データベースにおけるJOIN(結合)や
RESTRICT(制約、準結合)といった関係代数演算を並列
に実行する専用のハードウェア回路であり、PSOM1
65からソートされたデータを入力し、演算結果をEC
AM164に出力する。ソート処理だけを実行する場合
には、PRAM166は最終段のソートセルとして機能
する。
166は、関係型データベースにおけるJOIN(結合)や
RESTRICT(制約、準結合)といった関係代数演算を並列
に実行する専用のハードウェア回路であり、PSOM1
65からソートされたデータを入力し、演算結果をEC
AM164に出力する。ソート処理だけを実行する場合
には、PRAM166は最終段のソートセルとして機能
する。
【0029】図2はホストコンピュータ10(のCPU
11)からDBE(データベース演算処理装置)16に
与えられるコマンドの形式を示す。図に示すように、本
実施例で適用されるコマンドは、コマンドコードとDB
E16での処理に必要な諸情報からなる。
11)からDBE(データベース演算処理装置)16に
与えられるコマンドの形式を示す。図に示すように、本
実施例で適用されるコマンドは、コマンドコードとDB
E16での処理に必要な諸情報からなる。
【0030】本実施例では、図2の形式のコマンドとし
て、ディスク装置17からEBDM163へのテーブル
の読み込みを指示するREADコマンド、EBDM163上
のデータを指定された形式でディスク装置17またはE
BDM163に出力することを指示するPROJECTION(射
影)コマンド、及びRESTRICTコマンドが用意されてい
る。このRESTRICTコマンドは、異なるテーブルのカラム
を条件として制約(準結合)を行なうこと、即ち対象テ
ーブルと条件テーブルの複数カラムの比較を行ない該当
する対象テーブル中のレコードを選択することを指示す
るコマンドである。
て、ディスク装置17からEBDM163へのテーブル
の読み込みを指示するREADコマンド、EBDM163上
のデータを指定された形式でディスク装置17またはE
BDM163に出力することを指示するPROJECTION(射
影)コマンド、及びRESTRICTコマンドが用意されてい
る。このRESTRICTコマンドは、異なるテーブルのカラム
を条件として制約(準結合)を行なうこと、即ち対象テ
ーブルと条件テーブルの複数カラムの比較を行ない該当
する対象テーブル中のレコードを選択することを指示す
るコマンドである。
【0031】また図2に示す形式のコマンドとして、同
一テーブルのカラムまたは定数による選択を行なうこと
を指示するSELECTコマンド、対象テーブルと条件テーブ
ルそれぞれに対して与えられたカラムに対する条件によ
るレコードの選択を行なった後対象テーブルの選択され
たレコード群と条件テーブルの選択されたレコード群の
複数カラムの比較を行ない該当する対象テーブル中のレ
コードを選択することを指示するSELSELJOINコマンド
(指定されたキーカラムによる結合を行なうJOINコマン
ドの一種)、及びディスク装置17上のワークファイル
を指定するWORKFILEコマンドも用意されている。
一テーブルのカラムまたは定数による選択を行なうこと
を指示するSELECTコマンド、対象テーブルと条件テーブ
ルそれぞれに対して与えられたカラムに対する条件によ
るレコードの選択を行なった後対象テーブルの選択され
たレコード群と条件テーブルの選択されたレコード群の
複数カラムの比較を行ない該当する対象テーブル中のレ
コードを選択することを指示するSELSELJOINコマンド
(指定されたキーカラムによる結合を行なうJOINコマン
ドの一種)、及びディスク装置17上のワークファイル
を指定するWORKFILEコマンドも用意されている。
【0032】なお、図2に示すコマンド形式の諸情報
は、例えばRESTRICTコマンドであれば、選択の対象とな
るテーブルと、条件となるテーブルと、対象テーブルの
カラムと、条件テーブルのカラムと、比較演算子等であ
る。また、SELSELJOINコマンドであれば、結合の対象と
するテーブルと、条件となるテーブルと、対象テーブル
に対する選択条件、条件テーブルに対する選択条件、対
象テーブルのカラム、条件テーブルのカラム、結合のた
めの演算子等である。
は、例えばRESTRICTコマンドであれば、選択の対象とな
るテーブルと、条件となるテーブルと、対象テーブルの
カラムと、条件テーブルのカラムと、比較演算子等であ
る。また、SELSELJOINコマンドであれば、結合の対象と
するテーブルと、条件となるテーブルと、対象テーブル
に対する選択条件、条件テーブルに対する選択条件、対
象テーブルのカラム、条件テーブルのカラム、結合のた
めの演算子等である。
【0033】図3は条件テーブル24a及び対象テーブ
ル24bの構造を示す。条件テーブル24aはコマンド
の処理対象となるもので、EBDM163に置かれる。
また、対象テーブル24bもコマンドの処理対象となる
もので、EBDM163に置かれる。
ル24bの構造を示す。条件テーブル24aはコマンド
の処理対象となるもので、EBDM163に置かれる。
また、対象テーブル24bもコマンドの処理対象となる
もので、EBDM163に置かれる。
【0034】図4はEBDM163上に確保される出力
バッファ26a,26bの構造を示す。出力バッファ2
6aは、ECAM164の処理結果を保持するためにE
BDM163に確保される。出力バッファ26aは、単
位バッファ(出力単位バッファ)に分割して使用され
る。出力バッファ26aに格納されるECAM164の
処理結果は、レコードのアドレスであるレコード識別番
号RID(の対)で表わされる。一方、出力バッファ2
6bは、出力バッファ26a内のRIDの対に対し射影
(PROJECTION)を行なって得られたデータを保持するた
めにEBDM163に確保される。
バッファ26a,26bの構造を示す。出力バッファ2
6aは、ECAM164の処理結果を保持するためにE
BDM163に確保される。出力バッファ26aは、単
位バッファ(出力単位バッファ)に分割して使用され
る。出力バッファ26aに格納されるECAM164の
処理結果は、レコードのアドレスであるレコード識別番
号RID(の対)で表わされる。一方、出力バッファ2
6bは、出力バッファ26a内のRIDの対に対し射影
(PROJECTION)を行なって得られたデータを保持するた
めにEBDM163に確保される。
【0035】図5は図1のECP(エンジン制御プロセ
ッサ)162の機能構成を、同ECP162にて生成さ
れる各種タスク(以下、スレッドと称する)の相互関係
によって示すものである。
ッサ)162の機能構成を、同ECP162にて生成さ
れる各種タスク(以下、スレッドと称する)の相互関係
によって示すものである。
【0036】同図において、符号30はホストコンピュ
ータ10から与えられるSELSELJOINコマンドに応じてE
CP162において生成されるコマンド処理スレッドで
ある。コマンド処理スレッド30は、DBE16内のハ
ードウェア資源の利用状況から処理方法を決定し、EC
AM処理依頼スレッド32及び出力処理スレッド33a
を生成し、更に必要な場合には出力処理スレッド33b
を生成し、上記各スレッド32,33a,33bから処
理結果を受信する。
ータ10から与えられるSELSELJOINコマンドに応じてE
CP162において生成されるコマンド処理スレッドで
ある。コマンド処理スレッド30は、DBE16内のハ
ードウェア資源の利用状況から処理方法を決定し、EC
AM処理依頼スレッド32及び出力処理スレッド33a
を生成し、更に必要な場合には出力処理スレッド33b
を生成し、上記各スレッド32,33a,33bから処
理結果を受信する。
【0037】符号32はECAM処理依頼スレッドであ
る。ECAM処理依頼スレッド32は、図3に示す条件
テーブル24aと対象テーブル24bのSELSELJOIN処理
をECAM164に依頼し、結果を出力バッファ26a
に受け取り、出力バッファ26aに結果が入りきれなく
なった場合にコマンド処理スレッド30に出力バッファ
不足のメッセージを送信し、全ての処理が終了後その処
理結果をコマンド処理スレッド30に送信する。
る。ECAM処理依頼スレッド32は、図3に示す条件
テーブル24aと対象テーブル24bのSELSELJOIN処理
をECAM164に依頼し、結果を出力バッファ26a
に受け取り、出力バッファ26aに結果が入りきれなく
なった場合にコマンド処理スレッド30に出力バッファ
不足のメッセージを送信し、全ての処理が終了後その処
理結果をコマンド処理スレッド30に送信する。
【0038】符号33aは出力処理スレッドである。出
力処理スレッド33aは、ECAM164が処理した出
力バッファ26a内のデータをEIP161を用いてE
BDM163上の出力バッファ26bに所定の形式で出
力し、処理結果をコマンド処理スレッド30に送信す
る。
力処理スレッド33aは、ECAM164が処理した出
力バッファ26a内のデータをEIP161を用いてE
BDM163上の出力バッファ26bに所定の形式で出
力し、処理結果をコマンド処理スレッド30に送信す
る。
【0039】符号33bも出力処理スレッドである。出
力処理スレッド33bは、ECAM164が処理した結
果が出力バッファ26a内に入りきれなくなった場合の
み起動され、処理結果データをEIP161を用いてデ
ィスク装置17上の作業ファイルに所定の形式で出力
し、処理結果をコマンド処理スレッド30に送信する。
力処理スレッド33bは、ECAM164が処理した結
果が出力バッファ26a内に入りきれなくなった場合の
み起動され、処理結果データをEIP161を用いてデ
ィスク装置17上の作業ファイルに所定の形式で出力
し、処理結果をコマンド処理スレッド30に送信する。
【0040】次に、図1のデータ処理装置におけるDB
E(データベース演算処理装置)16の動作を、SELSEL
JOINコマンドを実行する場合を例に、図6乃至図9のフ
ローチャートを適宜参照して説明する。なお、図6はE
CP162におけるコマンド処理スレッド30の処理手
順を示すフローチャート、図7はECP162における
ECAM処理依頼スレッド32の処理手順を示すフロー
チャートである。また、図8はECP162における出
力処理スレッド33aの処理手順を示すフローチャー
ト、図9はECP162における出力処理スレッド33
bの処理手順を示すフローチャートである。
E(データベース演算処理装置)16の動作を、SELSEL
JOINコマンドを実行する場合を例に、図6乃至図9のフ
ローチャートを適宜参照して説明する。なお、図6はE
CP162におけるコマンド処理スレッド30の処理手
順を示すフローチャート、図7はECP162における
ECAM処理依頼スレッド32の処理手順を示すフロー
チャートである。また、図8はECP162における出
力処理スレッド33aの処理手順を示すフローチャー
ト、図9はECP162における出力処理スレッド33
bの処理手順を示すフローチャートである。
【0041】まず、ホストコンピュータ10(のCPU
11)からDBE16にシステムバス13、第1のチャ
ネル装置14を介して図2に示す形式のSELSELJOINコマ
ンドが送られたものとする。このコマンドはEIP16
1によって受信され、ECP162に渡される。この結
果、SELSELJOINコマンドを処理するコマンド処理スレッ
ド30がECP162によって生成される。
11)からDBE16にシステムバス13、第1のチャ
ネル装置14を介して図2に示す形式のSELSELJOINコマ
ンドが送られたものとする。このコマンドはEIP16
1によって受信され、ECP162に渡される。この結
果、SELSELJOINコマンドを処理するコマンド処理スレッ
ド30がECP162によって生成される。
【0042】コマンド処理スレッド30(に従って動作
するECP162)は、図2に示す形式のSELSELJOINコ
マンド中のコマンド処理のための諸情報をもとに、図6
のフローチャートに従ってコマンドの処理を行なう。
するECP162)は、図2に示す形式のSELSELJOINコ
マンド中のコマンド処理のための諸情報をもとに、図6
のフローチャートに従ってコマンドの処理を行なう。
【0043】即ちコマンド処理スレッド30は、まず当
該コマンド(SELSELJOINコマンド)とDBE16の使用
状況をもとに処理の決定を行なう(図6ステップS
1)。コマンド処理スレッド30は、このステップS1
において、当該コマンドを解析し、出力バッファ26a
の獲得、出力バッファ26bの獲得等も行なう。
該コマンド(SELSELJOINコマンド)とDBE16の使用
状況をもとに処理の決定を行なう(図6ステップS
1)。コマンド処理スレッド30は、このステップS1
において、当該コマンドを解析し、出力バッファ26a
の獲得、出力バッファ26bの獲得等も行なう。
【0044】次にコマンド処理スレッド30は、、EC
AM164に処理依頼をするスレッド(ECAM処理依
頼スレッド)32と、EBDM163(上の出力バッフ
ァ26aから出力バッファ26b)への出力を行なう出
力処理スレッド33aとを生成する(図6ステップS
2,S3)。
AM164に処理依頼をするスレッド(ECAM処理依
頼スレッド)32と、EBDM163(上の出力バッフ
ァ26aから出力バッファ26b)への出力を行なう出
力処理スレッド33aとを生成する(図6ステップS
2,S3)。
【0045】コマンド処理スレッド30はスレッド3
2,33aを生成すると、ECAM処理依頼スレッド3
2からのメッセージ送信を待ち、メッセージが送信され
るとこれを受信する(図6ステップS4)。そしてコマ
ンド処理スレッド30は、受信メッセージが出力バッフ
ァ不足を示すメッセージであるか否かを調べる(図6ス
テップS5)。
2,33aを生成すると、ECAM処理依頼スレッド3
2からのメッセージ送信を待ち、メッセージが送信され
るとこれを受信する(図6ステップS4)。そしてコマ
ンド処理スレッド30は、受信メッセージが出力バッフ
ァ不足を示すメッセージであるか否かを調べる(図6ス
テップS5)。
【0046】もし、ECAM処理依頼スレッド32から
のメッセージが処理終了メッセージである場合には、コ
マンド処理スレッド30は、出力処理スレッド33aか
らの処理終了メッセージを待って受信し、処理を終わ
る。
のメッセージが処理終了メッセージである場合には、コ
マンド処理スレッド30は、出力処理スレッド33aか
らの処理終了メッセージを待って受信し、処理を終わ
る。
【0047】これに対し、ECAM処理依頼スレッド3
2からのメッセージが、出力バッファ26aの容量不足
を示す出力バッファ不足メッセージである場合には、コ
マンド処理スレッド30は、作業ファイルへの出力を行
なう出力処理スレッド33bを生成する一方、出力処理
スレッド33aに対して処理中止を要求するメッセージ
(処理中止メッセージ)を送信する(図6ステップ7,
S8)。そしてコマンド処理スレッド30は、ECAM
処理依頼スレッド32及び出力処理スレッド33bから
の処理終了メッセージを待って受信して処理を終了する
(図6ステップS9)。
2からのメッセージが、出力バッファ26aの容量不足
を示す出力バッファ不足メッセージである場合には、コ
マンド処理スレッド30は、作業ファイルへの出力を行
なう出力処理スレッド33bを生成する一方、出力処理
スレッド33aに対して処理中止を要求するメッセージ
(処理中止メッセージ)を送信する(図6ステップ7,
S8)。そしてコマンド処理スレッド30は、ECAM
処理依頼スレッド32及び出力処理スレッド33bから
の処理終了メッセージを待って受信して処理を終了する
(図6ステップS9)。
【0048】一方、コマンド処理スレッド30によって
生成されたECAM処理依頼スレッド32(に従って動
作するECP162)は、EBDM163上に置かれて
いる条件テーブル24aと対象テーブル24bのSELSEL
JOIN処理をECAM164に依頼する(図7ステップS
11)。
生成されたECAM処理依頼スレッド32(に従って動
作するECP162)は、EBDM163上に置かれて
いる条件テーブル24aと対象テーブル24bのSELSEL
JOIN処理をECAM164に依頼する(図7ステップS
11)。
【0049】このECAM処理依頼スレッド32からの
依頼により、ECAM164では、まず条件テーブル2
4aのデータを(PSOM165及びPRAM166で
一括処理が可能なだけのデータ量だけ)順次ECAM1
64にロードする動作が行なわれる。このロード動作で
は、ECAM164が持つPSOM165により条件キ
ーがソートされ、PRAM166のバッファ(図示せ
ず)に格納される。また、PSOM165でのソートに
先立ち、ECAM164においてカラムまたは定数によ
る選択が行なわれる。
依頼により、ECAM164では、まず条件テーブル2
4aのデータを(PSOM165及びPRAM166で
一括処理が可能なだけのデータ量だけ)順次ECAM1
64にロードする動作が行なわれる。このロード動作で
は、ECAM164が持つPSOM165により条件キ
ーがソートされ、PRAM166のバッファ(図示せ
ず)に格納される。また、PSOM165でのソートに
先立ち、ECAM164においてカラムまたは定数によ
る選択が行なわれる。
【0050】次にECAM164は、対象テーブル24
bを入力してカラムまたは定数による選択を行なった後
にPSOM165でソートさせ、このソートされた対象
キーを、既にPRAM166のバッファに格納済みの条
件キーと結合する処理を行なわせる。そしてECAM1
64は、この結合処理の結果を、該当するレコードのレ
コード識別番号RID(アドレス)の対としてEBDM
163上の出力バッファ26aに順に書き込む。
bを入力してカラムまたは定数による選択を行なった後
にPSOM165でソートさせ、このソートされた対象
キーを、既にPRAM166のバッファに格納済みの条
件キーと結合する処理を行なわせる。そしてECAM1
64は、この結合処理の結果を、該当するレコードのレ
コード識別番号RID(アドレス)の対としてEBDM
163上の出力バッファ26aに順に書き込む。
【0051】本実施例では、出力バッファ26aには、
対象テーブル24bのレコード件数と条件テーブル24
aのレコード件数のうちの最大件数が出力可能な分のE
BDM163上の領域が割り当てられる。もし、出力バ
ッファ26aの領域を使い果たし、新たな結合処理の結
果を出力バッファ26aに書き込むことができなかった
場合には、ECAM164は、出力バッファ26aの先
頭の単位バッファから順に、その単位バッファが空にな
るのを確認しながら再利用する。即ちECAM164
は、出力バッファ26aを単位バッファ単位でサイクリ
ックに使用する。また、上記のように出力バッファ26
aのメモリ領域を使い果たした場合、即ち出力バッファ
26aの領域が不足した場合には、ECAM処理依頼ス
レッド32からコマンド処理スレッド30に対して出力
バッファ不足を通知するメッセージが送られる(図7ス
テップS12,S13)。
対象テーブル24bのレコード件数と条件テーブル24
aのレコード件数のうちの最大件数が出力可能な分のE
BDM163上の領域が割り当てられる。もし、出力バ
ッファ26aの領域を使い果たし、新たな結合処理の結
果を出力バッファ26aに書き込むことができなかった
場合には、ECAM164は、出力バッファ26aの先
頭の単位バッファから順に、その単位バッファが空にな
るのを確認しながら再利用する。即ちECAM164
は、出力バッファ26aを単位バッファ単位でサイクリ
ックに使用する。また、上記のように出力バッファ26
aのメモリ領域を使い果たした場合、即ち出力バッファ
26aの領域が不足した場合には、ECAM処理依頼ス
レッド32からコマンド処理スレッド30に対して出力
バッファ不足を通知するメッセージが送られる(図7ス
テップS12,S13)。
【0052】ECAM処理依頼スレッド32は、上記し
た処理を、処理対象がなくなるまで続け、処理対象がな
くなると、コマンド処理スレッド30に処理終了メッセ
ージを送信して処理を終了する(図7ステップS14,
S15)。
た処理を、処理対象がなくなるまで続け、処理対象がな
くなると、コマンド処理スレッド30に処理終了メッセ
ージを送信して処理を終了する(図7ステップS14,
S15)。
【0053】次に、コマンド処理スレッド30によって
生成された出力処理スレッド33aの動作を説明する。
出力処理スレッド33a(に従って動作するECP16
2)は、ECAM処理依頼スレッド32、ECAM16
4と並行して動作し、まず出力バッファ26bへの出力
(書き込み)対象となるデータが出力バッファ26aに
存在するか否かを単位バッファ単位で調べる(図8ステ
ップS21)。
生成された出力処理スレッド33aの動作を説明する。
出力処理スレッド33a(に従って動作するECP16
2)は、ECAM処理依頼スレッド32、ECAM16
4と並行して動作し、まず出力バッファ26bへの出力
(書き込み)対象となるデータが出力バッファ26aに
存在するか否かを単位バッファ単位で調べる(図8ステ
ップS21)。
【0054】もし、出力対象データが存在するならば、
出力処理スレッド33aは、同データ、即ち結合処理の
結果であるレコードのレコード識別番号RID(アドレ
ス)の対(該当単位バッファ内の各RIDの対)につい
て、同RIDの対(アドレス対)で指定される、EBD
M163上の条件テーブル24a,対象テーブル24b
におけるレコードの対を取り出して、そのレコード対
(が結合されたデータ)を出力バッファ26bに出力す
る処理をEIP161により行なわせる(図8ステップ
S22)。但し、当該SELSELJOINコマンドの演算子がEQ
UAL の場合には、条件側と対象側に同一のカラムが存在
するため、例えば条件側レコードから該当するカラムを
削除する操作がEIP161により行なわれる。
出力処理スレッド33aは、同データ、即ち結合処理の
結果であるレコードのレコード識別番号RID(アドレ
ス)の対(該当単位バッファ内の各RIDの対)につい
て、同RIDの対(アドレス対)で指定される、EBD
M163上の条件テーブル24a,対象テーブル24b
におけるレコードの対を取り出して、そのレコード対
(が結合されたデータ)を出力バッファ26bに出力す
る処理をEIP161により行なわせる(図8ステップ
S22)。但し、当該SELSELJOINコマンドの演算子がEQ
UAL の場合には、条件側と対象側に同一のカラムが存在
するため、例えば条件側レコードから該当するカラムを
削除する操作がEIP161により行なわれる。
【0055】ここで、出力バッファ26aの領域が不足
となってコマンド処理スレッド30から処理中止を要求
するメッセージ(処理中止メッセージ)が送られている
場合は、出力処理スレッド33aは処理を中止する(図
8ステップS23,S24)。これに対し、処理中止メ
ッセージが送られていないならば、出力処理スレッド3
3aは以上の処理を、出力対象がなくなるまで続け、出
力対象がなくなると、コマンド処理スレッド30に処理
終了メッセージを送信して処理を終了する(図8ステッ
プS21,S25)。
となってコマンド処理スレッド30から処理中止を要求
するメッセージ(処理中止メッセージ)が送られている
場合は、出力処理スレッド33aは処理を中止する(図
8ステップS23,S24)。これに対し、処理中止メ
ッセージが送られていないならば、出力処理スレッド3
3aは以上の処理を、出力対象がなくなるまで続け、出
力対象がなくなると、コマンド処理スレッド30に処理
終了メッセージを送信して処理を終了する(図8ステッ
プS21,S25)。
【0056】次に、出力処理スレッド33bの動作を説
明する。この出力処理スレッド33bは前記したよう
に、出力バッファ26aの領域が不足となって、ECA
M処理依頼スレッド32からコマンド処理スレッド30
に出力バッファ不足メッセージが送られた場合に限り、
同スレッド30によって生成(起動)されるものであ
る。
明する。この出力処理スレッド33bは前記したよう
に、出力バッファ26aの領域が不足となって、ECA
M処理依頼スレッド32からコマンド処理スレッド30
に出力バッファ不足メッセージが送られた場合に限り、
同スレッド30によって生成(起動)されるものであ
る。
【0057】出力処理スレッド33b(に従って動作す
るECP162)は、まずディスク装置17の作業ファ
イルへの出力(書き込み)対象となるデータが出力バッ
ファ26aに存在するか否かを単位バッファ単位で調べ
る(図9ステップS31)。もし、出力対象データが存
在するならば、出力処理スレッド33bは、同データ、
即ち結合処理の結果であるレコードのレコード識別番号
RID(アドレス)の対(該当単位バッファ内の各RI
Dの対)について、同RIDの対(アドレス対)で指定
される、EBDM163上の条件テーブル24a,対象
テーブル24bにおけるレコードの対を取り出して、そ
のレコード対(が結合されたデータ)をディスク装置1
7上の作業ファイルに出力する処理をEIP161によ
り行なわせる(図9ステップS32)。但し、SELSELJO
INコマンドの演算子がEQUAL の場合には、条件側と対象
側に同一のカラムが存在するため、例えば条件側レコー
ドから該当するカラムを削除する操作がEIP161に
より行なわれる。
るECP162)は、まずディスク装置17の作業ファ
イルへの出力(書き込み)対象となるデータが出力バッ
ファ26aに存在するか否かを単位バッファ単位で調べ
る(図9ステップS31)。もし、出力対象データが存
在するならば、出力処理スレッド33bは、同データ、
即ち結合処理の結果であるレコードのレコード識別番号
RID(アドレス)の対(該当単位バッファ内の各RI
Dの対)について、同RIDの対(アドレス対)で指定
される、EBDM163上の条件テーブル24a,対象
テーブル24bにおけるレコードの対を取り出して、そ
のレコード対(が結合されたデータ)をディスク装置1
7上の作業ファイルに出力する処理をEIP161によ
り行なわせる(図9ステップS32)。但し、SELSELJO
INコマンドの演算子がEQUAL の場合には、条件側と対象
側に同一のカラムが存在するため、例えば条件側レコー
ドから該当するカラムを削除する操作がEIP161に
より行なわれる。
【0058】出力処理スレッド33bは以上の処理を、
出力対象がなくなるまで続け、出力対象がなくなると、
コマンド処理スレッド30に処理終了メッセージを送信
して処理を終了する(図9ステップS31,S33)。
出力対象がなくなるまで続け、出力対象がなくなると、
コマンド処理スレッド30に処理終了メッセージを送信
して処理を終了する(図9ステップS31,S33)。
【0059】このように、結合処理の結果が出力バッフ
ァ26aに入りきれなくなると、出力処理スレッド33
aの処理が中止されると共に、出力処理スレッド33b
が起動され、出力バッファ26aからディスク装置17
上の作業ファイルへの出力が射影処理を施しながら行な
われて、処理が継続される。
ァ26aに入りきれなくなると、出力処理スレッド33
aの処理が中止されると共に、出力処理スレッド33b
が起動され、出力バッファ26aからディスク装置17
上の作業ファイルへの出力が射影処理を施しながら行な
われて、処理が継続される。
【0060】なお、前記実施例では、SELSELJOINコマン
ドの実行時には、同コマンドの処理結果で示されるレコ
ード対に対する射影処理が必ず行なわれるものとして説
明したが、射影処理を必要とするか否かを示す情報をSE
LSELJOINコマンドに付加し、同情報に応じて射影処理を
行なうようにすることも可能である。
ドの実行時には、同コマンドの処理結果で示されるレコ
ード対に対する射影処理が必ず行なわれるものとして説
明したが、射影処理を必要とするか否かを示す情報をSE
LSELJOINコマンドに付加し、同情報に応じて射影処理を
行なうようにすることも可能である。
【0061】
【発明の効果】以上詳述したようにこの発明によれば、
ホスト装置から結合コマンドが与えられた場合に、内部
メモリ上の第1の出力バッファに書き込まれた結合処理
結果で示されるレコード対に対する射影処理が、データ
ベース演算処理装置内でホスト装置とは無関係に自動的
に行なわれてその結果が内部メモリ上の第2の出力バッ
ファに出力される構成としたので、ホスト装置に負担を
かけることなく、結合処理結果に対して更にデータベー
ス演算を続けることができるようになり、処理効率の向
上が図れる。
ホスト装置から結合コマンドが与えられた場合に、内部
メモリ上の第1の出力バッファに書き込まれた結合処理
結果で示されるレコード対に対する射影処理が、データ
ベース演算処理装置内でホスト装置とは無関係に自動的
に行なわれてその結果が内部メモリ上の第2の出力バッ
ファに出力される構成としたので、ホスト装置に負担を
かけることなく、結合処理結果に対して更にデータベー
ス演算を続けることができるようになり、処理効率の向
上が図れる。
【0062】また、この発明によれば、ホスト装置から
結合コマンドが与えられた場合に、データベース演算処
理装置内での上記の自動射影処理(暗黙の射影処理)が
結合処理と並行して行なわれる構成としたので、結合処
理を開始してから射影処理を開始するまでの時間が一層
短縮でき、結合処理結果に対し速やかにデータベース演
算が行なえる。
結合コマンドが与えられた場合に、データベース演算処
理装置内での上記の自動射影処理(暗黙の射影処理)が
結合処理と並行して行なわれる構成としたので、結合処
理を開始してから射影処理を開始するまでの時間が一層
短縮でき、結合処理結果に対し速やかにデータベース演
算が行なえる。
【0063】更に、この発明によれば、結合処理の結果
が第1の出力バッファに入りきらない場合には、同バッ
ファがサイクリックに使用されると共に、上記の射影処
理が並行して行なわれて、その結果が2次記憶装置の作
業ファイルに出力される構成としたので、従来のように
結合処理の結果を作業ファイルから入力する必要がなく
なり、より一層の高速処理が可能となる。
が第1の出力バッファに入りきらない場合には、同バッ
ファがサイクリックに使用されると共に、上記の射影処
理が並行して行なわれて、その結果が2次記憶装置の作
業ファイルに出力される構成としたので、従来のように
結合処理の結果を作業ファイルから入力する必要がなく
なり、より一層の高速処理が可能となる。
【図1】この発明の一実施例に係るデータ処理装置のシ
ステム構成を示すブロック図。
ステム構成を示すブロック図。
【図2】図1のホストコンピュータ10からデータベー
ス演算処理装置(DBE)16に与えられるコマンドの
形式を示す図。
ス演算処理装置(DBE)16に与えられるコマンドの
形式を示す図。
【図3】条件テーブル及び対象テーブルの構造を示す
図。
図。
【図4】図1の大容量メモリ(EBDM)163に確保
される出力バッファ26a,26bの構造を示す図。
される出力バッファ26a,26bの構造を示す図。
【図5】図1のエンジン制御プロセッサ(ECP)16
2の機能構成を、同プロセッサ162にて生成される各
種スレッドの相互関係によって示す図。
2の機能構成を、同プロセッサ162にて生成される各
種スレッドの相互関係によって示す図。
【図6】図5のコマンド処理スレッド30の処理手順を
示すフローチャート。
示すフローチャート。
【図7】図5のECAM処理依頼スレッド32の処理手
順を示すフローチャート。
順を示すフローチャート。
【図8】図5の出力処理スレッド33aの処理手順を示
すフローチャート。
すフローチャート。
【図9】図5の出力処理スレッド33bの処理手順を示
すフローチャート。
すフローチャート。
10…ホストコンピュータ、11…CPU、16…デー
タベース演算処理装置(DBE)、17…ディスク装置
(2次記憶装置)、24a…条件テーブル、24b…対
象テーブル、26a…出力バッファ(第1の出力バッフ
ァ)、26b…出力バッファ(第2の出力バッファ)、
30…コマンド処理スレッド、32…ECAM処理依頼
スレッド(インタフェース処理タスク)、33a…出力
処理スレッド(第1の出力処理タスク)、33b…出力
処理スレッド(第2の出力処理タスク)、161…エン
ジンインタフェースプロセッサ(EIP、第2のプロセ
ッサ)、162…エンジン制御プロセッサ(ECP、第
1のプロセッサ)、163…大容量メモリ(EBDM、
内部メモリ)、164…ハードウェア(HW)ソータ制
御プロセッサ(ECAM、第3のプロセッサ)、165
…並列ソーティングモジュール(PSOM)、166…
並列関係代数演算モジュール(PRAM)。
タベース演算処理装置(DBE)、17…ディスク装置
(2次記憶装置)、24a…条件テーブル、24b…対
象テーブル、26a…出力バッファ(第1の出力バッフ
ァ)、26b…出力バッファ(第2の出力バッファ)、
30…コマンド処理スレッド、32…ECAM処理依頼
スレッド(インタフェース処理タスク)、33a…出力
処理スレッド(第1の出力処理タスク)、33b…出力
処理スレッド(第2の出力処理タスク)、161…エン
ジンインタフェースプロセッサ(EIP、第2のプロセ
ッサ)、162…エンジン制御プロセッサ(ECP、第
1のプロセッサ)、163…大容量メモリ(EBDM、
内部メモリ)、164…ハードウェア(HW)ソータ制
御プロセッサ(ECAM、第3のプロセッサ)、165
…並列ソーティングモジュール(PSOM)、166…
並列関係代数演算モジュール(PRAM)。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩崎 孝夫 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 山田 広佳 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 島川 和典 東京都青梅市末広町2丁目9番地 株式会 社東芝青梅工場内 (72)発明者 佐藤 祐治 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内 (72)発明者 外尾 博紀 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内 (72)発明者 天野 慎一 東京都青梅市新町1385番地 東芝ソフトウ エアエンジニアリング株式会社内
Claims (3)
- 【請求項1】 ホスト装置、及び演算対象のテーブルデ
ータが格納される2次記憶装置と接続され、前記ホスト
装置から与えられるコマンドに応じて前記演算対象のテ
ーブルデータを入力して所定のデータベース演算処理を
実行するデータベース演算処理装置において、 装置全体の制御を司る第1のプロセッサと、 前記ホスト装置との間のインタフェース制御及び前記2
次記憶装置との間の入出力制御を司る第2のプロセッサ
と、 ソートを並列に実行する並列ソーティング機構及び各種
関係代数演算を並列に実行する並列関係代数演算機構が
付加され、前記第1のプロセッサからの要求に応じて前
記両機構を制御する第3のプロセッサであって、結合を
指示する結合コマンドの実行時には、結合処理の結果を
対象テーブルのレコードを指すポインタと条件テーブル
のレコードを指すポインタの対で出力する第3のプロセ
ッサと、 この第3のプロセッサから出力される前記結合処理の結
果を一時記憶するための第1の出力バッファ、及び同バ
ッファに記憶された結合処理の結果によって示されるレ
コード対に対して射影を行なって得られた結果を一時記
憶するための第2の出力バッファが置かれる内部メモリ
とを具備し、 前記第1のプロセッサは、前記ホスト装置から結合を指
示するコマンドが与えられた場合には、指定された対象
テーブルと条件テーブルについての結合処理を前記第3
のプロセッサにより行なわせると共に、この第3のプロ
セッサによる結合処理と並行して動作して、前記第1の
出力バッファに記憶された結合処理の結果によって示さ
れるレコード対に対して射影を行ない、その結果を前記
第2の出力バッファに出力する処理を前記第2のプロセ
ッサにより行なわせるように構成されていることを特徴
とするデータベース演算処理装置。 - 【請求項2】前記結合処理の結果が前記第1の出力バッ
ファに入りきらない場合に、前記第3のプロセッサは、
同バッファをサイクリックに使用して前記結合処理の結
果を記憶するように構成されると共に、前記第1のプロ
セッサは、前記第3のプロセッサと並行して動作して、
同バッファに記憶された結合処理の結果によって示され
るレコード対に対して射影を行ない、その結果を前記2
次記憶装置の作業ファイルに出力する処理を前記第2の
プロセッサにより行なわせるように構成されていること
を特徴とする請求項1記載のデータベース演算処理装
置。 - 【請求項3】 前記第1のプロセッサは、前記ホスト装
置から結合を指示するコマンドが与えられた場合には、
指定された対象テーブルと条件テーブルについての結合
処理を前記第3のプロセッサに依頼するインタフェース
処理タスクと、前記第1の出力バッファに記憶された結
合処理の結果によって示されるレコード対に対して射影
を行なってその結果を前記第2の出力バッファに記憶す
る第1の出力処理タスクとを生成し、前記結合処理の結
果が前記第1の出力バッファに入りきらない場合には、
前記第1の出力処理タスクに代えて起動され、前記第1
の出力バッファに記憶された結合処理の結果によって示
されるレコード対に対して射影を行ない、その結果を前
記2次記憶装置の作業ファイルに出力する処理を前記第
2のプロセッサにより行なわせる第2の出力処理タスク
を更に生成することを特徴とする請求項2記載のデータ
ベース演算処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3258154A JP3004102B2 (ja) | 1991-10-04 | 1991-10-04 | データベース演算処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3258154A JP3004102B2 (ja) | 1991-10-04 | 1991-10-04 | データベース演算処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05101109A true JPH05101109A (ja) | 1993-04-23 |
| JP3004102B2 JP3004102B2 (ja) | 2000-01-31 |
Family
ID=17316278
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3258154A Expired - Lifetime JP3004102B2 (ja) | 1991-10-04 | 1991-10-04 | データベース演算処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3004102B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007034414A (ja) * | 2005-07-22 | 2007-02-08 | Masaru Kiregawa | データベース管理システム及び方法 |
| JP2009110193A (ja) * | 2007-10-29 | 2009-05-21 | Toshiba Corp | コーディネータサーバ、データベースサーバ及びパイプライン処理制御方法 |
| JP2011034575A (ja) * | 2010-09-24 | 2011-02-17 | Masaru Kiregawa | データベース管理システム及び方法 |
| WO2011039841A1 (ja) * | 2009-09-29 | 2011-04-07 | 株式会社東芝 | 検索装置、及びシステム |
| JP2013137834A (ja) * | 2013-04-08 | 2013-07-11 | Masaru Kiregawa | データベース管理システム及び方法 |
-
1991
- 1991-10-04 JP JP3258154A patent/JP3004102B2/ja not_active Expired - Lifetime
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007034414A (ja) * | 2005-07-22 | 2007-02-08 | Masaru Kiregawa | データベース管理システム及び方法 |
| JP2009110193A (ja) * | 2007-10-29 | 2009-05-21 | Toshiba Corp | コーディネータサーバ、データベースサーバ及びパイプライン処理制御方法 |
| WO2011039841A1 (ja) * | 2009-09-29 | 2011-04-07 | 株式会社東芝 | 検索装置、及びシステム |
| JP5514220B2 (ja) * | 2009-09-29 | 2014-06-04 | 株式会社東芝 | 検索装置、及びシステム |
| JP2011034575A (ja) * | 2010-09-24 | 2011-02-17 | Masaru Kiregawa | データベース管理システム及び方法 |
| JP2013137834A (ja) * | 2013-04-08 | 2013-07-11 | Masaru Kiregawa | データベース管理システム及び方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3004102B2 (ja) | 2000-01-31 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3004102B2 (ja) | データベース演算処理装置 | |
| RU2007101465A (ru) | Способ управления выполнением программы/команды, архитектура и процессор по этому способу | |
| JPH05324430A (ja) | データ処理装置 | |
| JPS635780B2 (ja) | ||
| JP2983352B2 (ja) | データベース演算処理装置 | |
| JP3002041B2 (ja) | データベース演算処理装置 | |
| JPH06348561A (ja) | データ処理装置 | |
| JPH0581334A (ja) | データベース演算処理装置 | |
| JPH06176074A (ja) | データ処理装置 | |
| JPH05101110A (ja) | データベース演算処理装置 | |
| JPH05324431A (ja) | データ処理装置 | |
| JPH06348560A (ja) | データ処理装置 | |
| JPH0581342A (ja) | データ処理装置 | |
| JPH06348554A (ja) | データ処理装置 | |
| JPH05324580A (ja) | データ処理装置 | |
| JPH0353655B2 (ja) | ||
| JP2841719B2 (ja) | 分散情報処理装置 | |
| JPH05101111A (ja) | データ処理装置 | |
| JP3263123B2 (ja) | データ処理システムにおけるソート処理方式 | |
| JPH0581339A (ja) | データ処理装置 | |
| JPH05101112A (ja) | データベース演算処理装置 | |
| JPH05324432A (ja) | データ処理装置 | |
| JPH06348558A (ja) | データ処理装置 | |
| JPS6139285A (ja) | 情報検索装置 | |
| JPH0581094A (ja) | データ処理装置 |