JPH1139340A - データベース検索システム、マルチプロセッサシステム及びデータベース検索方法 - Google Patents

データベース検索システム、マルチプロセッサシステム及びデータベース検索方法

Info

Publication number
JPH1139340A
JPH1139340A JP9198888A JP19888897A JPH1139340A JP H1139340 A JPH1139340 A JP H1139340A JP 9198888 A JP9198888 A JP 9198888A JP 19888897 A JP19888897 A JP 19888897A JP H1139340 A JPH1139340 A JP H1139340A
Authority
JP
Japan
Prior art keywords
search
database
estimation table
resource allocation
allocating
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
JP9198888A
Other languages
English (en)
Inventor
Toru Takagi
徹 高木
Tsuyoshi Kitani
強 木谷
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.)
N T T DATA KK
NTT Data Group Corp
Original Assignee
N T T DATA KK
NTT Data 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 N T T DATA KK, NTT Data Corp filed Critical N T T DATA KK
Priority to JP9198888A priority Critical patent/JPH1139340A/ja
Publication of JPH1139340A publication Critical patent/JPH1139340A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 複数のデータベースの検索にあたり、プロセ
ッサ資源を有効に活用し、データベースの検索時間を短
縮する。 【解決手段】 データベース3は、複数の分割データベ
ースに分割されており、検索制御部1で生成される各デ
ータベース毎の検索プロセスにより、各分割データベー
スの検索を行う。見積表格納部2は、データベース3の
各分割データベース毎にそれぞれ検索処理量を見積もっ
たプロセッサ資源の資源割当が設定されたテーブルとし
て見積表を格納している。検索制御部1は、クライアン
トCからの検索要求に基づき、データベース3の各分割
データベースの検索処理量の見積に応じてプロセッサ資
源の資源割当を行い、所要の分割データベースを検索す
るための複数の検索プロセスを生成し、実行させ、さら
に該検索プロセスによる検索結果を収集して、統合し且
つソートしてクライアントCに返す。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データベースの
検索に係り、特に複数のデータベースに対する検索をそ
れぞれ別々のプロセスにより並列的に実行して検索結果
を得るデータベース検索システム、マルチプロセッサシ
ステム、及びデータベース検索方法に関する。
【0002】
【従来の技術】一般に、データベースの検索に際し、ク
ライアントからの1つの検索要求に対して、複数のデー
タベースを一括して検索し、且つこれら複数のデータベ
ースの検索結果を統合して、1つの検索結果としてクラ
イアントに返す処理が行われる。これら複数のデータベ
ース及びデータベース検索プロセスを単一のサーバ(以
下、「検索マシン」と称する)において実現する場合に
は、次のような方法がとられていた。
【0003】検索マシンは、各データベース検索プロセ
ス及び該データベース検索プロセスを制御する検索コン
トロールプロセスにより、一連の検索処理を行う。な
お、検索コントロールプロセスは、複数のデータベース
検索プロセスの管理及びこれらのデータベース検索プロ
セスによる検索結果の統合処理を含んでいる。クライア
ントからの検索要求は、検索コントロールプロセスにわ
たされる。検索コントロールプロセスは、複数のデータ
ベースの検索のために複数のデータベース検索プロセス
をそれぞれ生成する。各データベース検索プロセスで
は、それぞれ1つのデータベースの検索処理を行い、検
索結果を検索コントロールプロセスに返す。返ってきた
検索結果を検索コントロールプロセスで統合してクライ
アントに返す。
【0004】特に、検索マシンが、例えばSMP(Symm
etric Multiprocessor)型マルチプロセッサマシンのよ
うに複数のプロセッサ(CPU:Central Proccessing
Unit〜中央処理装置)を有するマルチプロセッサマシン
である場合には、各検索プロセスによる検索処理は並列
的に実行される。なお、単一のプロセッサのみを保持す
るマシンにおいては、各検索プロセスの検索処理を逐次
的に処理する場合もあるが、ここでは各検索プロセスの
検索処理を並列に処理する場合を考える。
【0005】
【発明が解決しようとする課題】上述した方法において
は、複数のデータベースに対する検索を並列的に実行し
た後に検索処理結果のマージを行う。このため、クライ
アントが、検索要求を発してから検索結果を受け取るま
での時間は、最も検索に時間を要する検索プロセスの検
索時間により影響を受ける。
【0006】ここでは、複数のプロセッサを有するSM
P型のマルチプロセッサマシンにおける処理の一例を示
す。SMP型のマルチプロセッサマシンからなる検索マ
シンはn個(n≧2)のプロセッサを有し、この検索マ
シンにより、m個(m>n)のデータベースの検索を行
う場合を考える。検索コントロールプロセスは、m個の
検索プロセスを生成し、これらの検索プロセスによりそ
れぞれデータベースの検索を行う。各検索プロセスは、
通常の場合、オペレーティングシステムによりプロセッ
サ消費のスケジューリングがなされ、各検索プロセスの
プロセッサの消費が公平になるよう調整される。そのた
め、各検索プロセスの終了時間は、検索処理の量により
異なってくる。
【0007】なお、検索処理の量の相違には、種々の要
因があるが、一般的には、データベースのサイズ及び検
索のヒット件数等に依存することが多い。そのような要
因を排除するために各データベースのサイズを均等にす
ることなども考えられるが、特に全文検索等の場合に
は、実現することは難しい。その理由としては、高速検
索用に生成するインデックスの再作成等のメンテナンス
の煩雑さ、及びデータベースを複数に分割した経緯等が
あげられる。データベースを複数に分割した経緯には、
例えば、蓄積されるデータが膨大であるため物理的に分
割する必要があった場合、データベースの作成者が異な
る場合、テキストが作成された時間(年毎及び月毎等)
によりデータベースを分割されている場合、そして頻繁
に検索されるデータベースが含まれているため、処理効
率を考えて細かく分割しておいたほうがよいと判断され
た場合などがある。
【0008】複数の検索プロセスが並列的に実行されて
いる場合には、検索プロセスは処理の終了したものから
順次消減する。このため、実行中の検索プロセスの数は
徐々に減少してゆく。実行中の検索プロセスの数がプロ
セッサの数より少なくなったときに、プロセッサの中に
は、検索プロセスを全く実行していないものがあらわれ
るため、プロセッサ資源が有効に利用されていない状態
となる。
【0009】ここで、従来の具体的な処理の例につい
て、図5を参照して説明する。図5の(a) は、プロセッ
サ数nが2個(n=2)、検索対象データベース数が4
個(db=4)の場合の従来の処理の例を示している。
ここで、データベースDB1、DB2、DB3及びDB
4は、それぞれ単一プロセッサで検索処理を行った場合
に、8t、3t、4t及びtなる処理時間を要するもの
する。すなわち、この例では、データベースDB1−デ
ータベースDB3−データベースDB2−データベース
DB4の順で検索時間を要している。しかしながら、デ
ータベースDB3の検索が終了した時刻6tからデータ
ベースDB1の検索が終了する時刻10tまでの間は、
2個のプロセッサのうち1個分のプロセッサ資源は利用
されていない。また、この場合の全体での最終的な検索
処理時間は10tとなっており、データベースDB1の
検索処理時間に依存している。
【0010】この発明は、上述した事情に鑑みてなされ
たもので、複数のデータベースの検索にあたり、データ
ベース検索における処理量に応じて各データベースの検
索プロセスのプロセッサ資源を割り当てて、プロセッサ
資源を有効に活用し、データベースの検索時間を短縮す
ることを可能とするデータベース検索システム、マルチ
プロセッサシステム及びデータベース検索方法を提供す
ることを目的とする。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、この発明の第1の観点によるデータベース検索シス
テムは、与えられた検索要求に応じた複数のデータベー
スの検索にそれぞれ予測される処理量に応じてプロセッ
サ資源を割り当てる資源割当手段と、前記資源割当手段
によるプロセッサ資源の資源割当に従って、前記複数の
データベースの検索を並列的に実行する複数の検索プロ
セスを生成し起動する検索プロセス生成手段と、前記複
数の検索プロセスの実行による検索結果を収集する結果
収集手段と、を具備する。
【0012】各データベース毎の予測される検索処理量
からなる見積テーブルを格納する見積テーブル格納手段
をさらに備え、且つ前記資源割当手段は、前記見積テー
ブルを参照してプロセッサ資源の資源割当を決定する手
段を含んでいてもよい。
【0013】前記結果収集手段は、その収集実績に基づ
いて前記見積テーブル格納手段に格納される見積テーブ
ルを補正更新する手段を含んでいてもよい。
【0014】前記見積テーブル格納手段は、前記データ
ベース毎に、予測される検索処理量に基づいて固定的に
設定された資源割当値、及び前記結果収集手段により随
時更新されて前記資源割当値を補正する補正値を含む見
積テーブルを格納していてもよい。
【0015】前記検索プロセス生成手段は、前記データ
ベース毎に生成した検索プロセスを、該検索プロセスに
前記資源割当手段による前記資源割当に従ったプロセッ
サ資源使用の優先度を与えて、起動する手段を含んでい
てもよい。
【0016】前記結果収集手段で収集された検索結果を
統合する統合手段をさらに含んでいてもよい。
【0017】前記統合手段は、統合された検索結果をソ
ートする手段を含んでいてもよい。
【0018】この発明の第2の観点によるマルチプロセ
ッサシステムは、複数のデータベースをそれぞれ構築す
る複数のデータベース手段と、各々複数のデータベース
の検索プロセスを実行し得る複数のプロセッサ手段と、
与えられた検索要求に応じた複数のデータベースの検索
に、それぞれ予測される処理量に応じて前記複数のプロ
セッサ手段のプロセッサ資源を割り当てる資源割当手段
と、前記資源割当手段によるプロセッサ資源の資源割当
に従い、前記複数のプロセッサ手段を用いて、前記複数
のデータベース手段の検索を並列的に実行する複数の検
索プロセスを生成し起動する検索プロセス生成手段と、
前記複数の検索プロセスの実行による検索結果を収集し
て検索要求元に返す結果収集手段と、を具備する。
【0019】各データベース手段毎の予測される検索処
理量からなる見積テーブルを格納する見積テーブル格納
手段をさらに備え、且つ前記資源割当手段は、前記見積
テーブルを参照してプロセッサ資源の資源割当を決定す
る手段を含んでいてもよい。
【0020】前記結果収集手段は、その収集実績に基づ
いて前記見積テーブル格納手段に格納される見積テーブ
ルを補正更新する手段を含んでいてもよい。
【0021】前記見積テーブル格納手段は、前記データ
ベース手段毎に、予測される検索処理量に基づいて固定
的に設定された資源割当値、及び前記結果収集手段によ
り随時更新されて前記資源割当値を補正する補正値を含
む見積テーブルを格納していてもよい。
【0022】前記検索プロセス生成手段は、前記データ
ベース手段毎に生成した検索プロセスを、該検索プロセ
スに前記資源割当手段による前記資源割当に従ったプロ
セッサ資源使用の優先度を与えて、起動する手段を含ん
でいてもよい。
【0023】前記結果収集手段で収集された検索結果
を、検索要求元に返す前に統合する統合手段をさらに含
んでいてもよい。
【0024】前記統合手段は、統合された検索結果をソ
ートする手段を含んでいてもよい。
【0025】この発明の第3の観点によるデータベース
検索方法は、与えられた検索要求に応じた複数のデータ
ベースの検索にそれぞれ予測される処理量に応じてプロ
セッサ資源を割り当てる資源割当ステップと、前記資源
割当ステップによるプロセッサ資源の資源割当に従っ
て、前記複数のデータベースの検索を並列的に実行する
複数の検索プロセスを生成し起動する検索プロセス生成
ステップと、前記複数の検索プロセスの実行による検索
結果を収集する結果収集ステップと、を有する。
【0026】前記資源割当ステップは、予め設定した各
データベース毎の予測される検索処理量からなる見積テ
ーブルを参照してプロセッサ資源の資源割当を決定する
ステップを含んでいてもよい。
【0027】前記結果収集ステップは、その収集実績に
基づいて前記見積テーブルを補正更新するステップを含
んでいてもよい。
【0028】前記見積テーブルは、前記データベース毎
に、予測される検索処理量に基づいて固定的に設定され
た資源割当値、及び前記結果収集ステップにより随時更
新されて前記資源割当値を補正する補正値を含んでいて
もよい。
【0029】前記検索プロセス生成ステップは、各デー
タベース毎に生成した検索プロセスを、該検索プロセス
に前記資源割当に従ったプロセッサ資源使用の優先度を
与えて、起動するステップを含んでいてもよい。
【0030】前記結果収集ステップで収集された検索結
果を統合する統合ステップをさらに含んでいてもよい。
【0031】前記統合ステップは、統合された検索結果
をソートするステップを含んでいてもよい。
【0032】この発明に係るデータベース検索システ
ム、マルチプロセッサシステム及びデータベース検索方
法は、与えられた検索要求に応じた複数のデータベース
の検索にそれぞれ予測される処理量に応じてプロセッサ
資源を割り当て、前記複数のデータベースの検索を並列
的に実行する複数の検索プロセスを該資源割当に基づい
て生成し起動するとともに、前記複数の検索プロセスの
実行による検索結果を収集する。このデータベース検索
システム、マルチプロセッサシステム及びデータベース
検索方法では、プロセスに応じて適切にプロセッサ資源
を割り当てて複数の検索プロセスを並列的に実行するこ
とにより、プロセッサ資源を有効に活用して効率よく且
つ合理的にデータベース検索を行うことができ、データ
ベースの検索時間を短縮することができる。
【0033】コンピュータ又はプロセッサを上述の各手
段として機能させ或いはコンピュータ又はプロセッサに
上述の各ステップを実行させるためのプログラム・デー
タの全部又は一部を格納した機械読み取り可能な記録媒
体(例えば、CD−ROM、フロッピーディスク等)を
配布してもよい。このプログラムをコンピュータにイン
ストールして、OS上で実行させる等して、上述の各機
能を実現し、あるいは上述の各ステップを実行させても
よい。
【0034】
【発明の実施の形態】まず、この発明の実施の形態の説
明に先立ち、この発明の原理について説明する。この発
明では、複数のプロセッサを有する検索マシン上で複数
に分割されたデータベースの検索を高速に行うため、複
数のプロセッサの有効利用により各データベースの検索
処理時間を短縮する。この発明による手法は、n個(n
≧2)のプロセッサでm個(m>n)のデータベースを
検索する場合に有効である。
【0035】上述したように、従来の方法では、複数の
検索プロセスのすべての検索プロセスが終了していない
にもかかわらず、プロセッサ資源が空いてしまうことが
ある。これは、従来の検索手法では、検索処理に多くの
時間を要するデータベース検索プロセスであっても均等
に分配されたプロセッサ資源しか利用できないことに起
因する。すなわち、従来の検索手法では、検索処理に多
くの時間を要するデータベース検索プロセスであって
も、検索処理にさほど時間を要さないデータベース検索
プロセスであってもプロセッサ資源が均等に分配され
る。このため、検索処理に多くの時間を要するデータベ
ース検索プロセスが、検索処理にさほど時間を要さない
他のデータベース検索プロセスと同等のプロセッサ資源
しか利用することができない。
【0036】このような状況を回避するため、多くの検
索時間を要するプロセスにプロセッサ資源を優先的に割
り当てるようにする。このとき、各検索プロセスの処理
時間を均等にするようにプロセッサ資源の割当を行う
と、検索開始からすべての検索プロセスが終了するまで
は、プロセッサ資源はすべて利用されることとなり、結
果的に検索時間を短縮できる。
【0037】プロセッサ資源の割当のためには、各デー
タベース検索プロセスの処理時間を前もって見積もって
おく必要があるが、例えばデータベースがフルテキスト
データベースの場合には、各データべースのテキストサ
イズ、テキスト数及び単語文書出現頻度等の情報を用い
て検索処理時間を見積もることが可能である。また、検
索処理の見積り時間をプロセッサ資源の割り当てに反映
させるためには、例えばSolarisオペレーティングシス
テムにおけるniceコマンドのような資源使用の優先度を
与えるオペレーティングシステムのコマンドを用いて、
プロセッサ資源の使用の優先度を与える方法を用いるこ
とができる。
【0038】具体的な例を、図5の(a) の従来のケース
と対比させて図5の(b) に示している。図5の(a) の場
合と同様に、データベースDB1、DB2、DB3及び
DB4は、それぞれ単一のプロセッサで検索処理を行っ
た場合、8t、3t、4t及びtなる処理時間を要す
る。この処理時間の比率に応じて、プロセッサ資源を割
り当てることにより、図5の(b) のようになり、従来は
10t要していた全体の処理時間(最も長いデータベー
スDB1の検索処理のみの処理時間)が、8tに短縮さ
れる(全データベースDB1〜DB4の各々の検索処理
に要する処理時間が均等に8tとなる)ことになり、2
0%の処理効率の改善が可能となる。
【0039】この発明は、以上のような原理を用いて、
複数のプロセッサを有する検索マシン上で、複数のプロ
セッサの有効利用により各データベースの検索処理時間
を短縮して、複数に分割されたデータベースの検索を高
速に行う。以下、上述した原理に基づく、この発明の実
施の形態を図面を参照して説明する。
【0040】図1〜図4を参照して、この発明の実施の
形態に係るデータベース検索システムを説明する。
【0041】図1は、この発明の実施の形態に係るデー
タベース検索システムの構成を模式的に示している。
【0042】図1に示すデータベース検索システムは、
クライアントC及び検索サーバSを備えている。検索サ
ーバSは、複数のプロセッサを有するSMP型のマルチ
プロセッサマシンからなる検索マシンであり、複数に分
割されたデータベースを有する。クライアントCは、例
えばネットワークのような通信系等を介して検索サーバ
Sに結合されており、該検索サーバSに検索要求を与え
て、検索サーバSから検索結果を受け取る。
【0043】検索サーバSは、検索制御部1、見積表格
納部2及びデータベース3を具備している。データベー
ス3は、複数の分割データベース、例えば第1の分割デ
ータベースDB1、第2の分割データベースDB2、第
3の分割データベースDB3、第4の分割データベース
DB4、第5の分割データベースDB5、第6の分割デ
ータベースDB6及び第7の分割データベースDB7に
分割されている。これら第1〜第7の分割データベース
DB1〜DB7の各々は、図5に示したデータベースD
B1〜DB4の各々に相当する(そのため同様の参照符
号を用いている)。各分割データベースDB1〜DB7
は、検索制御部1で生成される各データベース毎の検索
プロセスにより検索される。
【0044】見積表格納部2は、データベース3の各分
割データベースDB1〜DB7毎にそれぞれ検索処理量
を見積もったプロセッサ資源の資源割当が設定されたテ
ーブルとして見積表を格納している。この見積表は、例
えば、分割データベースのサイズ及びデータ件数等に基
づいて予め固定値として初期設定される資源割当値、及
び該資源割当値に乗算される定数すなわち係数の形で随
時資源割当値を補正する補正値をそれぞれ分割データベ
ースDB1〜DB7毎に設定して構成している。
【0045】検索制御部1は、クライアントCからの検
索要求に基づき、データベース3の各分割データベース
DB1〜DB7の検索処理量の見積に応じてプロセッサ
資源の資源割当を行い、所要の分割データベースDB1
〜DB7を検索するための複数の検索プロセスを生成
し、実行させる。検索制御部1は、さらに該検索プロセ
スによる検索結果を収集して、統合し且つソートしてク
ライアントCに返す。
【0046】すなわち、検索制御部1は、図示するよう
に、通信部11、資源割当部12、プロセス生成部1
3、結果収集部14及び統合・ソート部15を有する。
通信部11は、クライアントCとの通信を行い、クライ
アントCからの検索要求を受け、検索結果をクライアン
トCに返す。資源割当部12は、通信部11で受信され
た検索要求に基づきデータベース3を分割データベース
DB1〜DB7毎に検索するための複数の検索プロセス
を生成して、該検索プロセスにより分割データベースD
B1〜DB7の検索を行う。この検索プロセスの生成に
際し、資源割当部12は、見積表格納部2に格納された
テーブルである見積表、つまりデータベース3の各分割
データベースDB1〜DB7毎にそれぞれ検索処理量を
見積もってプロセッサ資源の資源割当値及び補正値が設
定されたテーブルを参照して、プロセッサ資源を割り当
てる。
【0047】結果収集部14は、先に述べた検索プロセ
スにより、データベース3の分割データベースDB1〜
DB7で検索された検索結果を収集する。該結果収集部
14は、収集した検索結果に基づき、見積表格納部2に
格納された補正値に修正すべきものが存在するときは、
当該補正値を更新して、以後の資源割当に供する。統合
・ソート部15は、結果収集部14で収集された結果
を、マージする等して統合し、さらに所要の順序に従っ
てソートして、最終的な検索結果として通信部11に与
える。この検索結果は、通信部11を介してクライアン
トCに返される。
【0048】次に、このように構成されたデータベース
検索システムの動作について、図2に示すフローチャー
ト、図3に示す動作概念図及び図4に示す見積表の構成
図を参照して説明する。
【0049】クライアントCからの検索要求が、検索サ
ーバS内の検索制御部1で実行される検索コントロール
プロセスP0に与えられる(ステップS11)。検索コ
ントロールプロセスP0は、資源割当部12により、図
4に示す各分割データベースDB1〜DB7の検索処理
量の見積表TBを参照して(ステップS12)、各検索
プロセスに割り当てるプロセッサ資源を決定する(ステ
ップS13)。見積表TBにおいて、プロセッサ資源割
当値(初期値)は、予め各分割データベースDB1〜D
B7のサイズ及びデータ件数等に基づいて初期設定して
おく。
【0050】例えば、分割データベースDB1〜DB7
のデータ件数に基づいて、プロセッサ資源割当値を決定
する場合、単純に各分割データベースDB1〜DB7に
含まれるデータ件数に応じた値をプロセッサ資源割当値
とする。また、実際のデータ件数のみに基づいてプロセ
ッサ資源割当値を決定しても、他の要因、例えば検索ヒ
ット件数等の要因により検索処理時間が変動するため、
プロセッサ資源割当値に定数として乗算してプロセッサ
資源割当値を補正するための係数である補正値も見積表
TBに格納しておく。該補正値は、各分割データベース
DB1〜DB7毎に設定し、随時更新されるが、初期値
は1としておいてよい。
【0051】さらに、検索コントロールプロセスP0
は、各分割データベースDB1〜DB7の検索処理をそ
れぞれ行う検索プロセスP1〜P7を生成し、これら検
索プロセスP1〜P7を、Solarisにおけるniceコマン
ドのようにプロセッサ資源使用の優先度を与えるオペレ
ーテイングシステムのコマンドを用いて起動する(ステ
ップS14)。具体的には例えば、汎用的なオペレーテ
イングシステムであるSolarisでは、niceコマンドの設
定値として、0〜39を与えることができるため、処理
量の多い検索プロセスに対してはプロセッサ資源利用の
優先度をあげるよう、nice値を小さく設定する。
【0052】ここで、例えば検索対象の分割データベー
ス(すなわち検索プロセス)が分割データベースDB
1、DB2、DB3、DB5及びDB7の5個の場合の
nice値を設定する方法の例を示す。まず、検索処理量の
見積表TBより各分割データベースDBi(i=1,
2,3,5,7)のプロセッサ資源割当値PAiを取得
する。さらに、各データベースの補正値Hiにより補正
を行い、補正後のプロセッサ資源割当値Qiを次のよう
に求める。 Qi=PAi×Hi このQiの中で、最大値をQmaxとしたとき、各データ
ベースの検索プロセスに与えるnice値NICEiを次の
数1で与える。
【0053】
【数1】NICEi=40×{1−(Qi/Qmax)}
【0054】起動された各検索プロセスPiは、個々の
分割データベースDBiの検索を実行する。各検索プロ
セスPiの実行結果は、検索コントロールプロセスに返
されて、結果収集部14で収集される(ステップS1
5)。そうすると、検索コントロールプロセスは、結果
収集部14において、各検索プロセスPiの当該検索処
理に要した検索時間を測定する。測定した検索時間と、
該当する検索プロセスPiに与えたプロセッサ資源を勘
案して、図4に示す検索処理量の見積表TBの補正値を
更新し、次回以後の検索処理における検索効率を向上さ
せる(ステップS16)。例えば、各データベースDB
iが補正値Hiであるときにおける各データべースDB
iの検索プロセスの処理時間Ti(秒)から平均値Tav
eを求め、更新後の補正値H′iを次の数2により算定
する。
【0055】
【数2】H′i=Hi×(Ti/Tave)
【0056】このように検索の都度、補正値が更新され
るため、仮に初期値にあまり適切でない値を設定してい
ても、高速な検索を実現することができる。
【0057】このようにして、すべての検索プロセスP
iから返された検索結果は、検索コントロールプロセス
P0で、統合・ソート部15により統合・ソート処理を
行い(ステップS17)、その結果を検索要求のあった
クライアントCに最終検索結果として返す(ステップS
18)。
【0058】このようにすれば、データベース検索の処
理時間を効果的に短縮することができる。特に、データ
ベースサイズ等の均一化を意識しないでデータベースを
分割している場合にも効果的に検索時間を短縮すること
ができる。また、データベース検索を繰り返す度に補正
値が更新されるため、データベース検索を繰り返すほど
一層の処理時間の短縮を実現することができる
【0059】なお、上述においては、検索サーバをSM
P型マルチプロセッサマシンを用いて実現する場合につ
いて説明したが、複数の検索プロセスを並列的に実行す
ることができるシステムであれば、どのようなシステム
についても上述と同様にして実施することができる。
【0060】なお、この発明のシステムは、専用のシス
テムとして構成することなく、通常のコンピュータシス
テムを用いて実現することができる。例えば、コンピュ
ータシステムに上述の動作を実行するためのプログラム
を格納した媒体(フロッピーディスク、CD−ROM
等)から該プログラムをインストールすることにより、
上述の処理を実行するシステムを構築することができ
る。インストールによって、当該プログラムは、コンピ
ュータシステム内のハードディスク等の媒体に格納され
て、システムを構成し、実行に供される。
【0061】また、コンピュータにプログラムを供給す
るための媒体は、狭義の記憶媒体に限らず、通信回線、
通信ネットワーク及び通信システムのように、一時的且
つ流動的にプログラム等の情報を保持する通信媒体等を
含む広義の記憶媒体であってもよい。
【0062】例えば、インターネット等の通信ネットワ
ーク上に設けたFTP(File Transfer Protocol)サー
バに当該プログラムを登録し、FTPクライアントにネ
ットワークを介して配信してもよく、通信ネットワーク
の電子掲示板(BBS:Bulletin Board System)等に
該プログラムを登録し、これをネットワークを介して配
信してもよい。そして、このプログラムを起動し、OS
(Operating System)の制御下において実行することに
より、上述の処理を達成することができる。さらに、通
信ネットワークを介してプログラムを転送しながら起動
実行することによっても、上述の処理を達成することが
できる。
【0063】
【発明の効果】以上説明したように、この発明によれ
ば、複数のデータベースの検索にあたり、データベース
検索における処理量に応じて各データベースの検索プロ
セスのプロセッサ資源を適切に割り当てることにより、
プロセッサ資源を有効に活用し、データベースの検索時
間を短縮することを可能とするデータベース検索システ
ム、マルチプロセッサシステム及びデータベース検索方
法を提供することができる。
【図面の簡単な説明】
【図1】この発明の実施の形態に係るデータベース検索
システムの構成を模式的に示すブロック図である。
【図2】図1のデータベース検索システムにおける動作
を説明するためのフローチャートである。
【図3】図1のデータベース検索システムにおける動作
を模式的に示すプロセス概念図である。
【図4】図1のデータベース検索システムに用いられる
見積表の構成を模式的に示す図である。
【図5】従来の検索処理とこの発明による検索処理との
相違を模式的に示す図である。
【符号の説明】
S 検索サーバ C クライアント 1 検索制御部 2 見積表格納部 3 データベース 11 通信部 12 資源割当部 13 プロセス生成部 14 結果収集部 15 統合・ソート部

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】与えられた検索要求に応じた複数のデータ
    ベースの検索にそれぞれ予測される処理量に応じてプロ
    セッサ資源を割り当てる資源割当手段と、 前記資源割当手段によるプロセッサ資源の資源割当に従
    って、前記複数のデータベースの検索を並列的に実行す
    る複数の検索プロセスを生成し起動する検索プロセス生
    成手段と、 前記複数の検索プロセスの実行による検索結果を収集す
    る結果収集手段と、を具備することを特徴とするデータ
    ベース検索システム。
  2. 【請求項2】データベース毎の予測される検索処理量か
    らなる見積テーブルを格納する見積テーブル格納手段を
    さらに備え、 前記資源割当手段は、前記見積テーブルを参照してプロ
    セッサ資源の資源割当を決定する手段を含み、 前記結果収集手段は、その収集実績に基づいて前記見積
    テーブル格納手段に格納される見積テーブルを補正更新
    する手段を含む、ことを特徴とする請求項1に記載のデ
    ータベース検索システム。
  3. 【請求項3】前記見積テーブル格納手段は、前記データ
    ベース毎に、予測される検索処理量に基づいて固定的に
    設定された資源割当値、及び前記結果収集手段により随
    時更新されて前記資源割当値を補正する補正値を含む見
    積テーブルを格納することを特徴とする請求項2に記載
    のデータベース検索システム。
  4. 【請求項4】前記検索プロセス生成手段は、前記データ
    ベース毎に生成した検索プロセスを、該検索プロセスに
    前記資源割当手段による前記資源割当に従ったプロセッ
    サ資源使用の優先度を与えて、起動する手段を含むこと
    を特徴とする請求項1、2又は3に記載のデータベース
    検索システム。
  5. 【請求項5】前記結果収集手段で収集された検索結果を
    統合する統合手段をさらに含むことを特徴とする請求項
    1乃至4のうちのいずれか1項に記載のデータベース検
    索システム。
  6. 【請求項6】前記統合手段は、統合された検索結果をソ
    ートする手段を含む、 ことを特徴とする請求項5に記載のデータベース検索シ
    ステム。
  7. 【請求項7】複数のデータベースをそれぞれ構築する複
    数のデータベース手段と、 各々複数のデータベースの検索プロセスを実行し得る複
    数のプロセッサ手段と、 与えられた検索要求に応じた複数のデータベースの検索
    に、それぞれ予測される処理量に応じて前記複数のプロ
    セッサ手段のプロセッサ資源を割り当てる資源割当手段
    と、 前記資源割当手段によるプロセッサ資源の資源割当に従
    い、前記複数のプロセッサ手段を用いて、前記複数のデ
    ータベース手段の検索を並列的に実行する複数の検索プ
    ロセスを生成し起動する検索プロセス生成手段と、 前記複数の検索プロセスの実行による検索結果を収集し
    て検索要求元に返す結果収集手段と、 を具備することを特徴とするマルチプロセッサシステ
    ム。
  8. 【請求項8】各データベース手段毎の予測される検索処
    理量からなる見積テーブルを格納する見積テーブル格納
    手段をさらに備え、 前記資源割当手段は、前記見積テーブルを参照してプロ
    セッサ資源の資源割当を決定する手段を含み、 前記結果収集手段は、その収集実績に基づいて前記見積
    テーブル格納手段に格納される見積テーブルを補正更新
    する手段を含むことを特徴とする請求項7に記載のマル
    チプロセッサシステム。
  9. 【請求項9】前記見積テーブル格納手段は、前記データ
    ベース手段毎に、予測される検索処理量に基づいて固定
    的に設定された資源割当値、及び前記結果収集手段によ
    り随時更新されて前記資源割当値を補正する補正値を含
    む見積テーブルを格納することを特徴とする請求項8に
    記載のマルチプロセッサシステム。
  10. 【請求項10】前記検索プロセス生成手段は、前記デー
    タベース手段毎に生成した検索プロセスを、該検索プロ
    セスに前記資源割当手段による前記資源割当に従ったプ
    ロセッサ資源使用の優先度を与えて、起動する手段を含
    むことを特徴とする請求項7、8又は9に記載のマルチ
    プロセッサシステム。
  11. 【請求項11】前記結果収集手段で収集された検索結果
    を、検索要求元に返す前に統合する統合手段をさらに含
    むことを特徴とする請求項8、9又は10に記載のマル
    チプロセッサシステム。
  12. 【請求項12】前記統合手段は、統合された検索結果を
    ソートする手段を含む、 ことを特徴とする請求項11に記載のマルチプロセッサ
    システム。
  13. 【請求項13】与えられた検索要求に応じた複数のデー
    タベースの検索にそれぞれ予測される処理量に応じてプ
    ロセッサ資源を割り当てる資源割当ステップと、 前記資源割当ステップによるプロセッサ資源の資源割当
    に従って、前記複数のデータベースの検索を並列的に実
    行する複数の検索プロセスを生成し起動する検索プロセ
    ス生成ステップと、 前記複数の検索プロセスの実行による検索結果を収集す
    る結果収集ステップと、を有することを特徴とするデー
    タベース検索方法。
  14. 【請求項14】前記資源割当ステップは、予め設定した
    各データベース毎の予測される検索処理量からなる見積
    テーブルを参照してプロセッサ資源の資源割当を決定す
    るステップを含み、 前記結果収集ステップは、その収集実績に基づいて前記
    見積テーブルを補正更新するステップを含み、 前記見積テーブルは、各データベース毎に、予測される
    検索処理量に基づいて固定的に設定された資源割当値、
    及び前記結果収集ステップにより随時更新されて前記資
    源割当値を補正する補正値を含み、 前記検索プロセス生成ステップは、前記データベース毎
    に生成した検索プロセスを、該検索プロセスに前記資源
    割当に従ったプロセッサ資源使用の優先度を与えて、起
    動するステップを含む、ことを特徴とする請求項13に
    記載のデータベース検索方法。
  15. 【請求項15】前記結果収集ステップで収集された検索
    結果を統合する統合ステップをさらに含むことを特徴と
    する請求項13又は14に記載のデータベース検索方
    法。
  16. 【請求項16】前記統合ステップは、統合された検索結
    果をソートするステップをさらに含むことを特徴とする
    請求項13、14又は15に記載のデータベース検索方
    法。
JP9198888A 1997-07-24 1997-07-24 データベース検索システム、マルチプロセッサシステム及びデータベース検索方法 Pending JPH1139340A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9198888A JPH1139340A (ja) 1997-07-24 1997-07-24 データベース検索システム、マルチプロセッサシステム及びデータベース検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9198888A JPH1139340A (ja) 1997-07-24 1997-07-24 データベース検索システム、マルチプロセッサシステム及びデータベース検索方法

Publications (1)

Publication Number Publication Date
JPH1139340A true JPH1139340A (ja) 1999-02-12

Family

ID=16398614

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9198888A Pending JPH1139340A (ja) 1997-07-24 1997-07-24 データベース検索システム、マルチプロセッサシステム及びデータベース検索方法

Country Status (1)

Country Link
JP (1) JPH1139340A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235551A (ja) * 1999-02-17 2000-08-29 Pfu Ltd データベース並列検索制御方法および記録媒体
JP2001282845A (ja) * 2000-03-31 2001-10-12 Canon Inc 情報処理装置及び情報処理方法、記憶媒体
US6986139B1 (en) 1999-10-06 2006-01-10 Nec Corporation Load balancing method and system based on estimated elongation rates
JP2007249468A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd Cpu割当方法、cpu割当プログラム、cpu割当装置、および、データベース管理システム
JP2008123040A (ja) * 2006-11-08 2008-05-29 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、管理コンピュータ
JP2009015534A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、リソース割当装置
CN103605704A (zh) * 2013-11-08 2014-02-26 深圳大学 大量url数据任意字段索引及检索方法
WO2017078080A1 (ja) * 2015-11-03 2017-05-11 バンクガード株式会社 電子認証用サーバシステム、電子認証方法、及び、電子認証システム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235551A (ja) * 1999-02-17 2000-08-29 Pfu Ltd データベース並列検索制御方法および記録媒体
US6986139B1 (en) 1999-10-06 2006-01-10 Nec Corporation Load balancing method and system based on estimated elongation rates
JP2001282845A (ja) * 2000-03-31 2001-10-12 Canon Inc 情報処理装置及び情報処理方法、記憶媒体
JP4545873B2 (ja) * 2000-03-31 2010-09-15 キヤノン株式会社 情報処理システム、記憶媒体
JP2007249468A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd Cpu割当方法、cpu割当プログラム、cpu割当装置、および、データベース管理システム
JP2008123040A (ja) * 2006-11-08 2008-05-29 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、管理コンピュータ
JP4571609B2 (ja) * 2006-11-08 2010-10-27 株式会社日立製作所 リソース割当方法、リソース割当プログラム、および、管理コンピュータ
JP2009015534A (ja) * 2007-07-03 2009-01-22 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、リソース割当装置
US8209697B2 (en) 2007-07-03 2012-06-26 Hitachi, Ltd. Resource allocation method for a physical computer used by a back end server including calculating database resource cost based on SQL process type
CN103605704A (zh) * 2013-11-08 2014-02-26 深圳大学 大量url数据任意字段索引及检索方法
CN103605704B (zh) * 2013-11-08 2017-02-01 深圳大学 大量url数据任意字段索引及检索方法
WO2017078080A1 (ja) * 2015-11-03 2017-05-11 バンクガード株式会社 電子認証用サーバシステム、電子認証方法、及び、電子認証システム

Similar Documents

Publication Publication Date Title
Marcu et al. Spark versus flink: Understanding performance in big data analytics frameworks
US9396036B2 (en) System and method for limiting the impact of stragglers in large-scale parallel data processing
Zhou et al. Balanced parallel fp-growth with mapreduce
Fan et al. Incrementalization of graph partitioning algorithms
US20070143759A1 (en) Scheduling and partitioning tasks via architecture-aware feedback information
WO2012144985A1 (en) Scheduling map and reduce tasks of jobs for execution according to performance goals
CN110147407B (zh) 一种数据处理方法、装置及数据库管理服务器
CN1934566A (zh) 用于动态查询优化的方法、设备和计算机程序
Shalita et al. Social hash: an assignment framework for optimizing distributed systems operations on social networks
US20140026147A1 (en) Varying a characteristic of a job profile relating to map and reduce tasks according to a data size
Wu et al. Optimizing the performance of big data workflows in multi-cloud environments under budget constraint
US11023281B2 (en) Parallel processing apparatus to allocate job using execution scale, job management method to allocate job using execution scale, and recording medium recording job management program to allocate job using execution scale
JP6129290B1 (ja) 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム
CN107861796A (zh) 一种支持云数据中心能耗优化的虚拟机调度方法
CN111722918A (zh) 业务标识码生成方法、装置、存储介质及电子设备
CN110941602A (zh) 数据库的配置方法、装置、电子设备及存储介质
CN111538867A (zh) 一种有界增量图划分方法和系统
CN113495779A (zh) 一种任务调度方法和装置、任务执行系统
CN111488323B (zh) 一种数据处理方法、装置及电子设备
CN110084507B (zh) 云计算环境下分级感知的科学工作流调度优化方法
JPH1139340A (ja) データベース検索システム、マルチプロセッサシステム及びデータベース検索方法
CN109788013B (zh) 分布式系统中作业资源分配方法、装置及设备
CN110413393B (zh) 集群资源管理方法、装置、计算机集群及可读存储介质
US20100251256A1 (en) Scheduling Data Analysis Operations In A Computer System
JP2009037369A (ja) データベースサーバへのリソース割当て方法