(57)【要約】【課題】性格の異なる基幹系問合せと情報系問合せを同一のデータベースに対して実行した場合のディスクアクセスやバッファアクセスの競合を無くし、互いへの悪影響の発生を防止することが可能な技術を提供する。【解決手段】基幹系問合せ及び情報系問合せによってアクセスされるデータを管理するデータベース管理方法において、問合せにおけるトランザクション分離レベルによりその問合せが基幹系問合せまたは情報系問合せの何れであるかを判定するステップと、前記問合せが基幹系問合せであると判定された場合に、その問合せのアクセス手順を原本データベースに対して実行するステップと、前記問合せが情報系問合せであると判定された場合に、その問合せのアクセス手順を複製データベースに対して実行するステップとを有するものである。【選択図】　　　　図１
2004038608.tif 000002
【特許請求の範囲】
【請求項１】
基幹系問合せ及び情報系問合せによってアクセスされるデータを管理するデータベース管理方法において、
問合せにおけるトランザクション分離レベルによりその問合せが基幹系問合せまたは情報系問合せの何れであるかを判定するステップと、前記問合せが基幹系問合せであると判定された場合に、その問合せのアクセス手順を原本データベースに対して実行するステップと、前記問合せが情報系問合せであると判定された場合に、その問合せのアクセス手順を複製データベースに対して実行するステップとを有することを特徴とするデータベース管理方法。
【請求項２】
前記問合せにおけるトランザクション分離レベルがＲＥＡＤ　ＵＮＣＯＭＭＩＴＴＥＤの場合に情報系問合せであると判定し、それ以外の場合に基幹系問合せであると判定することを特徴とする請求項１に記載されたデータベース管理方法。
【請求項３】
前記問合せが情報系問合せであると判定された場合に、その問合せによってアクセスされる表が複製データベースに存在するかを確認し、複製データベースにその表が存在する場合に、その問合せによるアクセス対象の物理データベースを複製データベースに変更することを特徴とする請求項１または請求項２のいずれかに記載されたデータベース管理方法。
【請求項４】
基幹系問合せ及び情報系問合せによってアクセスされるデータを管理するデータベース管理システムにおいて、
問合せにおけるトランザクション分離レベルによりその問合せが基幹系問合せまたは情報系問合せの何れであるかを判定する問合せ解析部と、前記問合せが基幹系問合せであると判定された場合に、その問合せのアクセス手順を原本データベースに対して実行する原本データベースアクセス部と、前記問合せが情報系問合せであると判定された場合に、その問合せのアクセス手順を複製データベースに対して実行する複製データベースアクセス部とを備えることを特徴とするデータベース管理システム。
【請求項５】
基幹系問合せ及び情報系問合せによってアクセスされるデータを管理するデータベース管理システムとしてコンピュータを機能させる為のプログラムにおいて、
問合せにおけるトランザクション分離レベルによりその問合せが基幹系問合せまたは情報系問合せの何れであるかを判定する問合せ解析部と、前記問合せが基幹系問合せであると判定された場合に、その問合せのアクセス手順を原本データベースに対して実行する原本データベースアクセス部と、前記問合せが情報系問合せであると判定された場合に、その問合せのアクセス手順を複製データベースに対して実行する複製データベースアクセス部としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は主キーによる一意な絞込み及び外部キーと主キーによる１対１結合を主とする問合せ（基幹系問合せ）と複数レコード及び１対多または多対多結合を行う問合せ（情報系問合せ）が併存するデータベース管理システムに関し、特に情報系問合せによる基幹系問合せに対する性能影響を排除する為に複製データベースを作成、管理するデータベース管理システムに適用して有効な技術に関するものである。
【０００２】
【従来の技術】
従来のデータベース管理システムにおいて、主キーによる一意な絞込み及び外部キーと主キーによる１対１結合を主とする基幹系問合せと、複数レコード及び１対多または多対多結合を行う情報系問合せが同一の情報をアクセスする場合、物理的に同一のデータベースを参照していた為、演算装置資源、ディスク資源、バッファのメモリ資源、バッファ管理部等を、基幹系問合せの処理と情報系問合せの処理で共有していた。
【０００３】
また、複製データベースを作成、管理するデータベース複製化機能を用いて基幹系データベースの全部または一部から複製データベースを作成し、原本データベースに対して基幹系問合せを行う様に指定し、複製データベースに対して情報系問合せを行う様に指定することを明示的に行うことにより、原本データベースに対して基幹系問合せを行い、複製データベースに対して情報系問合せを行う運用もある。
【０００４】
更に特開平１０−２８３２３６号公報に有る様に、複製データベースを用いたデータベースシステムの負荷分散手法はこれまでもあるが、これはラウンドロビンによる負荷分散であり、問合せのトランザクション分離レベルによる用途毎のデータベースの選択ではない。
【０００５】
【発明が解決しようとする課題】
基幹系問合せは、一般に問合せ当たりのアクセスレコード数は多くないが、高度なトランザクション分離レベル、高多重、高スループットを要求する傾向にある。一方で情報系問合せは、一般に要求するトランザクション分離レベルは低く、多重度及びスループットは高くないものの問合せ当たりのアクセスレコード数が膨大になり、演算装置資源の大量消費、バッファ管理部の頻繁なアクセス、バッファ上レコードの大量破棄、ディスクの大量アクセスを行う傾向にある。基幹系問合せを行うデータベースに対して前記の様な情報系問合せを実行すると、演算装置資源の割当て不足、バッファ管理部アクセスの競合、バッファ上レコード破棄により必要となるディスクアクセスにより、基幹系の同時実行性、スループットに重大な悪影響を及ぼすことがある。
【０００６】
また、複製データベースを作成、管理するデータベース複製化機能を用いて基幹系データベースの全部または一部から複製データベースを作成した場合、クライアント設計時には、原本データベースに対して基幹系問合せを行い、複製データベースに対して情報系問合せを行う様に明示的に指定する必要がある為、問合せ設計が煩雑となる。
【０００７】
本発明の目的は上記問題を解決し、性格の異なる基幹系問合せと情報系問合せを同一のデータベースに対して実行した場合のディスクアクセスやバッファアクセスの競合を無くし、互いへの悪影響の発生を防止することが可能な技術を提供することにある。
【０００８】
【課題を解決するための手段】
本発明は、基幹系問合せ及び情報系問合せによってアクセスされるデータを管理するデータベース管理システムにおいて、トランザクション分離レベルにより原本及び複製データベースを選択して基幹系問合せまたは情報系問合せを行うものである。ここで、トランザクション分離レベルとは、あるトランザクションを別のトランザクションから分離する方法を決定する為の属性であり、分離の厳密性の高いものから低いものの順に、ＳＥＲＩＡＬＩＺＡＢＬＥ、ＲＥＰＥＡＴＡＢＬＥ　ＲＥＡＤ、ＲＥＡＤ　ＣＯＭＭＩＴＴＥＤ、ＲＥＡＤ　ＵＮＣＯＭＭＩＴＴＥＤの何れかのレベルで表されるものである。
【０００９】
一般に、基幹系問合せは要求するトランザクション分離レベルが高く、情報系問合せはトランザクション分離レベルが低い。トランザクション分離レベルが低い場合、同時に実行される他トランザクションによる問合せへの影響を排除する必要が無い。すなわち、複数トランザクションが順次実行されたと同じ結果を示す様に他トランザクションによる更新済み未コミットレコードや該トランザクション発生後に他トランザクションが更新しコミットしたデータの参照を排除する必要が無い。また、一般に情報系問合せでは複数トランザクション間の厳密な順序性を保証する必要は無い。
【００１０】
本発明のデータベース管理システムでは、低いトランザクション分離レベルの情報系問合せにおける性質と問合せに含まれるトランザクション分離レベルの情報を用いて、情報系問合せアクセスを行う物理データベースを複製データベースに、基幹系問合せがアクセスする物理データベースを原本データベースに自動的に振り分けることにより、基幹系問合せと情報系問合せ間の演算装置資源、ディスク資源、バッファのメモリ資源及びバッファ管理部アクセス等の競合を自動的に排除すると共に、問合せ設計を容易にする。
【００１１】
前記の様に本発明では、性格の異なる基幹系問合せと情報系問合せを同一のデータベースに対して実行した場合にアクセスされる物理データベースを分離することにより、基幹系問合せと情報系問合せ間の演算装置資源、ディスク資源、バッファのメモリ資源、バッファ管理部のアクセスの競合を排除することができ、情報系問合せによるこれら資源の大量消費が基幹系問合せに対する同時実行性低下、スループット低下等の悪影響を及ぼすことが無くなる。また、本発明では、問合せの際に原本データベースと複製データベースを明示的に指定する必要が無く、問合せ設計が容易になる。また、複製データベースの定義、作成に伴うデータベース導入の煩雑さが無くなる。
【００１２】
以上の様に本発明のデータベース管理システムによれば、トランザクション分離レベルにより原本及び複製データベースを選択して基幹系問合せまたは情報系問合せを行うので、性格の異なる基幹系問合せと情報系問合せを同一のデータベースに対して実行した場合のディスクアクセスやバッファアクセスの競合を無くし、互いへの悪影響の発生を防止することが可能である。
【００１３】
【発明の実施の形態】
以下に基幹系問合せ及び情報系問合せによってアクセスされるデータを管理する一実施形態のデータベース管理システムについて説明する。
【００１４】
図１は本実施形態のデータベース管理システムの概略構成を示す図である。図１に示す様に本実施形態の計算機００２は、問合せ解析部００４と、格納データベース決定部００５と、複製作成管理部００７と、原本データベースアクセス部０１１と、複製データベースアクセス部０２１とを有している。
【００１５】
問合せ解析部００４は、クライアント００３からの問合せにおけるトランザクション分離レベルにより、その問合せが基幹系問合せまたは情報系問合せの何れであるかを判定する処理部である。格納データベース決定部００５は、複製データベース定義格納部００６に格納されている複製データベース定義を参照し、前記問合せによってアクセスされる表が複製データベース０２３に存在するかどうかを確認する処理部である。
【００１６】
複製作成管理部００７は、複製データベース０２３の作成及び管理を行う処理部である。原本データベースアクセス部０１１は、前記問合せが基幹系問合せであると判定された場合に、その問合せのアクセス手順を原本データベース０１３に対して実行する処理部である。複製データベースアクセス部０２１は、前記問合せが情報系問合せであると判定された場合に、その問合せのアクセス手順を複製データベース０２３に対して実行する処理部である。
【００１７】
計算機００２を問合せ解析部００４、格納データベース決定部００５、複製作成管理部００７、原本データベースアクセス部０１１及び複製データベースアクセス部０２１として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００１８】
本実施形態において、図１における計算機００１及び００２はそれぞれ計算機を示すものとするが、計算機の境界は図１の限りではないものとする。すなわちクライアント００３がデータベースマネージメントシステムのコンポーネントである問合せ解析部００４等と共存する形式、原本データベースアクセス部０１１及び原本データベースバッファ０１２と複製データベースアクセス部０２１及び複製データベースバッファ０２２が異なる計算機上に配置される形式も考えられる。
【００１９】
図２は本実施形態の問合せ手続きの処理手順を示すフローチャートである。図１及び図２を用いて本実施形態における問合せ処理の実現方法を説明する。
【００２０】
本実施形態のデータベース管理システムにおいて、クライアント００３でデータベースへの問合せが生成されると、その問合せは問合せ処理を実行する問合せ解析部００４に送信される。
【００２１】
本実施形態の問合せ解析部００４は、クライアント００３から送信された問合せ文をステップ２０１で受け付けた後、その受け付けた問合せの字句解析（ステップ２０２）、構文解析（ステップ２０３）、意味解析前部（ステップ２０４）の各処理を行う。この字句解析、構文解析、意味解析前部の各処理では、トランザクション分離レベルの抽出、問合せでアクセスする表名の抽出処理を含むものとする。
【００２２】
次にステップ２０５では、前記抽出されたトランザクション分離レベルから問合せが基幹系問合せか情報系問合せかを判定する。本実施形態ではトランザクション分離レベルがＲＥＡＤ　ＵＮＣＯＭＭＩＴＴＥＤの場合には、その問合せは情報系問合せであると判定し、それ以外の場合には基幹系問合せであると判定する。
【００２３】
ステップ２０５で前記問合せが基幹系問合せであると判定された場合にはステップ２０８へ進み、意味解析後部以降の処理を行う。一方、ステップ２０５で前記問合せが情報系問合せであると判定された場合にはステップ２０６へ進む。ステップ２０６では、格納データベース決定部００５により複製データベース定義格納部００６へアクセスして複製データベース定義を参照し、その問合せによってアクセスされる表が複製データベース０２３に存在するかを確認する。
【００２４】
ステップ２０６での確認の結果、前記問合せによってアクセスされる表が複製データベース０２３に存在していない場合にはステップ２０８へ進み、意味解析後部以降の処理を行う。またステップ２０６での確認の結果、複製データベース０２３に前記アクセス表が存在している場合にはステップ２０７へ進み、その問合せによってアクセスされる物理データベースを、原本データベース０１３から複製データベース０２３に変更する。
【００２５】
引き続きステップ２０８で意味解析後部の処理を行った後、最適化（ステップ２０９）、アクセス手順生成（ステップ２１０）を行い、生成したアクセス手順をアクセスされる物理データベースにより原本データベースアクセス部０１１または複製データベースアクセス部０２１に転送し（ステップ２１１）、問合せの前処理を終了する。
【００２６】
アクセス手順の実行において問合せが基幹系問合せの場合には、まず原本データベースアクセス部０１１によりアクセスするレコードが原本データベースバッファ０１２中に存在するか確認する（ステップ２１２）。該当レコードが原本データベースバッファ０１２中に存在する場合にはステップ２１５へ進み、原本データベースバッファ０１２へアクセスを行うが、該当レコードが存在しない場合にはステップ２１３へ進み、原本データベース０１３にアクセスする。ステップ２１４で調べた結果、原本データベース０１３にも該当レコードが存在しない場合には、制御をクライアント００３に返し、ステップ２０１で次の問合せを受け付ける。ステップ２１４で原本データベース０１３に該当レコードが存在している場合には、結果を原本データベースバッファ０１２に登録した後にステップ２１５へ進み、原本データベースバッファ０１２へのアクセスを行う。続いてアクセスしたレコードをクライアント００３に返却し、次のレコードにアクセスする。
【００２７】
アクセス手順の実行において、問合せが情報系問合せの場合も複製データベース０２３に対してアクセスを行うことを除き、基幹系問合せと同様の処理を行う。まず複製データベースアクセス部０２１によりアクセスするレコードが複製データベースバッファ０２２中に存在するか確認する（ステップ２１２）。該当レコードが複製データベースバッファ０２２中に存在する場合にはステップ２１５へ進み、複製データベースバッファ０２２へアクセスを行うが、該当レコードが存在しない場合にはステップ２１３へ進み、複製データベース０２３にアクセスする。ステップ２１４で調べた結果、複製データベース０２３にも該当レコードが存在しない場合には、制御をクライアント００３に返し、ステップ２０１で次の問合せを受け付ける。ステップ２１４で複製データベース０２３に該当レコードが存在している場合には、結果を複製データベースバッファ０２２に登録した後にステップ２１５へ進み、複製データベースバッファ０２２へアクセスを行う。続いてアクセスしたレコードをクライアント００３に返却し、次のレコードにアクセスする。
【００２８】
前記の様に本実施形態では、性格の異なる基幹系問合せと情報系問合せを同一のデータベースに対して実行した場合にアクセスされる物理データベースを分離することにより、基幹系問合せと情報系問合せ間の演算装置資源、ディスク資源、バッファのメモリ資源、バッファ管理部のアクセスの競合を排除することができ、情報系問合せによるこれら資源の大量消費が基幹系問合せに対する同時実行性低下、スループット低下等の悪影響を及ぼすことが無くなる。また、本実施形態では、トランザクション分離レベルにより物理データベースを変更しているので、問合せの際に原本データベースと複製データベースを明示的に指定する必要が無く、問合せ設計が容易になる。また、情報系問合せでアクセスされる表が複製データベースに定義されていない場合には原本データベースへのアクセスを行うので、複製データベースの定義、作成に伴うデータベース導入の煩雑さを無くすことができる。
【００２９】
以上説明した様に本実施形態のデータベース管理システムによれば、トランザクション分離レベルにより原本及び複製データベースを選択して基幹系問合せまたは情報系問合せを行うので、性格の異なる基幹系問合せと情報系問合せを同一のデータベースに対して実行した場合のディスクアクセスやバッファアクセスの競合を無くし、互いへの悪影響の発生を防止することが可能である。
【００３０】
【発明の効果】
本発明によればトランザクション分離レベルにより原本及び複製データベースを選択して基幹系問合せまたは情報系問合せを行うので、性格の異なる基幹系問合せと情報系問合せを同一のデータベースに対して実行した場合のディスクアクセスやバッファアクセスの競合を無くし、互いへの悪影響の発生を防止することが可能である。
【図面の簡単な説明】
【図１】本実施形態のデータベース管理システムの概略構成を示す図である。
【図２】本実施形態の問合せ手続きの処理手順を示すフローチャートである。
【符号の説明】
００１及び００２…計算機、００３…クライアント、００６…複製データベース定義格納部、０１２…原本データベースバッファ、０１３…原本データベース、０２２…複製データベースバッファ、０２３…複製データベース、００４…問合せ解析部、００５…格納データベース決定部、００７…複製作成管理部、０１１…原本データベースアクセス部、０２１…複製データベースアクセス部。
【図１】
2004038608.tif 000003
【図２】
2004038608.tif 000004