JPH10326214A - データベース管理システムおよび問合せの処理方法 - Google Patents
データベース管理システムおよび問合せの処理方法Info
- Publication number
- JPH10326214A JPH10326214A JP10174402A JP17440298A JPH10326214A JP H10326214 A JPH10326214 A JP H10326214A JP 10174402 A JP10174402 A JP 10174402A JP 17440298 A JP17440298 A JP 17440298A JP H10326214 A JPH10326214 A JP H10326214A
- Authority
- JP
- Japan
- Prior art keywords
- node
- processing
- database
- data
- nodes
- 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)
- Multi Processors (AREA)
Abstract
提供する。 【構成】分配ノード1〜ノード8は、問い合わせ対象の
データベースを分散させて格納する表T1または表T2
を備え、これらから情報を取り出して他のノードに取り
出した情報を分配する。結合ノード9〜11は、分配さ
れた情報を並び替え、該並び替えられた情報が複数ある
場合にはそれらをマージし、、該マージされた情報に基
づいて問い合わせに対する突き合わせを実行する。決定
管理ノード12は、問い合わせを受け付けて、該問い合
わせを解析して解析結果に基づいて実行処理を行う分配
ノードおよび結合ノードを決定する。また、決定管理ノ
ード12は、結合ノードから送出された、問い合わせに
対する結果を出力する。
Description
に関し、特に、リレ−ショナルデ−タベ−ス管理システ
ムに適した問合せの並列処理に好適な問合せ処理方法に
関する。
Sと略記)、特に、リレ−ショナルDBMSは、非手続
き的な言語で表現された問合せを処理し、内部処理手順
を決定し、内部処理手順に従って実行する。このデータ
ベース言語としては、SQLが用いられる(Database L
anguage SQL ISO 9075:1989)。従来の問合せ処理の主な
方法には、予め設定した規則に基づいて単一の内部処理
手順を決定するものと、各種統計情報を用いて選定され
た複数の候補処理手順から、コスト評価により、最適と
思われるものを決定するものとがある。前者は、処理手
順作成のための負荷は小さいけれども、一律に設定され
た規則の妥当性に問題があり、選ばれた内部処理手順の
最適性にも問題がある。後者は、各種統計情報の管理
し、複数の候補処理手順の作成し、それらのコスト評価
のための負荷を算出して最適な処理手順を与える。上記
両者の組合せ技術としては、例えば、Satoh,K.,et.al."
Localand Global Optimization Mechanisms for Relati
onal Database", Proc. VLDB,1985.がある。該従来技術
では、問い合わせの条件からデータ量を推定して処理手
順を決めている。
と問合せ実行処理との2フェーズの処理を経て、問合せ
処理が実現される。ホスト言語(COBOL、PL/I
等)に問合せ言語を組み込む場合、当アプリケ−ション
プログラム実行前に予め問合せを問合せ解析処理し、実
行形式である1つの内部処理手順を作成している。この
問合せ表現では、多くの場合、検索条件式にはホスト言
語の変数が記述される。この変数に定数が代入されるの
は、既に問合せ解析処理された結果の内部処理手順の実
行時、すなわち、問合せ実行時である。この場合の問題
点としては、変数に代入される値に従って複数の最適な
処理手順が考えられることである。この問題を解決する
ために、問合せ実行処理時に複数の処理手順を作成して
おき、問合せ実行時に変数に代入された値に従って処理
手順を選択するものがある。コードの技術に関するもの
としては、特開平1−194028号公報、および、Gr
aefe,G.,et.al."Dynamic Query Evaluation Plans", Pr
oc. ACM-SIGMOD, 1989.に記載されている技術がある。
を上回るような、トランザクション量の増大、データベ
ース量の増大に対応して、スケーラブルな並列データベ
ースシステムの提供がユーザから望まれている。データ
ベースシステムに対するユーザの性能要件として、数万
を超える同時実行ユーザ数への対応、テラバイト単位の
検索トランザクションの出現、表サイズに比例しない応
答時間の保証がある。並列データベースシステムは、近
年のハードウェアコストの低減と相まって、注目を浴び
ている。並列データベースシステムについては、DeWit
t,D.,et.al.:"Parallel Database Systems: The Future
of High Performance Database Systems", CACM, Vol.
35, No.6, 1992.に記載の技術がある。そのようなシス
テムでは、密結合あるいは疎結合にプロセッサを接続
し、データベース処理を複数のプロセッサに静的/動的
に処理を配分し、スケジュールする必要がある。並列度
を増せば応答性能は向上するが、過度の並列度は逆にオ
ーバヘッドの増大、他トランザクションの応答時間の延
び等の影響がある。そのため、適度な並列度の設定が重
要である。
るデ−タは、二次記憶装置上に存在し、各デ−タベ−ス
演算に対して大量デ−タの読み出しおよび転送が必要と
なる。並列デ−タベ−スシステムにおいても、転送する
デ−タが大量となる場合、デ−タ転送時間がデ−タベ−
スシステムの性能ネックとなる。そこで、二次記憶装置
からデ−タを転送する時間を有効活用する方法が考えら
れる。これは、デ−タの転送時間と当該デ−タに対する
デ−タベ−ス処理に要する時間とをオ−バラップさせる
ものであり、従来技術として良く知られている。この方
式は、相互結合ネットワークで接続されるプロセッサ群
間のデータ転送にも適用可能である。
て、問合せ最適化処理とは、ユ−ザが入力した問合せか
らデ−タベ−スシステムの各種統計情報を基にし、最も
効率の良い処理手順をDBMSが自動判定するものであ
る。さらに、問合せの選択条件式に変数が埋め込まれて
いる場合には、複数の処理手順を問合せ解析時に展開し
ておき、問合せ実行時に当変数に代入される値に従って
処理手順を選択することによって、最適な処理手順が選
択される。
ロセッサあるいはプロセッサとディスク装置との対)へ
データベース演算が分割され、各ノードで各データベー
ス演算が並列にあるいはパイプライン的に動作する。上
記従来技術によれば、この並列処理形態でも、各ノード
で処理手順を選択する方法は適用可能である。
にそれぞれのノードが並行処理をするが、各ノードで実
行するデータベース演算に対応して各ノード数を決定で
きないという問題がある。すなわち、ノード数を決定す
る基準が明確でないために、過度の並列化は逆にオーバ
ヘッドの増大等の影響があり、最適に負荷分散すること
が困難である。
ノードへデータベース演算が分割格納されるが、データ
の分割にバラツキが存在する場合、各ノードへの均等分
割方法が明確でない。
のように、その時間内で複数の処理を行う場合におい
て、各ノードで実行する各データベース演算をパラメー
タ化し、期待する処理時間に基づいて時間調整(チュー
ニング)をする方法も明確でない。
問い合わせ処理方法およびデータベースシステムを提供
することにある。
決するために、データベース処理を実行する複数のノー
ドを備え、該複数のノードは、ネットワークを介して他
のノードと接続されるデータベース管理システムであっ
て、問い合わせ対象のデータベースを分散させて格納す
る記憶手段と、該記憶手段から情報を取り出して他のノ
ードに取り出した情報を分配する分配手段を備える分配
ノードと、該分配ノードから分配された情報を並び替え
る並び替え手段と、該並び替えられた情報が複数ある場
合にはそれらをマージするマージ手段と、該マージされ
た情報に基づいて問い合わせに対する突き合わせを実行
する突き合わせ手段とを備える結合ノードと、前記問い
合わせを受け付けて、該問い合わせを解析して問い合わ
せの処理手順を作成する解析手段と、該解析手段の問い
合わせの解析結果に基づいて実行処理を行う分配ノード
および結合ノードを決定する決定手段と、前記結合ノー
ドから得られた、問い合わせに対する結果を出力する出
力手段とを備える決定管理ノードとを備える。
せの解析結果に基づいて前記分配ノードを決定し、前記
分配ノードにおける予想される処理時間を算出し、該処
理時間に基づいて結合ノードを決定することができる。
ドにおける予想される取り出し情報量に基づいて、前記
結合ノードへの前記取り出し情報の分配を前記各結合ノ
ードに均等に割当てるようにする。
いて前記結合ノードに取り出し情報を均等に割当てるた
めの、前記各ノードの記憶手段の情報に関する最適化情
報を記憶している記憶手段を備えることができる。
いて前記結合ノードに取り出し情報を均等に割当てるた
めにあらかじめ定められたハッシュ関数を利用する。
に処理を行い、前記結合ノードは、前記分配ノードから
の分配された情報を逐次入力し、入力された情報ごとに
処理を行う。
で分配する情報を並び替える並び替え手段を有するよう
にしてもよい。
予想される処理時間の算出結果から、より先に処理が終
了する分配ノードに対して分配処理後に前記分配ノード
の並び替え手段において並び替えをするように決定する
ことができる。
決定した前記結合ノードの台数を、所定数増加させるよ
うに決定する。
え処理の終了後にマージ処理をする機能を備えるように
してもよい。前記突き合わせ手段は、前記マージ処理を
する機能を備えるようにしてもよい。
び前記出力手段における予想される処理時間を算出し、
該算出結果に基づいて、前記出力手段の処理時間が、前
記突き合わせ手段の処理時間より大きい場合には、前記
突き合わせ手段に前記マージ処理を行わせるように決定
する。
に、ネットワークを介して相互に接続される複数のノー
ドを備えるデータベース管理システムであって、データ
ベースを構成するデータを分散して格納する記憶手段を
備え、指示されたときに、前記記憶手段に格納されたデ
ータを取り出し、取り出したデータを他のノードに分配
すべく前記ネットワークに送出する複数の第1のノード
と、指示されたときに、前記ネットワークに送出された
データを受け取り、受け取ったデータに対するデータベ
ース演算を実行し、その結果を前記ネットワークに送出
する複数の第2のノードと、ユーザからの問い合わせを
受け付けて、該問い合わせを解析し、該解析結果に基づ
いて、前記複数の第1のノードのうち少なくとも一つの
第1のノードに対して前記データの取りだしを指示し、
前記第2のノードのうち少なくとも一つの第2のノード
に対して前記データベース演算の実行を指示し、前記ネ
ットワーク上に送出された演算結果を受け取り、前記問
い合わせに対する結果を出力する第3のノードとを有す
る。
せの解析結果に基づいて、前記データの取りだしを指示
する第1のノードを決定し、当該第1のノードにおける
予想される処理時間を算出し、該処理時間に基づいて前
記データベース演算の実行を指示する第2のノードを決
定することができる。
のノードにおける、予想される取り出しデータ量に基づ
いて、前記決定された第2のノードへの前記取り出しデ
ータの分配を当該決定された第2のノードに均等に割当
てるようにする。
のノードに取り出しデータを均等に割当てるための、前
記各ノードの記憶手段のデータに関する最適化情報を記
憶している記憶手段を備えることができる。
のノードに取り出しデータを均等に割当てるためにあら
かじめ定められたハッシュ関数を利用する。
に処理を行い、前記決定された第2のノードは、前記決
定された第1のノードからの分配されたデータを逐次入
力し、入力されたデータごとに処理を行う。
は、該第1のノードで分配するデータをさらに並び替え
るようにしてもよい。
のノードにおける予想される処理時間の算出結果から、
より先に処理が終了する第1のノードに対して分配処理
後に当該第1のノードにおいて並び替えをするように決
定することができる。
いて決定した前記第2のノードの台数を、所定数増加さ
せるように決定する。
のノードにおける分配されたデータの並び替えの終了後
にマージ処理をするようにしてもよい。
おける分配されたデータの並び替えの終了後にマージ処
理を行い、該マージされたデータに基づいて問い合わせ
に対する突き合わせの処理を行う。
理および前記問い合わせに対する結果の出力の処理にお
ける予想される処理時間を算出し、該算出結果に基づい
て、前記出力の処理の処理時間が、前記突き合わせの処
理処理の時間より大きい場合には、前記突き合わせの処
理の中で前記マージ処理を行わせる。
わせの解析結果に基づいて前記分配ノードを決定し、前
記分配ノードにおける予想される処理時間を算出し、該
処理時間に基づいて結合ノードを決定する。決定手段
は、前記決定された分配ノードにおける予想される取り
出し情報量に基づいて、前記結合ノードへの前記取り出
し情報の分配を前記各結合ノードに均等に割当てるよう
にする。
前記問い合わせの解析結果に基づいて前記記憶手段から
情報を取り出して該取り出した情報を他のノードに分配
する。分配ノードおよび結合ノードは、それぞれ独立に
処理を行い、前記結合ノードは、前記分配ノードからの
分配された情報を逐次入力し、入力された情報ごとに処
理を行う。前記決定された結合ノードのそれぞれは、前
記分配ノードから分配された情報を並び替え、該並び替
えられた情報が複数ある場合にはそれらをマージし、該
マージされた情報に基づいて問い合わせに対する突き合
わせをし、前記結合ノードから得られた、問い合わせに
対する結果を出力する。
る予想される処理時間の算出結果から、より先に処理が
終了する分配ノードに対して分配処理後に前記分配ノー
ドの並び替え手段において並び替えをするように決定す
る。決定された分配ノードの並び替え手段は、該分配ノ
ードで分配する情報を並び替える。
および前記出力手段における予想される処理時間を算出
し、該算出結果に基づいて、前記出力手段の処理時間
が、前記突き合わせ手段の処理時間より大きい場合に
は、前記突き合わせ手段に前記マージ処理を行わせるよ
うに決定する。決定された突き合わせ手段は、マージ処
理をする。
ときに、該処理時間以内で処理をさせるために、前記決
定手段は、分配ノードにおける予想される処理時間に基
づいて決定した前記結合ノードの台数を、所定数増加さ
せるように決定する。これにより、結合ノードの台数が
増加し、結合ノードの並び替え手段は、並び替え処理が
短時間で処理できるので、並び替え処理の終了後にマー
ジ処理をする。
ドで実行するデータベース演算に対応して各ノード数を
決定できる。また、データの分割にバラツキが存在する
場合、各ノードへデータを均等に分割させ、各ノードで
実行する各データベース演算をパラメタ化し期待する処
理時間均等化させるので、各ノード間で処理時間の偏り
がなく、円滑にパイプライン動作させることが可能であ
る。
ノードは、ユーザからの問い合わせを受け付けて、該問
い合わせを解析し、該解析結果に基づいて、前記複数の
第1のノードのうち少なくとも一つの第1のノードに対
して前記データの取りだしを指示し、前記第2のノード
のうち少なくとも一つの第2のノードに対して前記デー
タベース演算の実行を指示する。第3のノードは、前記
決定された第1のノードにおける、予想される取り出し
データ量に基づいて、前記決定された第2のノードへの
前記取り出しデータの分配を当該決定された第2のノー
ドに均等に割当てるようにする。
れたときに、前記記憶手段に格納されたデータを取り出
し、取り出したデータを他のノードに分配すべく前記ネ
ットワークに送出する。第1のノード及び第2のノード
は、それぞれ独立に処理を行い、決定された第2のノー
ドは、前記決定された第1のノードからの分配されたデ
ータを逐次入力し、入力されたデータごとに処理を行
う。決定された第2のノードの各々は、指示されたとき
に、前記ネットワークに送出されたデータを受け取り、
受け取ったデータに対するデータベース演算を実行し、
その結果を前記ネットワークに送出する。第3のノード
は、前記ネットワーク上に送出された演算結果を受け取
り、前記問い合わせに対する結果を出力する。
1のノードにおける予想される処理時間の算出結果か
ら、より先に処理が終了する第1のノードに対して分配
処理後に当該第1のノードにおいてデータを並び替える
ように決定する。決定された第1のノードは、分配処理
後にデータを並び替える。
の処理および前記問い合わせに対する結果の出力の処理
における予想される処理時間を算出し、該算出結果に基
づいて、前記出力の処理の処理時間が、前記突き合わせ
の処理処理の時間より大きい場合には、前記突き合わせ
の処理の中で前記マージ処理を行わせる。
に、該処理時間以内で処理をさせるために第3のノード
は、前記処理時間に基づいて決定した前記第2のノード
の台数を、所定数増加させるように決定する。これによ
り、第2のノードの台数が増加し、並び替えの処理をよ
り短時間で処理することができる。並び替え処理の終了
後にはマージ処理をすることができる。
するノードとデータベース演算を実行するノードとを決
定できる。また、データの分割にバラツキが存在する場
合、各ノードへデータを均等に分割させ、各ノードで実
行する各データベース演算をパラメタ化し、期待する処
理時間を均等化させるので、各ノード間で処理時間の偏
りがなく、円滑にパイプライン動作をさせることが可能
である。
に説明する。
の概念図を示している。図2において、デ−タベ−スシ
ステムは、ユ−ザが作成した、複数のアプリケ−ション
プログラム(以下、APと略記する)10および11
と、問合せ処理やリソ−ス管理等デ−タベ−スシステム
全体の管理を行うDBMS20と、デ−タベ−ス処理に
おいて、入出力処理対象となるデ−タの読書きを行い、
計算機システム全体の管理を受け持つオペレ−ティング
システム(以下では、オペレ−ティングシステムをOS
と略記する)30と、デ−タベ−ス処理対象となるデ−
タを格納するデ−タベ−ス40と、データベースの定義
情報を管理するディクショナリ50とを有する。DBM
S20は、他のデータベース管理システムと接続されて
いる。ディクショナリ50には、本実施例において使用
する結合カラムに関する最適化情報なども記憶されてい
る。
理、制御に加えて、入出力の管理等を行うシステム制御
部21と、問い合わせに関する論理処理を行う論理処理
部22と、データベースの物理処理を実行する物理処理
部23と、当DBMS20で処理対象となるデータを格
納するデータベースバッファ24とを備える。また、論
理処理部22は、問合せの構文解析、意味解析を行う問
合せ解析220、適切な処理手順を生成する静的最適化
処理221、処理手順に対応したコ−ドの生成を行なう
コード生成222、静的最適化処理221で生成された
処理手順候補から最適なものを選択する動的最適化処理
223、および、当コードの解釈実行を行うコード解釈
実行部224を備える。また、物理処理部23は、アク
セスしたデ−タの条件判定、編集、レコード追加等を実
現するデ−タアクセス処理230、データベースレコ−
ドの読み書きを制御するデ−タベ−スバッファ制御23
1、入出力対象となるデ−タの格納位置を管理するマッ
ピング処理232、および、システムで共用するリソー
スの排他制御を実現する排他制御233を備える。
構成の一例を示すものである。具体的には、図3は、プ
ロセッサおよびディスク装置が1ノードを構成し、複数
のノードを備える並列プロセッサシステムの適用構成例
を示している。図3において、プロセッサ60〜65お
よびディスク装置70〜75が相互結合ネットワーク8
0で接続される。図3に示すハードウェア構成は、図2
に示すデータベースシステムを複数のプロセッサで並列
処理するための構成であり、各ノードに対してそれぞれ
処理が分散される。
成を図1に示す。図1は、本実施例が適用されたデ−タ
ベ−スシステムの概要図を示している。以下に、並列デ
ータベースシステムの処理例を図1を参照して説明す
る。この例では、データベースに対する検索要求に並列
処理を適用する。図1において、各ノードは、データを
取り出して分配処理するソート機能と、複数のノードで
それぞれソートされたデータを結合処理するマージ機能
とが各ノードごとに割り当てられている。ノードにより
ソート機能だけを備えるものや、ソート機能とマージ機
能とを備えるものがある。デ−タベ−スは、ユ−ザから
2次元のテ−ブル形式で見られる表から成るものとし、
当該表は行あるいはロウごとにデータが存在するもので
ある。また、ロウは、1つ以上の属性(これを「カラ
ム」という)からなる。図1においては、データベース
の表としてT1およびT2があり、ノード1(90)か
らノード4(91)に表T1が、ノード5(92)から
ノード8(93)に表T2が各々格納されており、これ
らの各ノードが分配ノードであり、分配ノードにおいて
格納している表に基づいてデータ取り出し処理およびデ
ータ分配処理が実行される。また、ノード9(94)か
らノード11(96)は、結合ノードであり、ノード1
〜4およびノード5〜8から出力されるデータを受け取
り、部分列ソート処理およびマージ処理をして完全列の
作成を実行する。さらに、ノード12(97)は、問い
合わせを受け付け、該問い合わせを解析し、問い合わせ
に対する処理を実行する分配ノードおよび結合ノードの
数を決定する決定ノードである。また、ノード12(9
7)は、ノード9〜11から出力されたデータを受け取
り出力する。これらのノード群は、相互結合ネットワー
ク80で接続され、ノード1〜4およびノード5〜8
と、ノード9〜11とが並列に動作し、しかもノード1
〜4およびノード5〜8でそれぞれ処理された結果は、
すぐにノード9〜11で処理を行うというようなパイプ
ライン的に動作する(以下、並列パイプライン動作と呼
ぶ)。また、ノード9〜11とノード12とも同様にパ
イプライン動作する。以下では、ノード9〜11におけ
る部分列ソート処理をスロットソート処理といい、完全
列作成処理をNウェイマージ処理と呼ぶ。スロットソー
ト処理は、データが格納されるページを対象とするペー
ジ内のソート処理を指し、スロット順に読みだせば昇順
にロウがアクセス可能とする。Nウェイマージ処理は、
Nウェイのバッファを用いて、各マージ段でN本のソー
ト連を入力にして最終的に1本のソート連を作成する。
例えば、以下のようになる。
られると、ノード12において、最適な分配処理方法が
選択され、各ノードに対してネットワークを介して指示
される。上記の問い合わせにおいては、ノード1(9
0)からノード4(91)に表T1が、ノード5(9
2)からノード8(93)に表T2が各々格納されてい
るので、各ノードにおいてデータ取り出し処理およびデ
ータ分配処理が実行される。また、ノード9(94)か
らノード11(96)では、ノード1〜4およびノード
5〜8から出力されるデータを逐次受け取り、ソート処
理および結合処理を実行する。ノード12(97)で
は、ノード9〜11から出力されたデータを受け取り出
力する。これによりデータベース検索は終了する。
ついて図4を参照して説明する。図4は、並列パイプラ
イン動作を説明するための概要図を示す。図4におい
て、100および101は、図1におけるノード1(9
0)からノード4(91)と、ノード5(92)からノ
ード8(93)とにおける処理に対応し、データ取り出
し処理およびデータ配分処理を実行する。110および
111は、ノード9(94)からノード11(96)に
おける処理に対応し、スロットソート処理、Nウェイマ
ージ処理、突き合わせ処理が実行される。120は、ノ
ード12(97)における処理に対応し、要求データ出
力処理が実行される。時間軸に沿えば、データ取り出し
処理およびデータ配分処理100および101で処理さ
れたデータは、逐次スロットソート処理110および1
11に移り、パイプライン的に実行される。データ取り
出し処理からスロットソート処理までを取り出しフェー
ズと呼ぶ。また、Nウェイマージ処理110および11
1は、それぞれのノードで単に並列に実行される。この
Nウェイマージ処理期間をマージフェーズと呼ぶ。さら
に、突き合わせ処理の結果は要求データ出力処理120
に逐次転送されてパイプライン的に実行される。この突
き合わせから要求データ出力までを結合フェーズと呼
ぶ。図4に示すタイムチャートは、図1に示す問合せ例
を適用した場合の処理内容である。取り出しフェーズに
おいて、ノード1(90)からノード4(91)におけ
る処理時間は、T1データ取り出し/データ分配処理時
間130として示す。また、ノード5(92)からノー
ド8(93)における処理時間は、T2データ取り出し
/データ分配処理時間131で示し、相互結合ネットワ
ーク80における転送時間をデータ分配転送時間140
で示し、ノード9(94)からノード11(96)にお
ける処理時間は、T1/T2スロットソート処理時間1
50に示すように、各々実行される。図4において、取
り出しフェーズは、スロットソート処理完了待ち合わせ
180の時点までで終了する。また、マージフェーズに
おいて、ノード9(94)からノード11(96)にお
ける処理時間は、T1/T2Nウェイマージ処理時間1
51に示す時間において実行される。このマージフェー
ズは、T1/T2Nウェイマージ処理待ち合わせ181
までで終了する。結合フェーズは、ノード9(94)か
らノード11(96)における処理時間は、突き合わせ
処理時間152で示し、相互結合ネットワーク80にお
ける処理時間は、結合結果転送時間160で示し、ノー
ド12(97)における処理時間は、要求データ出力処
理時間170で示し、各々その時間内に実行される。
ド群への処理の振り分け方法について図5を参照して説
明する。図5は、データ分配処理における各ノード群へ
の振り分け方法を示す説明図である。前提として、デー
タ取り出し/データ分配処理をするノード群は、プロセ
ッサ200〜230とディスク装置201〜231とを
備えるノード1〜10の10台からなる。また、結合処
理をするノード群は、プロセッサ240〜250とディ
スク装置241〜251とを備えるノード11〜15の
5台からなるとする。ディクショナリ50には、結合カ
ラムに関する最適化情報51が格納されていている。該
最適化情報51とは、データベースのデータを均等に分
割するための情報であり、例えば、結合カラムに対する
データ件数は通常均一でないので、データ件数が均一に
なるように結合カラムで分割するようにするものであ
る。図5に示すように、ノード1〜10に格納されてい
るデータが、v1からv10の各分割範囲で均等にデー
タ分割可能であることを示す。この場合、ノード11〜
15に均等にデータ分割するためにはv1〜v2、v3
〜v4、v5〜v6、v7〜v8、v9〜v10の5区
間にそれぞれノード番号11、12、13、14、15
を対応付けるような分配処理手段を備えればよい。上記
最適化情報が存在しない場合、適当なハッシュ関数を設
定してデータ分配を行なえばよい。このようにして、図
1におけるノード12では、分配処理手段を備えること
により、Nウェイマージ処理を行う際の各ノード群への
処理の振り分けを行う。これにより、上記のような場合
には、ノード11〜15に均等にデータ分割することが
でき、処理時間が均等になる。
合ノード数の決定方法について図6を参照して説明す
る。図6は、結合ノード数決定方法を説明するための概
要図を示している。
各処理の処理時間をグラフ化し、図4に示す並列パイプ
ライン動作概要に合わせてレイアウトしている。図6に
おいて、データ取り出し/データ分配処理が、ノード1
〜8で実行され、300〜305の処理時間がそれぞれ
かかるものとする。ここでは、ノード5の処理時間30
4が最大処理時間であるとする。スロットソート処理時
間は、結合処理ノード数Nと、予め決められたシステム
特性(CPU性能、ディスク装置性能等)と、データベ
ース演算方法とから導けることができ、スロットソート
処理の性能特性は一般的に下記に示すような式で求める
ことができる。
スロットソート処理の性能特性と最大処理時間304と
の交点となる結合ノード割当て数350をノード数とし
て求めることができる。結合ノード割当て数350が決
まると、Nウェイマージ処理時間320および突き合わ
せ処理時間330が、Nウェイマージ処理の性能特性と
突き合わせ処理の性能特性とから同様に推定できる。こ
れらの処理時間の合計が問い合わせに対する全体の処理
時間となる。このように結合ノード数を決定し、データ
取り出し/データ分配処理において分配されたデータを
逐次マージして同時に処理することにより、全体の処理
時間(問い合わせをしてから出力されるまでの応答時
間)を短縮することができる。
性能特性の具体例を以下に示しておく。例えば、ロウ数
が表T1および表T2とも10、000、000件あ
り、条件数がT1−1コ(全体ロウが1%に絞られる)
とし、データ取り出し/データ分配処理をする分配ノー
ド数が表T1および表T2ともそれぞれ16ノードで均
等分割され、結合ノード数が8ノードで、プロセッサ性
能が50MIPS(1秒間に5千万命令実行)で、ネッ
トワーク転送レートが20Mバイト/秒であるとする。
このような条件で実際のデータベース管理システムに処
理させた結果もしくは性能モデルから算出した結果が以
下のようになる。
間がそれぞれ180秒、T1/T2スロットソート処理
時間が80秒、Nウェイマージ処理時間が380秒、突
き合わせ処理時間が110秒、要求データ出力時間が1
0秒となる。これらの結果の処理性能に基づいて問い合
わせに対する処理時間を推定する。
法を基にして、応答時間をさらに短縮するための処理時
間調整方法(チューニング方法)について、図7、図8
および図9を参照して説明する。以下に示す方法は、上
記ノード12の分配処理手段において、各ノード群への
処理の振り分けを決定する際にあらかじめ算出されて、
その結果より振り分けを決定するものである。
を示す。データ取り出し/データ分配処理が、ノード1
〜8で実行され、各300〜305の処理時間がそれぞ
れかかるものとする。ノードごとの処理時間には各表の
データ数によりバラツキが存在する。また、スロットソ
ート処理は、結合処理ノード群で実行されるように設定
されている。ノードごとの処理時間でバラツキがある場
合には、データ取り出し/データ分配処理ノード群へス
ロットソート処理を移す処理手順を考える。図7に、ス
ロットソートの前処理化として示すように、データ取り
出し/データ分配処理がより早く終了したノードでスロ
ットソート処理を行う。その処理によれば、結合ノード
割当て数350のノードにおけるスロットソート処理時
間が310から312に削減できる。その処理時間の差
311においてNウェイマージ処理を移す。これは、ス
ロットソート処理の連長を延ばすことにほかならない。
これによって、Nウェイマージ処理時間が削減でき、結
果的に応答時間が削減できる。
概要図を示している。例えば処理時間の制約があったと
きなどのように、その時間内で複数の処理を行う場合に
おいて、各ノードで実行する各データベース演算をパラ
メータ化し、期待する処理時間に基づいて時間調整(チ
ューニング)をする方法について説明する。図6で求ま
る結合ノード割当て数350から最小限だけ結合処理ノ
ードを増やし、応答時間の短縮を図る。この場合の結合
ノード割当て数を351とする。結合ノード割当て数3
51とすると、スロットソート処理時間は310から3
12へ削減される。パイプライン効果を最大にするた
め、処理時間311においてNウェイマージ処理をスロ
ットソート処理へ移す。これによって、Nウェイマージ
処理のマージ回数が減り、処理時間が320と削減で
き、結果的に応答時間が削減できる。
の概要図を示す。結合ノード割当て数350で決まる突
き合わせ処理時間330が要求データ出力処理時間34
0より小である場合には、Nウェイマージ処理の最終段
のマージ処理を突き合わせ処理に移すようにできる。N
ウェイマージ処理の最終段のマージ処理時間331と突
き合わせ処理時間330との和が要求データ出力処理時
間340を上回らなければ、当最終段のマージ処理を突
き合わせ処理へ移す。これによって、応答時間が削減で
きる。
理システムの動作フローを説明する。図10、図11、
図12、図13、図14および図15は、本実施例にお
けるDBMSの処理のフロ−チャ−トを示す。図10に
おいて、DBMSは、問合せ実行前に行われる問合せの
解析処理(ステップ220)、静的最適化処理(ステッ
プ221)およびコード生成(ステップ222)により
問い合わせ解析を行う問合せ解析処理400と、変数に
定数を代入し、処理手順を選択する動的最適化処理(ス
テップ223)および問合せのコード解釈実行(ステッ
プ224)により問い合わせに対する実行処理を行う問
合せ実行処理410とを行う。
ップ220)では、上記ノード12においてアプリケー
ションプログラムにより入力された問合せ文の構文解
析、意味解析を実行する(ステップ2200)。図10
(a)において静的最適化処理(ステップ221)で
は、上記ノード12において問合せで出現する条件式か
ら条件を満足するデ−タの割合を推定し、予め設定して
いる規則を基に、有効なアクセスパス候補(特にインデ
クスを選出する)を作成し、処理手順の候補を作成す
る。コード生成(ステップ222)では、上記ノード1
2において処理手順候補を実行形式に展開する。
23)では、上記ノード12において代入された定数に
基づき、各ノード群で実行する処理手順を決定する。コ
ード解釈実行(ステップ224)では、それぞれのノー
ドにおいて処理手順を解釈し、実行する。
明を行う。
(ステップ221)では、問合せに出現する条件式の述
語選択率推定し(ステップ2210)、インデクス等か
らなるアクセスパスの剪定をし(ステップ2211)、
これらアクセスパスを組合せた処理手順候補の生成をす
る(ステップ2212)。
(ステップ2210)では、問合せ条件式に変数が出現
するか否かチェックする(ステップ22101)。変数
が出現すれば、当条件式にカラム値分布情報があるかチ
ェックする(ステップ22104)。存在すれば終了す
る。存在しなければ、条件式の種別に応じてディフォル
ト値を設定し(ステップ22105)、終了する。変数
が出現しなければ、当条件式にカラム値分布情報がある
かチェックする(ステップ22104)。存在しなけれ
ば、条件式の種別に応じてディフォルト値を設定し(ス
テップ22105)、終了する。存在すれば、カラム値
分布情報を用いて選択率を算出する(ステップ2210
3)。
2では、問合せ条件式で出現するカラムのインデクスを
アクセスパス候補として登録する(ステップ2212
0)。つぎに、問合せでアクセス対象となる表が複数ノ
ードに分割格納されているかチェックする(ステップ2
2121)。分割格納されていれば、パラレルテーブル
スキャンをアクセスパス候補として登録する(ステップ
22123)。分割格納されていなければ、テ−ブルス
キャンをアクセスパス候補として登録する(ステップ2
2123)。各条件式の選択率が既に設定済みか否かチ
ェックする(ステップ22124)。設定済みであれ
ば、各表に関して選択率が最小となる条件式のインデク
スをアクセスパスの最優先度とする(ステップ2212
5)。設定済みでなければ、各条件式の選択率の最大値
/最小値を取得する(ステップ22126)。最後に、
CPU性能、IO性能等のシステム特性より各アクセス
パスの選択基準を算出し(ステップ22127)、単一
あるいは複数のインデクスを組合せたアクセスパスでの
選択率が上記選択基準を下回るものだけアクセスパス候
補として登録する(ステップ22128)。
3は、問合せでアクセス対象となる表が複数ノードに分
割格納されているかチェックする(ステップ2213
0)。分割格納されていれば、ステップ22135へ移
行する。分割格納されていなければ、処理手順候補にソ
ート処理が含まれているか否かをチェックする(ステッ
プ22131)。含まれていれば、ステップ22135
へ移行する。含まれていなければ、問合せでアクセス対
象となる表のアクセスパスが唯一であるかチェックし
(ステップ22132)、唯一であれば単一の処理手順
を作成し(ステップ22133)、唯一でなければ複数
の処理手順を作成し(ステップ22134)、終了す
る。ステップ22135では、結合可能な2ウェイ結合
へ問合せを分解する。分割格納される表の格納ノード群
に対応して、データ読みだし/データ分配処理手順を候
補として登録する。また、スロットソート処理手順を候
補として登録する(ステップ22136)。結合処理ノ
ード群に対応して、スロットソート処理手順、Nウェイ
マージ処理手順および突き合わせ処理手順を候補として
登録し、スロットソート連長およびマージ処理回数をパ
ラメタ化しておく(ステップ22137)。要求データ
出力ノードに要求データ出力処理手順を登録する(ステ
ップ22138)。最後に、分解結果に対して評価がす
べて終了すれば(ステップ22139)、終了する。
理手順候補が唯一か否かをチェックする(ステップ22
20)。唯一であれば、ステップ2223へ移行する。
唯一でなければ、カラム値分布情報等からなる最適化情
報を処理手順に埋込み(ステップ2221)、問合せ実
行時に代入された定数に基づいて処理手順を選択するデ
ータ構造を作成する(ステップ2222)。最後に、処
理手順を実行形式へ展開する(ステップ2223)。
は、作成されている処理手順が単一か否かをチェックす
る(ステップ22300)。単一であれば、終了する。
単一でなければ、代入された定数を基に選択率を算出す
る(ステップ22301)。処理手順候補に並列な処理
手順が含まれるか否かチェックする(ステップ2230
2)。含まれていなければ、アクセスパスの選択基準に
従って処理手順を選択し(ステップ22313)、終了
する。含まれていれば、ディクショナリから最適化情報
(結合カラムのカラム値分布情報、アクセス対象となる
表のロウ数、ページ数等)を入力し(ステップ2230
3)、データ取り出し/データ分配のための処理時間を
各システム特性を考慮し、前述したように算出する(ス
テップ22304)。当処理時間から結合処理に割当て
るノード数pを決定し、当処理手順a1を決定する(ス
テップ22305)。データ取り出し/データ分配処理
時間にバラツキがあるか否かをチェックする(ステップ
22306)。バラツキがあれば、データ取り出し/デ
ータ分配処理ノード群でスロットソート処理を実行する
処理手順a2を設定する(ステップ22307)。つぎ
に、結合ノード割当て数pをα台だけ増した処理手順a
3を設定する(ステップ22308)。要求データ処理
時間が突き合わせ処理時間と1回分のNウェイマージ処
理時間との和より大であれば(ステップ22309)、
突き合わせ処理へ1回分のNウェイマージ処理を移した
処理手順a4を設定する(ステップ22310)。処理
手順a1〜a4で最適な処理手順を応答時間最小、各ノ
ード負荷量最小、他トランザクション応答性能への影響
小等の観点で選択する(ステップ22311)。データ
分配情報を最適化情報を基にして作成する(ステップ2
2312)。最適化情報がなければ、ハッシュ関数の結
合カラム評価値に従い、データ分配情報を作成する。ア
クセスパスの選択基準に従って処理手順を選択し(ステ
ップ22313)、終了する。
4では、設定された各ノードにおいてそれぞれ対応する
処理手順にしたがって処理を行う。
ータ分配処理が設定されているか否かを判断する(ステ
ップ22400)。データ取り出し/データ分配処理が
設定されていれば、各ノードの記憶装置に格納されてい
るデータベースにアクセスし、条件式を評価する(ステ
ップ22401)。最適化情報を基に作成されたデータ
分配情報に基づいて、データを取り出し、各結合ノード
のバッファへ逐次データを分配する(ステップ2240
2)。各結合ノードのバッファが満杯か否かを判定し、
満杯であれば、ページ形式で対応する結合ノードへ転送
する。問い合わせに対応する全てのデータを取り出して
分配すると処理が終了する(ステップ22404)。
が設定されているか否かを判断する(ステップ2240
5)。スロットソート処理が設定されていれば、前記デ
ータ取り出し/データ分配処理ノードからのページ形式
のデータを受信し、(ステップ22406)受信したデ
ータについて順次スロットソート処理を行う(ステップ
22407)。処理したスロットソート結果を一時保存
しておき、スロットソート処理を終了する(ステップ2
2408)。
るか否かを判断する(ステップ22409)。Nウェイ
マージ処理が設定されていれば、スロットソート結果に
基づいてNウェイマージ処理を実行し(ステップ224
10)、Nウェイマージ処理結果をバッファなどに一時
保存し(ステップ22411)、Nウェイマージ処理を
終了する。
否かを判断する(ステップ22412)。突き合わせ処
理が設定されていれば、Nウェイマージ処理結果のソー
トリストを突き合わせ、出力用バッファにデータを設定
する(ステップ22413)。出力用バッファが満杯の
場合には、ページ形式で要求データ出力ノードへ転送す
る(ステップ22415)。
るか否かを判断する(ステップ22416)。要求デー
タ出力処理が設定されていれば、結合ノードからページ
形式のデータの転送があるかないかを判断する(ステッ
プ22417)。ページ形式のデータの転送がある場合
には、該ページ形式のデータを受信し(ステップ224
18)、アプリケーションプログラムへ問い合わせ処理
結果を出力し、ページ形式のデータ転送がない場合には
そのまま問い合わせ処理結果を出力する(ステップ22
419)。
処理時間にバラツキがある場合などのときにデータ取り
出し/データ分配処理ノード群でスロットソート処理を
実行する場合には、データ取り出し/データ分配処理終
了後、コード解釈実行処理224を再度実行し、スロッ
トソート処理を行うようにする。
ージ処理結果が完全ソート列でなければ、最終段のマー
ジと突き合わせ処理とを行う。
ース管理システムの問い合わせ応答時間を短縮すること
ができる。
7、図8および図9に示すチューニング方法とは、各々
独立に適用してもよいし、また任意の組合せで適用して
もよい。すなわち、動的最適化処理223では、すべて
の組合せが適用できる場合を想定している。さらに、デ
ータ取り出し処理においては、複数ディスク装置からな
る並列入出力アクセス方法の適用と、一括入出力方法/
先読み入出力方法の適用と、データ分配処理に最適化情
報あるいはハッシュ関数によるデータ分配方法の適用
と、Nウェイマージ処理に並列ソート方法の適用と、突
き合わせ処理にノード間での突き合わせ処理方法の適用
と、要求データ出力処理に複数のノードを割当て並列受
け取り処理方法の適用等も考えられる。上記ステップ2
2309およびステップ22310では、1回分のNウ
ェイマージ処理を仮定しているが、一般的にn回(n≧
1)としてもよい。
て、上記図6に示した結合ノード割当て方法と、図7、
図8および図9に示すチューニング方法とを適用する
と、取り出しフェーズ、マージフェーズ、結合フェーズ
の内、マージフェーズが省略可能となる場合も存在す
る。すなわち、スロットソート連長の延び、Nウェイマ
ージ処理の移動により可能となる。この場合、問合せ実
行処理でもマージフェーズの処理を省略する。
いた規則とコスト評価との併用に限らず、適当なデ−タ
ベ−ス参照特性情報を与える処理手順が得られるもので
あれば適用できる。例えば、コスト評価のみ、規則利用
のみ、コスト評価と規則利用の併用等の最適化処理を行
うDBMSにも適用できる。
サシステム大型計算機のソフトウェアシステムを介して
実現することも、また、各処理部のために専用プロセッ
サが用意された密結合/疎結合複合プロセッサシステム
を介して実現することも可能である。また、単一プロセ
ッサシステムでも、各処理手順のために並列なプロセス
を割当てていれば、適用可能である。
ータベース演算に対応して各ノード数を決定し、また、
データの分割にバラツキが存在する場合、各ノードへデ
ータを均等に分割させ、各ノードで実行する各データベ
ース演算をパラメタ化し、期待する処理時間均等化させ
るので、各ノード間で処理時間の偏りがなく、円滑にパ
イプライン動作させることが可能となり、高速な問合せ
処理が実現可能となる。
対応して各ノード数を決定し、各ノードへデータを均等
に分割させ、各ノードで実行する処理時間均等化させる
ので、各ノード間で処理時間の偏りがなく、高速化な問
合せ処理を実現することができる。
ト
ト
ト
ト
ト
ト
タベース管理システム、22…論理処理部、220…問
合せ解析、221…静的最適化処理、222…コード生
成、223…動的最適化処理、224…コード解釈実
行、30…オペレーティングシステム、40…データベ
ース、50…ディクショナリ、80…相互結合ネットワ
ーク、90、91、92、93、94、95、96、9
7…ノード。
Claims (19)
- 【請求項1】データベースを構成するデータを分散して
格納する記憶手段を備え、取り出し要求に従って、格納
されたデータを取り出して送出する複数の第1のノード
と、 入力されたデータベース演算要求にしたがって、前記第
1のノードから送出されたデータについてデータベース
演算処理を実行し、該データベース演算処理結果を出力
する複数の第2のノードと、 入力された問い合わせ要
求を解析し、データベース演算キーのキーレンジに基づ
き、複数のデータベース演算要求を生成して前記第2の
ノードにそれぞれ分配し、前記データベース演算要求に
て対象となるデータの取り出し要求を複数生成し、当該
生成した取り出し要求を前記第1のノードにそれぞれ送
出し、前記データベース演算要求のデータベース演算処
理結果を、前記第2のノードからそれぞれ受け取り、前
記問い合わせ要求の処理結果を出力する第3のノードと
を有することを特徴とするデータベース管理システム。 - 【請求項2】請求項1に記載のデータベース管理システ
ムにおいて、前記第3のノードは、前記問い合わせ要求
のデータベース演算処理が結合処理である場合、前記デ
ータベース演算キーとして結合キーを用い、結合キーの
キーレンジに基づき、複数のデータベース演算要求を生
成することを特徴とするデータベース管理システム。 - 【請求項3】請求項1に記載のデータベース管理システ
ムにおいて、前記第3のノードは、データベース演算キ
ーにハッシュ関数を予め割り付けておき、該ハッシュ関
数から得られたハッシュコードのキーレンジに基づき、
複数のデータベース演算要求を生成することを特徴とす
るデータベース管理システム。 - 【請求項4】請求項1に記載のデータベース管理システ
ムにおいて、前記複数のノードは、それぞれ独立に処理
を行い、 前記第2のノードは、前記第1のノードからの送出され
たデータを逐次入力し、入力されたデータごとに前記デ
ータベース演算処理を行うことを特徴とするデータベー
ス管理システム。 - 【請求項5】請求項4に記載のデータベース管理システ
ムにおいて、前記複数の第1のノードの各々は、該第1
のノードで取り出したデータをさらに並び替えて送出す
ることを特徴とするデータベース管理システム。 - 【請求項6】請求項5に記載のデータベース管理システ
ムにおいて、前記第3のノードは、前記第1のノードに
おける予想される演算時間の算出結果から、演算が終了
していない第1のノードがある場合に、当該第1のノー
ドで分配するデータの並び替えを、より先に演算が終了
する第1のノードで行うように並び替え要求を生成し、
当該生成した並び替え要求を前記より先に演算が終了す
る第1のノードに出力することを特徴とするデータベー
ス管理システム。 - 【請求項7】請求項5に記載のデータベース管理システ
ムにおいて、前記第2のノードは、前記第1のノードに
おけるデータの並び替えの終了後に結合処理をすること
を特徴とするデータベース管理システム。 - 【請求項8】請求項7に記載のデータベース管理システ
ムにおいて、前記第2のノードは、前記結合されたデー
タに基づいて問い合わせに対する突き合わせの処理を行
うことを特徴とするデータベース管理システム。 - 【請求項9】請求項8に記載のデータベース管理システ
ムにおいて、前記第3のノードは、前記突き合わせの処
理および前記問い合わせに対する結果の出力の処理にお
ける予想される処理時間を算出し、該算出結果に基づい
て、前記出力の処理の処理時間が、前記突き合わせの処
理処理の時間より大きい場合には、前記突き合わせの処
理の中で前記結合処理を行わせることを特徴とするデー
タベース管理システム。 - 【請求項10】複数の第1のノード、複数の第2のノー
ドおよび第3のノードを備えるデータベース管理システ
ムにおける問い合わせ方法であって、前記第1のノード
は、取り出し要求に従って、格納されたデータを取り出
して送出し、 前記第2のノードは、入力されたデータ
ベース演算要求にしたがって、前記第1のノードから送
出されたデータについてデータベース演算処理を実行
し、該データベース演算処理結果を出力し、 第3のノ
ードは、入力された問い合わせ要求を解析し、データベ
ース演算キーのキーレンジに基づき、複数のデータベー
ス演算要求を生成して前記第2のノードにそれぞれ分配
し、前記データベース演算要求にて対象となるデータの
取り出し要求を複数生成し、当該生成した取り出し要求
を前記第1のノードにそれぞれ送出し、前記データベー
ス演算要求のデータベース演算処理結果を、前記第2の
ノードからそれぞれ受け取り、前記問い合わせ要求の処
理結果を出力することを特徴とする問い合わせ処理方
法。 - 【請求項11】請求項10に記載の問い合わせ処理方法
において、前記第3のノードは、前記問い合わせ要求の
データベース演算処理が結合処理である場合、前記デー
タベース演算キーとして結合キーを用い、結合キーのキ
ーレンジに基づき、複数のデータベース演算要求を生成
することを特徴とする問い合わせ処理方法。 - 【請求項12】請求項10に記載の問い合わせ処理方法
において、前記第3のノードは、データベース演算キー
にハッシュ関数を予め割り付けておき、該ハッシュ関数
から得られたハッシュコードのキーレンジに基づき、複
数のデータベース演算要求を生成することを特徴とする
問い合わせ処理方法。 - 【請求項13】請求項10に記載の問い合わせ処理方法
において、前記複数のノードは、それぞれ独立に処理を
行い、 前記第2のノードは、前記第1のノードからの送出され
たデータを逐次入力し、入力されたデータごとに前記デ
ータベース演算処理を行うことを特徴とする問い合わせ
処理方法。 - 【請求項14】請求項13に記載の問い合わせ処理方法
において、前記複数の第1のノードの各々は、該第1の
ノードで取り出したデータをさらに並び替えて送出する
ことを特徴とする問い合わせ処理方法。 - 【請求項15】請求項14に記載の問い合わせ処理方法
において、前記第3のノードは、前記第1のノードにお
ける予想される演算時間の算出結果から、演算が終了し
ていない第1のノードがある場合に、当該第1のノード
で分配するデータの並び替えを、より先に演算が終了す
る第1のノードで行うように並び替え要求を生成し、当
該生成した並び替え要求を前記より先に演算が終了する
第1のノードに出力することを特徴とする問い合わせ処
理方法。 - 【請求項16】請求項14に記載の問い合わせ処理方法
において、前記第2のノードは、前記第1のノードにお
けるデータの並び替えの終了後に結合処理をすることを
特徴とする問い合わせ処理方法。 - 【請求項17】請求項16に記載の問い合わせ処理方法
において、前記第2のノードは、前記結合されたデータ
に基づいて問い合わせに対する突き合わせの処理を行う
ことを特徴とする問い合わせ処理方法。 - 【請求項18】請求項17に記載の問い合わせ処理方法
において、前記第3のノードは、前記突き合わせの処理
および前記問い合わせに対する結果の出力の処理におけ
る予想される処理時間を算出し、該算出結果に基づい
て、前記出力の処理の処理時間が、前記突き合わせの処
理処理の時間より大きい場合には、前記突き合わせの処
理の中で前記結合処理を行わせることを特徴とする問い
合わせ処理方法。 - 【請求項19】データベースを構成するデータを分散し
て格納する記憶手段を備え、取り出し要求に従って、格
納されたデータを取り出して送出する複数の第1のノー
ドと、 入力されたデータベース処理要求にしたがって、前記第
1のノードから送出されたデータについてデータベース
処理を実行し、該データベース処理結果を出力する複数
の第2のノードと、 入力された問い合わせ要求を解析
し、データベースの結合カラムに基づき、複数のデータ
ベース処理要求を生成して前記第2のノードにそれぞれ
分配し、前記データベース処理要求にて対象となるデー
タの取り出し要求を複数生成し、当該生成した取り出し
要求を前記第1のノードにそれぞれ送出し、前記データ
ベース処理要求のデータベース処理結果を、前記第2の
ノードからそれぞれ受け取り、前記問い合わせ要求の処
理結果を出力する第3のノードとを有することを特徴と
するデータベース管理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17440298A JP3538322B2 (ja) | 1998-06-22 | 1998-06-22 | データベース管理システムおよび問合せの処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17440298A JP3538322B2 (ja) | 1998-06-22 | 1998-06-22 | データベース管理システムおよび問合せの処理方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00780493A Division JP3266351B2 (ja) | 1993-01-20 | 1993-01-20 | データベース管理システムおよび問合せの処理方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004025150A Division JP3668243B2 (ja) | 2004-02-02 | 2004-02-02 | データベース管理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10326214A true JPH10326214A (ja) | 1998-12-08 |
JP3538322B2 JP3538322B2 (ja) | 2004-06-14 |
Family
ID=15977949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP17440298A Expired - Fee Related JP3538322B2 (ja) | 1998-06-22 | 1998-06-22 | データベース管理システムおよび問合せの処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3538322B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033517A (ja) * | 2012-11-06 | 2013-02-14 | Hitachi Ltd | データベース処理方法及びデータベース処理システム |
CN111090514A (zh) * | 2018-10-24 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 一种分配计算能力的方法及系统 |
CN112699140A (zh) * | 2019-10-23 | 2021-04-23 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214843A (ja) * | 1993-01-20 | 1994-08-05 | Hitachi Ltd | データベース管理システムおよび問合せの処理方法 |
-
1998
- 1998-06-22 JP JP17440298A patent/JP3538322B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06214843A (ja) * | 1993-01-20 | 1994-08-05 | Hitachi Ltd | データベース管理システムおよび問合せの処理方法 |
JP3266351B2 (ja) * | 1993-01-20 | 2002-03-18 | 株式会社日立製作所 | データベース管理システムおよび問合せの処理方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013033517A (ja) * | 2012-11-06 | 2013-02-14 | Hitachi Ltd | データベース処理方法及びデータベース処理システム |
CN111090514A (zh) * | 2018-10-24 | 2020-05-01 | 阿里巴巴集团控股有限公司 | 一种分配计算能力的方法及系统 |
CN111090514B (zh) * | 2018-10-24 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 一种分配计算能力的方法及系统 |
CN112699140A (zh) * | 2019-10-23 | 2021-04-23 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备和存储介质 |
CN112699140B (zh) * | 2019-10-23 | 2023-12-26 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP3538322B2 (ja) | 2004-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3266351B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
US6556988B2 (en) | Database management apparatus and query operation therefor, including processing plural database operation requests based on key range of hash code | |
US6505187B1 (en) | Computing multiple order-based functions in a parallel processing database system | |
US9697254B2 (en) | Graph traversal operator inside a column store | |
US5325525A (en) | Method of automatically controlling the allocation of resources of a parallel processor computer system by calculating a minimum execution time of a task and scheduling subtasks against resources to execute the task in the minimum time | |
US7103590B1 (en) | Method and system for pipelined database table functions | |
US11468061B2 (en) | Incremental simplification and optimization of complex queries using dynamic result feedback | |
Terlecki et al. | On improving user response times in tableau | |
US20160203409A1 (en) | Framework for calculating grouped optimization algorithms within a distributed data store | |
Michiardi et al. | Cache-based multi-query optimization for data-intensive scalable computing frameworks | |
Chao-Qiang et al. | RDDShare: reusing results of spark RDD | |
JPH06309284A (ja) | 問合せ処理負荷分散方法 | |
JP3538322B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
JP3668243B2 (ja) | データベース管理システム | |
JP4422697B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
JP3732655B2 (ja) | データベース管理システム、データベース管理装置および問い合わせ処理方法 | |
JP3819694B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
JP3819695B2 (ja) | データベース管理システムおよび問合せの処理方法 | |
JP3667997B2 (ja) | データベース管理装置 | |
JP2001147847A (ja) | データベース管理システムおよび問合せの処理方法 | |
JP2000148557A (ja) | デ―タベ―ス管理システムおよび問合せの処理方法 | |
JP3060225B2 (ja) | デ―タベ―ス管理方法およびシステム | |
JP3172793B1 (ja) | データベース管理方法 | |
JP3236999B2 (ja) | データベース管理方法およびシステム | |
JP3156199B2 (ja) | データベース管理方法およびシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040319 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090326 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090326 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100326 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110326 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |