(57)【特許請求の範囲】
【請求項１】
外部記憶装置に格納されたデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、
前記データ検索に伴って前記データベースから読み込まれたデータブロックを前記複数の処理装置のそれぞれに備えられるデータバッファに保持させ、前記データブロックを保持させたデータバッファのブロックの識別情報と前記データバッファを有する処理装置を特定するアドレス情報とを更新管理するディクショナリ管理部と、
前記複数の処理装置のデータベースが接続された処理装置内のデータバッファが読み込まれたデータブロックで満杯になったとき、前記データブロックを他の処理装置のデータバッファヘの転送を行うバッファ管理部と、
前記検索時に、前記ディクショナリ管理部における前記アドレス情報を参照し、当該検索の対象となるデータブロックを保持する処理装置が見つかったとき、見つかった処理装置及び該処理装置の前記ブロックを決定し、前記検索の対象となるデータブロックを保持する処理装置が見つからなかったとき、処理装置のデータバッファに、外部記憶装置からデータ検索の対象となるデータブロックを読み込み、前記検索対象となるデータブロックを保持する処理装置に、前記ブロックについて前記データ検索を実行させる検索実行制御部とを具備することを特徴とするデータベースシステム。
【請求項２】
前記データ検索は全件検索であり、
前記バッファ管理部は、全件検索で処理装置内のデータバッファが読み込まれたデータブロックで満杯になったとき、データブロックを他の処理装置内のデータバッファに転送して当該処理装置のバッファを空け、そこに外部記憶装置からデータブロックを読み込み、
前記検索実行制御部は、転送されたデータブロックを保持するデータバッファを有する処理装置内の前記データバッファ内の前記データブロックを対象として、以後の全件検索の実行制御を、前記他の処理装置に行わせることを特徴とする請求項１記載のデータベースシステム。
【請求項３】
前記バッファ管理部による前記データブロックの転送先を、他の処理装置または指定された処理装置内の開放してもよいデータバッファとすることを特徴とする請求項２記載のデータベースシステム。
【請求項４】
外部記憶装置に格納されたデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、
前記データ検索に伴って前記データベースから読み込まれたデータブロックを前記複数の処理装置のそれぞれに備えられるデータバッファに保持させ、前記データブロックを保持させたデータバッファのブロックの識別情報と前記データバッファを有する処理装置を特定するアドレス情報とを記録管理し、
前記複数の処理装置のデータベースが接続された処理装置内のデータバッファが読み込まれたデータブロックで満杯になったとき、前記データブロックを他の処理装置のデータバッファヘの転送を行い、
前記検索時に、前記更新管理されている前記アドレス情報を参照し、当該検索の対象となるデータブロックを保持する処理装置が見つかったとき、見つかった処理装置及び該処理装置の前記ブロックを決定し、前記検索の対象となるデータブロックを保持する処理装置が見つからなかったとき、処理装置のデータバッファに、外部記憶装置からデータ検索の対象となるデータブロックを読み込み、前記検索対象となるデータブロックを保持する処理装置に、前記ブロックについて前記データ検索を実行させることを特徴とするデータベースシステム。
【請求項５】
外部記憶装置に格納されたデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータ検索方法において、
前記データ検索に伴って前記データベースから読み込まれたデータブロックを前記複数の処理装置のそれぞれに備えられるデータバッファに保持させ、前記データブロックを保持させたデータバッファのブロックの識別情報と前記データバッファを有する処理装置を特定するアドレス情報とを記録管理し、
前記複数の処理装置のデータベースが接続された処理装置内のデータバッファが読み込まれたデータブロックで満杯になったとき、前記データブロックを他の処理装置のデータバッファヘの転送を行い、
前記検索時に、前記更新管理されている前記アドレス情報を参照し、当該検索の対象となるデータブロックを保持する処理装置が見つかったとき、見つかった処理装置及び該処理装置の前記ブロックを決定し、前記検索の対象となるデータブロックを保持する処理装置が見つからなかったとき、処理装置のデータバッファに、外部記憶装置からデータ検索の対象となるデータブロックを読み込み、前記検索対象となるデータブロックを保持する処理装置に、前記ブロックについて前記データ検索を実行させることを特徴とするデータ検索方法。
【請求項６】
前記データ検索は全件検索であり、
前記データブロックの他の処理装置のデータバッファヘの転送は、全件検索で処理装置内のデータバッファが読み込まれたデータブロックで満杯になったとき、データブロックを他の処理装置内のデータバッファに転送して当該処理装置のバッファを空け、そこに外部記憶装置からデータブロックを読み込む転送であり、
前記データ検索は、転送されたデータブロックを保持するデータバッファを有する処理装置内の前記データバッファで保持されている前記データブロックを対象として、当該データブロックを保持する処理装置が以後の全件検索の実行を行う検索であることを特徴とする請求項５記載のデータ検索方法。
【請求項７】
前記データブロックの転送先を、他の処理装置または指定された処理装置内の開放してもよいデータバッファとすることを特徴とする請求項５記載のデータ検索方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はデータベースシステム及びデータ検索方法に係り、特に、非定型検索（全件検索）が頻繁に発生する場合に好適なデータベースシステム及びデータ検索方法に関する。
【０００２】
【従来の技術】
従来のデータベースシステムにおいては、あるユーザからのデータ検索要求で全件検索が発生すると、大容量の外部記憶装置内のデータベースを構成するデータの先頭から順に処理装置内の主記憶上のデータバッファに読み込みが行われ、さらに連続して別のユーザからのデータ検索要求で全件検索が発生すると、上記と同様に外部記憶装置内のデータベースを構成するデータの先頭から順に処理装置内の主記憶上のデータバッファへの読み込みが行われる（アン  イントロダクション  トゥ  データベース  システムズ，シー  ジェイ  デイト，アディソンウェズリー，１９８６，第４５頁から第５８頁／Ａｎ  Ｉｎｔｒｏｄｕｃｔｉｏｎ  ｔｏ  Ｄａｔａｂａｓｅ  Ｓｙｓｔｅｍｓ，  Ｃ．  Ｊ．  Ｄａｔｅ，  ＡＤＤＩＳＯＮ−ＷＥＳＬＥＹ，１９８６，ｐｐ４５−ｐｐ５８）。すなわち、上記データベースシステムでは、最初の全件検索でデータバッファに読み込まれた先頭データが追い出された後に次の全件検索が発生すると、主記憶上のデータバッファに残った（先頭データのない）一部データを再利用することはできないので、もう一度すべてのデータを外部記憶装置からデータバッファに読み込んでいる。
【０００３】
また、従来からデータ検索に際して対象とするデータに対して索引を作成することで検索範囲を絞るなどの手法を用いているが、事前にどのような検索形態が発生するのか不明な利用形態ではあらかじめ索引を作成することが困難であり、結果的にすべてのデ−タを読み込むことが必要となる。そこで、外部記憶装置からデータを読み込む際に先読みを行うことで見かけ上の検索時間を短縮するといった手法も多用されている。さらに、検索に伴う一連の処理を分割して複数の処理装置で並列的に実行させることにより、各々の処理装置における負荷の軽減および均一化を図って全体的な検索処理の性能を向上させる並列分散処理方法が、特開平３−４１５５０号公報において提案されている。
【０００４】
【発明が解決しようとする課題】
一般的に、処理装置内のデータバッファの容量は外部記憶装置の容量よりも小さく、外部記憶装置からデータバッファに読み込まれたデータは、当該データの利用後にバッファメモリが満杯になると捨てられてしまうので、同一のデータを別の検索で再度利用する場合には、もう一度外部記憶装置から当該デ−タを読み込まなければならない。このため、全件検索が頻繁に発生するデータベースシステムでは、その都度すべてのデータを外部記憶装置から読み込むことになり、これによって外部記憶装置からの読み込み頻度が増大して検索処理のスループットが大幅に低下してしまうという問題点があった。
【０００５】
また、前述したデータの先読みや並列分散処理などが行われる従来のデータベースシステムにおいても、多数のユーザからの検索要求によって全件検索が頻繁に発生する場合には、上記と同様に外部記憶装置からのデータの読み込み頻度が増大して検索処理のスループットが低下するとともに、並列処理中の複数の検索要求が交錯すると外部記憶装置中の読み込み位置が大きく変動し、外部記憶装置からの読み込み動作そのもののスループットが低下してしまうおそれがあるという問題点があった。
【０００６】
したがって本発明の目的は、上記の問題点を解決して、全件検索が頻繁に発生する場合における外部記憶装置からのデータの読み込み頻度を低減させるとともに、同一のデータを対象とする異なる全件検索を並列的に実行して、検索処理のスループットを向上させることのできるデータベースシステム及びデータ検索方法を提供することにある。
【０００７】
【課題を解決するための手段】
(1) 上記の目的を達成するため、本発明のデータベースシステムは、外部記憶装置に格納されたデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、前記データ検索に伴って前記データベースから読み込まれたデータブロックを前記複数の処理装置のそれぞれに備えられるデータバッファに保持させ、前記データブロックを保持させたデータバッファのブロックの識別情報と前記データバッファを有する処理装置を特定するアドレス情報とを更新管理するディクショナリ管理部と、前記複数の処理装置のデータベースが接続された処理装置内のデータバッファが読み込まれたデータブロックで満杯になったとき、前記データブロックを他の処理装置のデータバッファヘの転送を行うバッファ管理部と、前記検索時に、前記ディクショナリ管理部における前記アドレス情報を参照し、当該検索の対象となるデータブロックを保持する処理装置が見つかったとき、見つかった処理装置及び該処理装置の前記ブロックを決定し、前記検索の対象となるデータブロックを保持する処理装置が見つからなかったとき、処理装置のデータバッファに、外部記憶装置からデータ検索の対象となるデータブロックを読み込み、前記検索対象となるデータブロックを保持する処理装置に、前記ブロックについて前記データ検索を実行させる検索実行制御部とを具備することを特徴とする構成としたものである。
【０００８】
(2) また、(1)の構成において、前記データ検索は全件検索であり、前記バッファ管理部は、全件検索で処理装置内のデータバッファが読み込まれたデータブロックで満杯になったとき、データブロックを他の処理装置内のデータバッファに転送して当該処理装置のバッファを空け、そこに外部記憶装置からデータブロックを読み込み、前記検索実行制御部は、転送されたデータブロックを保持するデータバッファを有する処理装置内の前記データバッファ内の前記データブロックを対象として、以後の全件検索の実行制御を、前記他の処理装置に行わせるものである。
【０００９】
（３）  また、（２）の構成において、前記バッファ管理部による前記データブロックの転送先を、未使用の処理装置内のデータバッファまたは指定された処理装置内のデータバッファとするものである。
【００１０】
【作用】
上記構成に基づく作用を説明する。
【００１１】
本発明のデータベースシステムでは、外部記憶装置内のデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、データ検索に伴ってデータベースから一度読み込まれた各々のデータブロックについて、前記データブロックを保持するデータバッファを有する処理装置を特定するアドレス情報の記録管理を行うディクショナリ管理部と、各々の処理装置内のデータバッファの使用状況に応じて、所定の条件を満たすデータブロックの他のデータバッファへの転送を行うバッファ管理部と、前記ディクショナリ管理部における前記アドレス情報に基づいてデータ検索の実行制御を行う検索実行制御部とを具備する構成としたことにより、最初にデータ検索の対象として外部記憶装置から読み込まれたデ−タブロックは破棄されることなく別の処理装置内のデータバッファに転送され、二度目以降の当該データブロックを対象とする検索要求に際しては、ディクショナリ管理部に記録管理されているアドレス情報に基づき、いずれかの処理装置内のデータバッファに保持されている当該デ−タブロックを再利用することが可能となる。
【００１２】
すなわち、同一のデータを対象とする２回目以降のデータ検索においては、アクセス速度の遅い（１ＭＢ／ｓｅｃ程度）外部記憶装置から当該データを読み込むことなく、アクセス速度の速い（１００ＭＢ／ｓｅｃ程度）データバッファ中の当該データについてすぐに検索処理を行うことができるので、特に、全件検索が頻繁に発生する場合における外部記憶装置からのデータの読み込み頻度を低減させて、検索処理のスループットを向上させることができる。また、同一のデータを対象とする異なる全件検索を並列的に実行して、検索処理のスループットをさらに向上させることもできる。
【００１３】
【実施例】
以下、本発明のデータベースシステムの実施例を図１〜図６を用いて詳細に説明する。
【００１４】
図１は、本発明のデータベースシステムの全体構成の一例を示すブロック図である。同図中、データベースシステムは、それぞれがデ−タの検索／更新処理を実行するハードウェアである並列動作可能な複数の処理装置１０２，各々の処理装置１０２を相互に結合してデータ転送を可能とする処理装置間高速通信路１１２，大容量の磁気ディスク装置などの外部記憶装置内に格納されているデ−タベ−ス１１１によって構成されている。そして、処理装置１０２には、データベースシステムの基本構成要素として、ユ−ザからの検索要求などを受付けるプログラムである検索／更新要求入力部１０１，入力されたユーザからの検索要求を解析して全件検索を行うべきか否かなどの具体的な検索処理内容を決定する検索処理要求解析部１０３，決定された検索処理の実行制御を行う検索実行制御部１０４，いずれの処理装置１０２にどんなデータが保持されているかというアドレス情報の記録管理を行うディクショナリ管理部１０６，外部記憶装置内のデータベース１１１に対するアクセス管理を行うデ−タベ−スアクセス制御部１０８，データベース１１１から読み込んだデータを保持する主記憶装置上のデ−タバッファ１１０，デ−タバッファ１１０の管理および他の処理装置１０２とのデータ転送制御を行うバッファ管理部１０９などが設けられている。
【００１５】
図２は、図１中のディクショナリ管理部の詳細を示すブロック図である。同図中、ディクショナリ管理部１０６には管理用の制御ブロック１０７が設けられており、データ管理ブロック２０１が管理する表名称インデックス２０２により、先頭データブロックが保持されているデータバッファ１１０を有する処理装置１０２を特定する先頭データブロックアドレス２０３およびその他のデータブロックが保持されているデータバッファ１１０を有する処理装置１０２を特定する一般データブロックアドレス２０４が各々の表ごとに記憶されている。
【００１６】
図３は、本発明のデータベースシステムの具体的な適用例（データ分割型）を説明するブロック図であり、複数の処理装置１０２のうちのいくつかの使用目的が未定である（フローティング）構成において、最初の全件検索でデータベース１１１を有する外部記憶装置から必要なデータブロックを読み込む際に、当該外部記憶装置が接続された処理装置１０２内のデータバッファ１１０が読み込まれたデータブロックで満杯になったとき、データブロックを他の処理装置１０２内のデータバッファ１１０に転送することにより、２回目以降の全件検索で他の処理装置１０２から所望のデータを取得することを可能として、外部記憶装置からの読み込み頻度の低減を図っている。
【００１７】
非定型業務においては、検索条件に対応する索引が存在しない場合や、索引が存在してもその検索条件では絞り込みが不可能な場合などが数多く発生する。そして、このような場合には、データベースに対する検索の方法としては、全件検索を行わざるを得ない。すなわち、検索の条件が何も存在しない検索要求だけではなく、様々な検索条件が指定された検索要求であっても（同一の検索要求に限らず）すべてのデータを対象として検索を行う必要が数多く発生する。
【００１８】
図３においては、最初の全件検索要求に応じて外部記憶装置から読み込まれたデータブロックのすべてを各々の処理装置１０２内のデータバッファ１１０に配置しておくことにより、後続する全件検索要求に対して外部記憶装置からの読み込み動作をまったく行うことなく、全件検索を実行して要求に応じることができる。ここで、各々のデータブロックが配置されているデータバッファ１１０を有する処理装置１０２を特定するアドレス情報の記録管理を行うのが、別の処理装置１０２に設けられているディクショナリ管理部１０６である。すなわち、ユーザＡの全件検索要求３０１に応じて全件検索が行われた後に、ユ−ザＢの全件検索要求３０２が発生した場合には、ディクショナリ管理部１０６に問い合わせることによって所望のデータが配置されているデータバッファ１１０を有する処理装置１０２のすべてがわかるので、それらの処理装置１０２に対して並列的に検索処理を実行させることで、全件検索を容易に行うことができる。また、データブロックの更新に際しては、転送されたデータブロック以外の別の領域を使用して更新が行われるので、同時に行われる他の全件検索に対して何ら悪影響を与えることはない。なお、図３の例では、ユ−ザＢの全件検索要求３０２に応じて複数の処理装置ＰＢおよびＰＣ内のデータバッファ１１０に対して検索が行われ、ユーザＣの更新要求に応じてひとつの処理装置ＰＡ内のデータバッファ１１０を用いて更新が行われている。
【００１９】
図４は、図３における処理の流れを示すフローチャートである。同図中、全件検索処理を行う場合には、ディクショナリ管理部１０６に対して問い合わせを行って、いずれかの処理装置１０２に所望のデ−タが格納されているか否かを得る（ステップ４０１）。そして、所望のデータを有する処理装置１０２があった場合にはステップ４１０に分岐し、該当する処理装置１０２のすべてに対して同時に検索要求を発行することで全件検索を行う。一方、いずれの処理装置１０２にも所望のデ−タが格納されていない場合にはステップ４０２に分岐し、外部記憶装置が接続されている処理装置１０２内に解放してもよいデ−タバッファ１１０があるか否かを判定する（“解放してもよいデ−タバッファ”とは、例えば、現在実行中のいずれの検索処理にも参照されていない別の表のデ−タなどが格納されているデータバッファ領域のことである。）。ステップ４０２で解放してもよいデ−タバッファ１１０があると判定された場合には、外部記憶装置から当該デ−タバッファ１１０に所望のデータを読み込み（ステップ４０３）、ディクショナリ管理部１０６を更新する（ステップ４０４）。また、ステップ４０２で解放してもよいデ−タバッファ１１０はないと判定された場合（すなわち、デ−タバッファ１１０が満杯である場合）には、ステップ４０６に分岐してフローティングな（未使用の）他の処理装置１０２内に解放してもよいデ−タバッファ１１０を見つけ、すでに利用済みのデータを当該他の処理装置１０２内のデ−タバッファ１１０に転送して追い出して（ステップ４０７）から、ディクショナリ管理部１０６を更新する（ステップ４０８）。そして、転送によって空いた外部記憶装置が接続されている処理装置１０２内のデータバッファ１１０に所望のデータを読み込む（ステップ４０９）。以上のように、他の処理装置に対してデ−タバッファがオ−バ−フロ−した場合や、一定時間ごとまたは一定アクセス量ごとに、利用済みデータブロックの転送や再利用を行うことができる。
【００２０】
さらに、上記によれば、外部記憶装置が接続されている処理装置１０２とは別の処理装置１０２によって検索が行われるので、全件検索に際して入出力に用いられる各々の処理装置にかかる負荷を低減させることができる。また、このような処理装置の能力の支援を目的として、他の処理装置の能力を有効に利用するために外部記憶装置が接続されている処理装置１０２内のデータバッファ中のデータを転送して転送先の処理装置１０２で検索を実行する場合においては、転送先の処理装置１０２は参照専用に使用されるので排他制御の必要がなく、参照性能を向上させることができる一方、更新処理は転送元の（外部記憶装置が接続されている）処理装置１０２のみで行われるので更新の影響を考慮して実行中の全件検索を中断させる必要がない。
【００２１】
図５は、本発明のデータベースシステムの具体的な適用例（パイプライン型）を説明するブロック図であり、データベース１１１を有する外部記憶装置から読み込まれた後、現在実行中の全件検索による利用が終わったデータブロックの各々について、指定された他の処理装置１０２内の空きのあるデ−タバッファ１１０へ順次転送してゆくことにより、２回目以降の全件検索における当該データブロックの再利用を可能としている。
【００２２】
図５において、ユ−ザＡの全件検索要求３０１に応じて、外部記憶装置内のデータベース１１１から処理装置ＰＡのデータバッファ１１０に、データブロック１，２の順序で読み込みを行う場合について考える。一般にデータバッファ１１０の容量は外部記憶装置の容量よりも小さく、検索の終わったデータブロック１を保持したままの状態で次のデータブロック２を読み込むことはできないので、従来は利用済みのデータブロック１を捨てていた。これに対して、本適用例では利用済みのデータブロック１を残り容量に余裕のあるデータバッファ１１０を有する指定された別の処理装置１０２へ転送することにより、外部記憶装置からの読み込みなしで、次回のユーザＢの全件検索要求３０２に応じた検索を行うことができる。一方、ユーザＣからの更新要求３０３に対しては、上記によって他の処理装置１０２に転送されたデータブロックとは別に、外部記憶装置が直接接続されている処理装置１０２内のデータバッファ１１０で更新処理を行う。これによって、更新処理が行われる処理装置とは異なる処理装置で複数の全件検索処理を実行するとともに、外部記憶装置から順次読み込まれたデータブロックを別の処理装置１２０上で再利用することができる。
【００２３】
図６は、図５における処理の流れを示すフローチャートである。同図中、全件検索処理を行う場合には、ディクショナリ管理部１０６に問い合わせを行って、検索対象とするデータブロック群の先頭データブロックが格納されているデータバッファ１１０を有する処理装置１０２を特定するアドレス情報２０３を見つける（ステップ６０１）。そして、先頭データブロックがあった場合には、当該先頭データブロックに対して検索を行った後、次のデータブロックが流れてくるのを待つ（ステップ６１１）。一方、検索対象の先頭データブロックが格納されたデータバッファ１１０がいずれの処理装置１０２にもなかった場合には、外部記憶装置に直接接続されている処理装置１０２内のデータバッファ１１０に空きがあるか否かを調べて（ステップ６０２）、空きがあった場合には、外部記憶装置内のデータベース１１１から当該データバッファ１１０に所望のデータブロックを読み込み（ステップ６０３）、ディクショナリ管理部１０６を更新して（ステップ６０４）から、読み込まれたデータブロックを利用して検索を行う（ステップ６０５）。また、ステップ６０２で空きがなかった場合には、指定された次の処理装置１０２内のデータバッファ１１０に空きがあるか否かを調べ（ステップ６０７）、空きがあればすでに利用済のデータブロックを転送して（ステップ６０８）、ディクショナリ管理部１０６を更新して（ステップ６０９）から、上記転送によって空きの生じたデータバッファ１１０に外部記憶装置内のデータベース１１１から次のデータブロックを読み込み（ステップ６１０）、読み込まれたデータブロックを利用して検索を行う（ステップ６０５）。ステップ６０７で指定された次の処理装置１０２内のデータバッファ１１０に空きがなかった場合には、さらに次に指定された処理装置１０２内のデータバッファ１１０内のデータを連鎖的に（トコロテンのように）追い出してから所望のデータブロックを読み込み（ステップ６１２）、読み込まれた当該データブロックを利用して検索を行う（ステップ６０５）。以上のように、他の処理装置に対してデ−タバッファがオ−バ−フロ−した場合や、一定時間ごとまたは一定アクセス量ごとに、利用済みデータブロックの転送や再利用を行うことができる。
【００２４】
さらに、データ分割型およびパイプライン型のいずれの場合でも、十分な処理装置１０２を設けることによって、外部記憶装置から読み込まれたすべてのデータブロックを処理装置１０２内のデータバッファ１１０に保持できるようにすれば、外部記憶媒体１１１への入力要求をまったく行わずに全件検索を行うこともできる。そして、データブロックの更新処理については、外部記憶装置が直接接続されている処理装置１０２内のデータバッファ１１０で実行され、更新されたデータブロックは通常のデータ転送によって他の処理装置１０２内のデータバッファ１１０に反映される。
【００２５】
【発明の効果】
以上詳しく説明したように、本発明のデータベースシステムによれば、外部記憶装置内のデータベースを対象とするデータ検索を、並列動作可能な複数の処理装置によって行うデータベースシステムにおいて、データ検索に伴ってデータベースから一度読み込まれた各々のデータブロックについて、前記データブロックを保持するデータバッファを有する処理装置を特定するアドレス情報の記録管理を行うディクショナリ管理部と、各々の処理装置内のデータバッファの使用状況に応じて、所定の条件を満たすデータブロックの他のデータバッファへの転送を行うバッファ管理部と、前記ディクショナリ管理部における前記アドレス情報に基づいてデータ検索の実行制御を行う検索実行制御部とを具備する構成としたことにより、最初にデータ検索の対象として外部記憶装置から読み込まれたデ−タブロックは破棄されることなく別の処理装置内のデータバッファに転送され、二度目以降の当該データブロックを対象とする検索要求に際しては、ディクショナリ管理部に記録管理されているアドレス情報に基づき、いずれかの処理装置内のデータバッファに保持されている当該デ−タブロックを再利用することが可能となる。
【００２６】
すなわち、同一のデータを対象とする２回目以降のデータ検索においては、アクセス速度の遅い（１ＭＢ／ｓｅｃ程度）外部記憶装置から当該データを読み込むことなく、アクセス速度の速い（１００ＭＢ／ｓｅｃ程度）データバッファ中の当該データについてすぐに検索処理を行うことができるので、特に、全件検索が頻繁に発生する場合における外部記憶装置からのデータの読み込み頻度を低減させて、検索処理のスループットを向上させることができるという効果が得られる。また、同一のデータを対象とする異なる全件検索を並列的に実行して、検索処理のスループットをさらに向上させることができるという効果も得られる。
【図面の簡単な説明】
【図１】本発明のデータベースシステムの全体構成の一例を示すブロック図である。
【図２】図１中のディクショナリ管理部の詳細を示すブロック図である。
【図３】本発明のデータベースシステムの具体的な適用例（データ分割型）を説明するブロック図である。
【図４】図３における処理の流れを示すフローチャートである。
【図５】本発明のデータベースシステムの具体的な適用例（パイプライン型）を説明するブロック図である。
【図６】図５における処理の流れを示すフローチャートである。
【符号の説明】
１０１  検索／更新要求入力部
１０２  処理装置（ＣＰＵ）
１０３  検索処理要求解析部
１０４  検索実行制御部
１０６  デイクショナリ管理部
１０７  制御ブロック
１０８  デ−タベ−スアクセス制御部
１０９  バッファ管理部
１１０  デ−タバッファ
１１１  外部記憶装置内のデ−タベ−ス
１１２  処理装置間高速転送路
２０１  データ管理ブロック
２０２  表名称インデックス
２０３  先頭データブロックアドレス
２０４  一般データブロックアドレス
【図１】
0003585264.tif 000002
【図２】
0003585264.tif 000003
【図３】
0003585264.tif 000004
【図４】
0003585264.tif 000005
【図５】
0003585264.tif 000006
【図６】
0003585264.tif 000007