(57)【特許請求の範囲】
【請求項１】
結合検索を含む問合せ要求を受け付けるデータベース管理システムと、データベースを前記結合検索に基づいて検索するデータベース管理システムとを備えるデータベースシステムにおいて、
前記結合検索を含む問合せ要求を受け付けるデータベース管理システムは、前記受け付けた問合せ要求を解析することにより、検索結果のデータが同一データの繰り返しになることの必然性を検出して返却データ管理情報を含む問合せ実行情報を作成する機構と、
返却データを一時的に蓄えるための前回返却データバッファと、前記前回返却データバッファを利用して前記返却データを復元する問合せ結果復元機構とを備え、
前記作成した問合せ実行情報に基づいて前記データベースを検索するデータベース管理システムは、前記返却データ管理情報に従って、検索結果である前回の返却データと今回の返却データの全体または一部が同一である場合、前記前回返却データと同一のデータを返却済フラグに置き換える返却データ圧縮機構を備えることを特徴とするデータベースシステム。
【請求項２】
結合検索を含む問合せ要求を受け付けるデータベース管理システムと、データベースを前記結合検索に基づいて検索するデータベース管理システムとを備えるデータベースシステムにおける検索データ返却方法において、
前記結合検索を含む問合せ要求を受け付けるデータベース管理システムは、前記受け付けた問合せ要求を解析することにより、検索結果のデータが同一データの繰り返しになることの必然性を検出して返却データ管理情報を含む問合せ実行情報を作成し、
返却データを一時的に前回返却データバッファに蓄え、前記前回返却データバッファを利用して前記返却データを復元し、
前記作成した問合せ実行情報に基づいて前記データベースを検索するデータベース管理システムは、前記返却データ管理情報に従って、検索結果である前回の返却データと今回の返却データの全体または一部が同一である場合、前記前回返却データと同一のデータを返却済フラグに置き換えて返却データを圧縮することを特徴とする検索データ返却方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データベースシステム及び検索データ返却方法に係り、特に、リレーショナルデータベース管理システムにおける外部結合検索のように、検索結果の返却データとして同一データ、または、部分的に同一なデータが繰り返し返却される場合に、その返却データを圧縮して返却することを可能にしたデータベースシステム及び検索データ返却方法に関する。
【０００２】
【従来の技術】
検索結果の返却データを圧縮して返却することのできるデータベースシステムに関する従来技術として、例えば、特開平９−１４６７５９号公報等に記載された技術が知られている。この従来技術によるデータベースシステムは、検索結果として得られたデータ列をサーチして、連続文字、特定キーワードを検出してデータ圧縮を行うというものである。
【０００３】
【発明が解決しようとする課題】
前記従来技術は、検索結果として得られたデータ列をサーチしなければならないため、データ列をサーチする処理のために演算装置等の負荷が高くなってしまうという問題点を有し、また、データベースをアクセスするサーバ等によるシステムとデータ検索を要求するクライアント等のシステムとがネットワーク等の通信回線を介して接続されている場合、通信回線上のトラフィックを増大させてしまうという問題点を有している。
【０００４】
本発明の目的は、前記従来技術の問題点を解決し、データベースへの問い合わせに対するデータベースアクセス手順を利用して、前回の返却データと同一データとなることをデータ列をサーチすることなく判断可能として、演算装置等に負荷をかけることなく、検索結果として得られたデータ列を高速にデータ圧縮して返却し、また、データ検索の依頼側で高速に復元を行うことを可能にし、また、データ転送量を減少させて効率的なデータ検索を行うことを可能にしたデータベースシステム及び検索データ返却方法を提供することにある。
【０００５】
【課題を解決するための手段】
本発明によれば前記目的は、結合検索を含む問合せ要求を受け付けるデータベース管理システムと、データベースを前記結合検索に基づいて検索するデータベース管理システムとを備えるデータベースシステムにおいて、前記結合検索を含む問合せ要求を受け付けるデータベース管理システムは、前記受け付けた問合せ要求を解析することにより、検索結果のデータが同一データの繰り返しになることの必然性を検出して返却データ管理情報を含む問合せ実行情報を作成する機構と、返却データを一時的に蓄えるための前回返却データバッファと、前記前回返却データバッファを利用して前記返却データを復元する問合せ結果復元機構とを備え、前記作成した問合せ実行情報に基づいて前記データベースを検索するデータベース管理システムは、前記返却データ管理情報に従って、検索結果である前回の返却データと今回の返却データの全体または一部が同一である場合、前記前回返却データと同一のデータを返却済フラグに置き換える返却データ圧縮機構を備えることにより達成される。
【０００６】
【発明の実施の形態】
以下、本発明によるデータベースシステムの一実施形態を図面により詳細に説明する。
【０００７】
図１は本発明の一実施形態による分散型のデータベースシステムの構成例を示すブロック図、図２は本発明を適用した結合検索におけるデータ圧縮について説明する図、図３はサーバ側での結合検索処理手順を説明するフローチャート、図４はクライアント側での問合せ処理手順例を説明するフローチャートである。図１において、１００、２００はデータベース管理システム（ＤＢＭＳ）、１０１はアプリケーションプログラム（ＡＰ）、１０２は問合せ解析機構、１０３は返却データ管理情報作成機構、１０４は問合せ実行機構、１０５は問合せ要求機構、１０６は問合せ結果受信機構、１０７は問合せ結果復元機構、１０８は前回返却データバッファ、１０９は問合せ結果返却機構、１１０、２０８は通信装置、２０１は問合せ実行機構、２０２は問合せ要求受付機構、２０３はデータベースアクセス機構、２０４はデータベース、２０５は返却済データ検出及びフラグ設定機構、２０６は返却データ管理情報、２０７は問合せ結果返送機構、３０１はネットワークである。
【０００８】
本発明の一実施形態によるデータベースシステムは、図１に示すように、ＡＰ１０１からの問合せ文（ＳＱＬ）を受け付けるＤＢＭＳ１００と、ＤＢＭＳ１００からの問合せ要求を契機として、データベース２０４をアクセスするＤＢＭＳ２００とが、通信装置１１０、２０８及びネットワーク３０１を介して接続されて構成されている。問合せ文を受け付けるＤＢＭＳ１００は、クライアントとしてＤＢＭＳ２００に問合せ要求を行うものであり、また、ＤＢＭＳ２００は、サーバとしてＤＢＭＳ１００からの問合せ要求によりデータベース２０４をアクセスするものである。
【０００９】
問合せ文を受け付けるＤＢＭＳ１００は、問合せ解析機構１０２と、問合せ実行機構１０４とから構成されている。問合せ解析機構１０２は、その内部に、前回返却データと同一データを返却する必然性を検出して返却データ管理情報を作成する返却データ管理情報作成機構１０３が設けられて構成され、また、問合せ実行機構１０４は、その内部に、通常のデータベース問合せ実行機構である問合せ要求機構１０５、問合せ結果受信機構１０６、問合せ結果返却機構１０９を備えると共に、本発明による問合せ結果として返却済フラグが返却されたとき、前回返却データバッファ１０８内の情報を利用して、今回の返却データを復元する問合せ結果復元機構１０７を備えて構成される。
【００１０】
データベース２０４をアクセスするＤＢＭＳ２００は、問合せ実行機構２０１を備え、この問合せ実行機構２０１は、通常のデータベース問合せ実行機構である問合せ要求受付機構２０１、データベースアクセス機構２０３、問合せ結果返送機構２０７を備えると共に、返却データ管理情報２０６を使用して、今回の返却データが返却済か否かを判断し、返却済であれば返却済フラグを設定する返却済データ検出及びフラグ設定機構２０５を備えて構成される。
【００１１】
前述した本発明の実施形態によるデータベースシステムは、問合せ文を受け付けるクライアントとしてのＤＢＭＳ１００とデータベースをアクセスするサーバとしてのＤＢＭＳ２００とを１台ずつ備えているとして図１に示しているが、本発明によるデータベースシステムは、ＤＢＭＳ１００、ＤＢＭＳ２００の複数台をネットワーク３０１に接続して構成することができる。
【００１２】
次に、前述したように構成される本発明の実施形態において、結合検索要求が行われた場合のデータ圧縮にについて図２を参照して説明する。
【００１３】
図２に示す例は、Ｘ表２０とＹ表３０との結合検索を要求する問合せ文に対する検索結果のデータ圧縮の例であり、Ｘ表２０とＹ表３０とにおけるデータＡＡＡ、ＢＢＢ、ＣＣＣ、ＤＤＤ、ＥＥＥは、ＡＡＡ＜ＢＢＢ＜ＣＣＣ＜ＤＤＤ＜ＥＥＥの関係にある値を有しているものとする。そして、問合せ文“ＳＥＬＥＣＴ＊ＦＲＯＭ  Ｘ，Ｙ  ＷＨＥＲＥ  Ｘ．Ｃ１＜Ｙ．Ｃ１”１０は、Ｘ表２０内の各データＣ１より、Ｙ表３０内の各データＣ１の方が大きい組み合わせのデータの全てを検索するという要求であるものとする。
【００１４】
このような問合せ文１０はＡＰ１０１から与えられる。これに対して、ＤＢＭＳ１００を介して検索要求を受けたＤＢＭＳ２００は、問合せ文の意味に従って、Ｘ表２０とＹ表３０との突き合わせを行って検索結果４０を得る。すなわち、ＤＢＭＳ２００は、Ｘ表２０内の最初のデータＡＡＡより大きいＹ表３０内のデータを抽出する。この場合、Ｙ表３０内の全データがデータＡＡＡより大きいので、Ｘ表２０内のデータＡＡＡとＹ表３０内の全データとの組み合わせのデータが検索データとして得られることになる。次に、ＤＢＭＳ２００は、Ｘ表２０内の次のデータＥＥＥより大きいＹ表３０内のデータを検索するが、Ｙ表３０内には該当するデータがなく、Ｘ表２０内の次のデータＣＣＣより大きいＹ表３０内のデータを検索する。この場合も、Ｙ表３０内には該当するデータがないため、Ｘ表２０内の次のデータＢＢＢより大きいＹ表３０内のデータを検索する。この場合、データＢＢＢより大きいデータＣＣＣがＹ表３０内に存在するので、ＤＢＭＳ２００は、Ｘ表２０内のデータＢＢＢとＹ表３０内のデータＣＣＣとの組み合わせのデータを検索データとして得ることができる。
【００１５】
前述した検索の結果、ＤＢＭＳ２００は、図２に４０として示すような検索結果のデータを得る。従来技術の場合、このような検索結果データ４０が、そのまま、ＤＢＭＳ１００に返却データとして転送されるが、本発明の実施形態では、返却データ５０として示すように、前回と同一データとなるＸ表２０内のデータ部分６０を返却済フラグに置き換えて、データ圧縮した転送用の返却データを生成してＤＢＭＳ１００に返却される。
【００１６】
前述したデータの圧縮は、返却データ管理情報２０６を使用して返却済フラグを設定することにより、検索結果のデータ列をサーチすることなく行うことができる。すなわち、本発明の実施形態は、結合検索のように、一方のデータ群の１つのデータと他方のデータ群内のデータとを結合させて検索データを抽出する場合、他方のデータ群のデータの検索中、一方のデータ群内のデータに変化がなくそのデータが繰返し現れるという性質を利用することにより、検索結果のデータ列をサーチすることなく、検索結果データの圧縮を行うことができる。
【００１７】
前述したような検索データの圧縮の可否は、ＡＰ１０１から与えられる問合せ文を問合せ解析部１０２が前述で説明したような結合検索であることを検出し、その解析の結果、検索データに同一データが繰返し現れるか否かを判別することにより決定される。そして、検索データに同一データが繰返し現れると判別した場合に、返却データ管理情報作成部１０３は、検索データの圧縮が可能であるとする返却データ管理情報を作成する。この情報は、問合せ要求と共にＤＢＭＳ２００に送られて、返却データの圧縮のために利用される。
【００１８】
次に、図３、図４に示すフローを参照して、図１に示すデータベースシステムによるデータベースの検索処理の動作を説明する。本発明の実施形態における全体的な処理の流れは、ＡＰ１０１から与えられた問合せ文を、問合せ解析機構１０２で解析し、ＤＢＭＳ２００に問合せ要求を行い、ＤＢＭＳ２００が受け取った問合せ実行情報（返却データ管理情報を含む）を使用して、データベースの検索を行い、その結果を要求元であるＤＢＭＳ１００に返送するものである。なお、以下の説明では、図２により説明した問合せが行われたものとして、図３、図４に示すフローを処理転送中に従って同時に説明する。
【００１９】
（１）まず、ＤＢＭＳ１００は、ＡＰ１０１から受付た問合せ文を解析して、返却データ管理情報を組み込んだデータベースアクセス手順である問合せ実行情報を作成し、次に、作成した問合せ実行情報をＤＢＭＳ２００に転送して問い合わせ要求を行い、ＤＢＭＳ２００からの応答を待つ（ステップＣ１０、Ｃ２０）。
【００２０】
（２）ＤＢＭＳ２００は、ＤＢＭＳ１００からの問合せ要求を受け付け、問合せ実行情報に従って結合検索を開始する。図２により説明したような結合検索の問合せ要求の場合、ＤＢＭＳ２００は、まず、問合せ要求に含まれる返却データ管理情報により、結合検索であり検索データの圧縮が可能であることを返却データ管理情報２０６に設定する。そして、ＤＢＭＳ２００は、Ｘ表を検索して返却済フラグをＯＦＦに設定し、検索データが返却済でないことを記憶する（ステップＳ１０、Ｓ２０）。
【００２１】
（３）ＤＢＭＳ２００は、続いてＹ表を検索して結合操作を行った後、返却済フラグがＯＮかＯＦＦかをチェックする（ステップＳ３０、Ｓ４０）。
【００２２】
（４）ＤＢＭＳ２００は、最初の状態では返却済フラグがＯＦＦとなっているため、検索値をそのままＤＢＭＳ１００に返送する。また、その後の問合せ要求では、Ｘ表の検索データを維持したまま、突き合わせ対象となるＹ表を続けて検索することになり、必然的にＸ表の返却データは前回と同一になるので、次の結合検索時には、後述のように、Ｘ表データの返却済フラグがＯＮとなっているので、検索データのＸ表データを返却済フラグに置換して、そのデータをＤＢＭＳ１００に返送する（ステップＳ６０、Ｓ５０、Ｓ６０）。
【００２３】
（５）１つの検索データの返送後、次に、ＤＢＭＳ２００は、Ｘ表データの返却済フラグをＯＮに設定し、Ｙ表のデータが残っているか否かをチェックする（ステップＳ７０、Ｓ８０）。
【００２４】
（６）ＤＢＭＳ２００は、Ｙ表のデータが残っており、次に問合せ要求がきた場合、ステップＳ３０の処理に戻って処理を続け、通常の結合検索の処理手順により、前回のＸ表の検索データを維持したまま、突き合わせ対象となるＹ表を続けて検索し、前回のＸ表検索データとの突き合わせを行う。すなわち、必然的にＸ表の返却データが前回と同一になる。このとき、前回の検索でＸ表の返却済フラグがＯＮにセットされているため、Ｘ表検索データが返却済フラグに置き換えられて検索結果とされる。
【００２５】
（７）さらに問合せ要求が繰り返され、ステップＳ８０でＹ表の検索が終了したことが判定された場合、Ｘ表にデータが残っているか否かをチェックし、データが残っていれば、ステップＳ１０の処理に戻って再度Ｘ表を検索するが、この検索データは返却されていないため、返却済フラグをＯＦＦにリセットしてから処理を継続し、Ｘ表にデータが残っていない状態となったとき処理を終了する（ステップＳ９０）。
【００２６】
（８）一方、応答待ち状態にあったＤＢＭＳ１００は、問合せ結果の検索データを受信した後、問合せ結果中の返却済フラグがＯＮか否かをチェックし、返却済フラグがＯＦＦであれば、その情報検索データを前回返却データバッファ１０８に格納すると共に、今回の返却データをそのまま検索結果データとして、ＡＰ１０１に結果を返却し、返却済フラグがＯＮであれば、前回返却データバッファ１０８を使用して検索結果データを復元してＡＰ１０１に結果を返却し、問合せ処理を終了する（Ｃ３０〜Ｃ５０）。
【００２７】
前述で説明したように、本発明の実施形態によれば、検索結果のデータ列をサーチすることなく、Ｘ表のデータを圧縮・復元することができる。
【００２８】
なお、前述した本発明の実施形態は、ＤＢＭＳ１００とＤＢＭＳ２００とが通信装置１１０、２１０及びネットワーク３０１を介して接続された分散データベースシステムとして説明したが、本発明は、並列データベースシステムや、密結合マルチプロセサシステムなど、任意のシステム構成、任意の接続方法においても複数ＤＢＭＳが連携するシステムであれば、容易に適用することができる。また、本発明は、従来の圧縮・伸長機構に依存せず、圧縮・伸長機構が存在しなくてもよく、逆に、任意の圧縮・伸長アルゴリズムに影響を与えずに、これらと併用することができる。
【００２９】
また、前述した本発明の実施形態は、いわゆる入れ子（ループネスト）方式による結合検索について説明したが、特定の問合せに限らず、データベースをアクセスする過程での必然性を利用することができる場合に、本発明を適用が可能であるし、必然性を検出する方法についても、必ずしも問合せ解析機構１０２が作成する必要はなく、問合せ実行中に任意の実行状態を検知して返却データ管理情報２０６を生成する等、任意の方法を用いることができる。
【００３０】
【発明の効果】
以上説明したように本発明によれば、データベースへの問い合わせに対するデータベースアクセス手順を利用して、前回の返却データと同一データとなることを検索結果のデータ列をサーチすることなく判断することができ、演算装置等に負荷をかけることなく、検索結果として得られたデータ列を高速にデータ圧縮して返却し、また、データ検索の依頼側で高速に復元を行うことができ、しかも、ネットワーク負荷をも低減することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態による分散型のデータベースシステムの構成例を示すブロック図である。
【図２】本発明を適用した結合検索におけるデータ圧縮について説明する図である。
【図３】サーバ側での結合検索処理手順を説明するフローチャートである。
【図４】クライアント側での問合せ処理手順例を説明するフローチャートである。
【符号の説明】
１００、２００  データベース管理システム（ＤＢＭＳ）
１０１  アプリケーションプログラム（ＡＰ）
１０２  問合せ解析機構
１０３  返却データ管理情報作成機構
１０４  問合せ実行機構
１０５  問合せ要求機構
１０６  問合せ結果受信機構
１０７  問合せ結果復元機構
１０８  前回返却データバッファ
１０９  問合せ結果返却機構
１１０、２０８  通信装置
２０１  問合せ実行機構
２０２  問合せ要求受付機構
２０３  データベースアクセス機構
２０４  データベース
２０５  返却済データ検出及びフラグ設定機構
２０６  返却データ管理情報
２０７  問合せ結果返送機構
３０１  ネットワーク
【図１】
0003630547.tif 000002
【図２】
0003630547.tif 000003
【図３】
0003630547.tif 000004
【図４】
0003630547.tif 000005