(57)【要約】  データ管理システム及びデータ管理方法。システムは、複数のデータクエリを解析し、且つ、それらのクエリに関するメトリックを提供するようになっている。システムは、さらに、メトリックに基づいてクエリを順序付けて、システムの性能パラメータを改善するか、又は、クエリに関する実行時間を推定する。より具体的な実施態様では、システムは、クエリのそれぞれのシグネチャを解析するためのコードと、シグネチャを較正されたシグネチャと比較するためのコードと、その比較に応じてシグネチャスコアを提供するためのコードとを含む。システムは、クエリのうちの少なくとも１つの実行時間を推定するためのコードをさらに含む。シグネチャは、ＳＱＬ（標準クエリ言語）等の適切な言語のステートメントのクラスタであってもよい。１つの代替形態として、シグネチャは、複数のステートメントから抽出される一組の特徴であってもよい。
2008525897.tif 000002
【特許請求の範囲】
【請求項１】
データ管理システムであって、
複数のデータクエリを解析して該複数のデータクエリに関するメトリックを提供するための第１の手段と、
前記メトリックに基づいて前記クエリを順序付けて、該システムの性能パラメータを改善するための第２の手段と、
を備えるデータ管理システム。
【請求項２】
前記第１の手段は、前記クエリのそれぞれのシグネチャを解析するための手段を含む、請求項１に記載の発明。
【請求項３】
前記シグネチャはステートメントのクラスタである、請求項２に記載の発明。
【請求項４】
前記ステートメントは、標準クエリ言語（ＳＱＬ）ステートメントである、請求項３に記載の発明。
【請求項５】
前記シグネチャは、前記複数のステートメントから抽出される一組の特徴である、請求項２に記載の発明。
【請求項６】
前記ステートメントは、標準クエリ言語（ＳＱＬ）ステートメントである、請求項５に記載の発明。
【請求項７】
前記第１の手段は、前記シグネチャを較正されたシグネチャと比較し、それに応じてシグネチャスコアを提供するための手段を含む、請求項２に記載の発明。
【請求項８】
前記スコアに応じて、前記クエリのうちの少なくとも１つの実行時間を推定するための手段をさらに含む、請求項７に記載の発明。
【請求項９】
データ管理システムであって、
複数のデータクエリを解析するための第１の手段と、
前記第１の手段に応答して、クエリの実行時間を推定するための第２の手段と、
を備えるデータ管理システム。
【請求項１０】
前記第１の手段は、前記クエリのそれぞれのシグネチャを解析するための手段を含む、請求項９に記載の発明。
【請求項１１】
前記シグネチャはステートメントのクラスタである、請求項１０に記載の発明。
【請求項１２】
前記ステートメントは、標準クエリ言語（ＳＱＬ）ステートメントである、請求項１１に記載の発明。
【請求項１３】
前記シグネチャは、前記複数のステートメントから抽出される一組の特徴である、請求項１０に記載の発明。
【請求項１４】
前記ステートメントは、標準クエリ言語（ＳＱＬ）ステートメントである、請求項１３に記載の発明。
【請求項１５】
前記第１の手段は、前記シグネチャを較正されたシグネチャと比較し、それに応じてシグネチャスコアを提供するための手段を含む、請求項１０に記載の発明。
【請求項１６】
前記スコアに応じて、前記クエリに関するメトリックを最小にするように該クエリを順序付けるための手段をさらに含む、請求項１５に記載の発明。
【請求項１７】
前記メトリックは実行時間である、請求項１６に記載の発明。
【請求項１８】
データ管理システムであって、
データベースと、
前記データベースに接続されるプロセッサと、
前記プロセッサを介して複数のクエリを前記データベースに供給するための通信インターフェースと、
前記プロセッサで実行されて、前記複数のクエリを解析し、該クエリの検索に関する性能パラメータを最適化するように該クエリを編成するソフトウェアと、
を備えるデータ管理システム。
【請求項１９】
前記ソフトウェアは、前記クエリのそれぞれのシグネチャを解析するためのコードを含む、請求項１８に記載の発明。
【請求項２０】
前記シグネチャはステートメントのクラスタである、請求項１９に記載の発明。
【請求項２１】
前記ステートメントは、標準クエリ言語（ＳＱＬ）ステートメントである、請求項２０に記載の発明。
【請求項２２】
前記シグネチャは、前記複数のステートメントから抽出される一組の特徴である、請求項１９に記載の発明。
【請求項２３】
前記ステートメントは、標準クエリ言語（ＳＱＬ）ステートメントである、請求項２２に記載の発明。
【請求項２４】
前記ソフトウェアは、前記シグネチャを較正されたシグネチャと比較し、それに応じてシグネチャスコアを提供するためのコードを含む、請求項１９に記載の発明。
【請求項２５】
前記スコアに応じて、前記クエリに関するメトリックを最小にするように該クエリを順序付けるためのコードをさらに含む、請求項２４に記載の発明。
【請求項２６】
前記メトリックは実行時間である、請求項２５に記載の発明。
【請求項２７】
データ管理方法であって、
複数のデータクエリを解析すると共に該複数のデータクエリに関するメトリックを提供するステップと、
前記メトリックに基づいて前記クエリを順序付けして、その性能パラメータを改善するステップと、
を含むデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ及びコンピュータソフトウェアに関する。より具体的には、本発明は、データベース管理システム及びデータベース管理方法に関する。
【背景技術】
【０００２】
市販の既製（ＣＯＴＳ）データベースソフトウェアエンジンキャッシュ管理システムは、一般に、ＬＲＵ（最長未使用）、及び、データベースキャッシュでのアクティブにアクセスされるデータ参照を最大にしようと試みる他のデータベースキャッシュ管理技法を利用する。これらの従来のデータベースキャッシングアルゴリズムは、一般に、次のクエリ及びそのデータ参照については知らない。したがって、従来のデータベースキャッシュ管理アルゴリズムは、一般に、クエリのスループットに関して準最適である。
【０００３】
クエリのスループットを改善しようとする取り組みには、キャッシュのサイズを増加させることが含まれていた。しかしながら、この手法は、キャッシュ内のデータに関連するオーバーヘッド（ロック、ラッチ、及びポインタ）の量によって制限を受ける。このオーバーヘッドによって、中央処理装置の速度は、データの検索において制限を受ける。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
したがって、当該技術分野では、改善されたデータベース検索及びキャッシュ管理方式が、１クエリ当たりの実行時間を削減し、それによって、所与のハードウェア／ソフトウェアプラットフォームにおける全体的なスループットを改善するためのシステム及び方法が必要とされている。
【課題を解決するための手段】
【０００５】
当該技術分野における必要性は、本発明のデータ管理システム及びデータ管理方法によって対処される。最も一般的な意味で、システムは、複数のデータクエリを解析し、且つ、それらのクエリに関するメトリックを提供するようになっている。システムは、さらに、メトリックに基づいてクエリを順序付けて、システムの性能パラメータを改善するか、又は、クエリに関する実行時間を見積もる（推定する）。
【０００６】
より具体的な実施態様では、システムは、クエリのそれぞれのシグネチャを解析するためのコードと、シグネチャを較正されたシグネチャと比較するためのコードと、その比較に応じてシグネチャスコアを提供するためのコードとを含む。システムは、クエリのうちの少なくとも１つの実行時間を推定するためのコードをさらに含む。シグネチャは、ＳＱＬ（標準クエリ言語）等の適切な言語のステートメント（文）のクラスタであってもよい。１つの代替形態として、シグネチャは、複数のステートメントから抽出される一組の特徴であってもよい。
【０００７】
ユーザクエリは、従来の市販の既製（ＣＯＴＳ）データベースエンジンにクエリをサブミットする前に、データベースキャッシュのヒットを最大にするように最適に配列される。最適な配列を達成するために、各ユーザクエリは、データ参照及びＳＱＬ言語の意味並びにそのクエリの予測実行時間において、そのクエリの、キューに入れられる他のクエリとの類似度について識別される。予測実行時間は、データベースキャッシュウィンドウサイズを超えるクエリをフィルタリングするのに使用することができる。
【０００８】
クエリ識別は、クエリシグネチャの生成に基づいている。クエリシグネチャは、データ参照及びＳＱＬステートメントの２つの主成分を有する。シグネチャは、ＳＱＬクエリのデータ参照及びステートメントへの、開始から終了までのシングルパス構文解析を使用して生成される。データ参照エイリアス（すなわち、異なるシンボル名を有する参照）及びデータ定数は、データベースキャッシュのヒット又はミスとは関係がないので、データ参照シグネチャからフィルタリングされる。クエリデータ参照は、次に、ｎベクトル空間に要素として入力される。「ｎ」ベクトル空間は、辞書式順序で配置される（すべての表及び表の要素のシンボル名を含み、ＣＯＴＳデータベースエンジンとは独立である）データベーススキーマを使用して作成される。ｎベクトル空間は、クエリの類似度の識別に使用されるデータ参照シグネチャ成分である。ｎベクトルとして、ユークリッド距離、ブール値、共分散、相互相関等、多くの標準的な数学技法を使用して類似度を測定することができる。
【０００９】
クエリＳＱＬステートメントシグネチャは、順序付けられた一組のステートメントを使用して生成することができる。順序付けられたステートメントの組は、開始から終了までのクエリパーサによって生成されたＳＱＬステートメント、関数、又は条件演算子のリストから成る。このリストは、次に、ＳＱＬステートメントシグネチャ成分となり、相互相関を使用して他のクエリと比較することができる。
【００１０】
（クエリ識別プロセスからの）データ参照シグネチャ及びＳＱＬステートメントシグネチャを使用すると、データベースエンジン用にキューに入れられたクエリを、最も類似したものから最も類似していないものへの類似度に基づいて再配列することができる。したがって、統計的には、（ランダムな配列は、ヒット／ミス比を或る平均と無相関化する一方、順序付けられた組はヒット／ミス比をその平均よりも高く増加させる傾向があるので）クエリのランダムな配列よりも多くのキャッシュヒットが、時間と共に発生するはずである。さらに、（ウィンドウで測定される）データベースキャッシュウィンドウを超えるクエリは、類似度に基づいてバッチオペレーション用にグループ化することができ、したがって、データキャッシュヒットが最適化される。
【発明を実施するための最良の形態】
【００１１】
次に、添付図面について、例示的な実施形態及び例示的な用途を説明して、本発明の有利な教示を開示する。
本明細書では、本発明を、特定の用途についての例示的な実施形態について説明するが、本発明は、それらの例示的な実施形態に限定されるものではないことは理解されるべきである。当業者及び本明細書で提供される教示を利用できる者には、本発明の範囲内にある追加の変更、用途、及び実施形態、並びに、本発明が非常に有用である追加の分野が認識されよう。
【００１２】
図１は、本発明の教示によるデータ管理システムの１つの例示的な実施態様の簡略化したブロック図である。図１に示すように、この例示的な実施形態では、本発明のデータ管理システム１０は、ユーザインターフェース１２、ウェブサーバ１４、アプリケーションサーバ１６、データベースサーバ２２、及びデータベース２６を含む。通常、データベース２６は、ハードディスク等の固定媒体に記憶されている。従来の教示によれば、データベースサーバ２２は、キャッシュメモリ２４を有する。ユーザインターフェース１２、ウェブサーバ１４、アプリケーションサーバ１６、及びデータベースサーバ２２は、汎用コンピュータ（図示せず）の中央処理装置（ＣＰＵ）で実行するようになっているソフトウェアで実施される。本教示によれば、アプリケーションサーバ１６は、以下でより十分に解説するように、システム１０の性能を最適化し、且つ、クエリ実行時間を出力するプロセス１８と共に示されている。クエリシグネチャ及び実行時間は、プロセス１８によってストレージ（記憶装置）２０に記録される。本教示によれば、性能最適化及びクエリ実行時間は、周期的クエリメトリック並びにリアルタイムクエリ時間推定／加速を介してＣＰＵのソフトウェアでもたらされる。
【００１３】
図２は、本発明の教示による周期的クエリメトリック方法の１つの例示的な実施態様のフロー図である。図２（ａ）に示すように、方法１００は、初期化のステップ１０２及びクエリデータ属性ベクトル空間を作成するステップ１０４を含む。ステップ１０６において、データベーススキーマがクエリを受け、テーブル属性名のリストを確かめる。ステップ１０４は、データ属性の順序ベクトル空間、たとえばすべてのデータ属性名の辞書式順序を提供して、次元１×Ｎの順序空間Ｑ＊Ａを形成する。ここで、「Ｎ」はデータベーススキーマにおけるデータ属性の個数である。
【００１４】
次に、ステップ１０８において、データが利用可能である場合、方法１００は、任意選択的に、データベースファイルを作成するステップ１１０により供給される属性範囲（attribute extent）及びデータベースキャッシュウィンドウサイズデータを使用して、クエリデータ属性範囲ベクトル空間Ｑ＊Ｅを作成する。クエリデータ属性範囲ベクトル空間Ｑ＊Ｅは、データ属性の順序ベクトル空間（Ｑ＊Ａ）のすべてのデータ属性の範囲である。データ属性の順序ベクトル空間（Ｑ＊Ａ）は、１×Ｎベクトルとして表され、各ベクトル要素は、データ属性の範囲（長さ）を含む。データ属性の順序ベクトル空間Ｑ＊Ａ及びクエリデータ属性範囲ベクトル空間Ｑ＊Ｅは、クエリ較正データベース１２０に供給される。
【００１５】
ステップ１１２において、所定のクエリライブラリから提供される、ＳＱＬ（標準クエリ言語）等の適した言語のランダムな順序のクエリＱ１、…、ＱＮを使用して、クエリ較正が実行される。ここで、「Ｎ」は、ライブラリにおけるクエリの個数である。以下のステップで説明するように、各クエリが実行され、そのランタイムが記録され、そのシグネチャが生成される。
【００１６】
次に、ステップ１１６において、各手続き型クエリ（procedural query）Ｑｉの字句解析が実行される。この解析は、最初に各クエリ（Ｑｉ、ここで「ｉ」は１からＮに及ぶ）のシグネチャを作成し、ＳＱＬの成分及びデータ属性の成分をクエリ較正データベース１２０に出力することによって実行される。以下でより十分に解説するように、各Ｑｉのシグネチャは、主成分分析（ＰＣＡ）を使用して重要な特徴として形成された一組の字句抽出されたＳＱＬの成分及びデータ属性の成分である。
【００１７】
次に、ステップ１２２において、各クエリＱｉは、キャッシュを使用することなく実行され、非キャッシュ実行時間（uncached execution time）が記録されて、クエリ較正データベース１２０に記憶される。非キャッシュ実行時間は、データ属性のいずれもがデータベースエンジンのキャッシュに存在しない場合のクエリ実行時間である。
【００１８】
次に、ステップ１２４において、各クエリＱｉが、キャッシュを使用して検索され、キャッシュ実行時間（cached execution time）が、クエリ較正データベース１２０に記憶される。キャッシュ実行時間は、参照されるデータ属性がデータベースエンジンのキャッシュに存在する場合のクエリ実行時間である。このプロセスは、１回のステップ１２６につき、Ｎ個のすべてのクエリについて繰り返される。
【００１９】
次に、図２（ｂ）に示すように、ステップ１２８において、主成分分析が、クエリ較正データベース１２０からのシグネチャ成分及びデータ属性の順序ベクトル空間Ｑ＊Ａを使用して実行される。ＰＣＡは、ＳＱＬクエリの字句構造及び参照されるデータ属性の序数ベース（ordinal based）の特徴抽出及び分類を伴う。このステップは、システム初期化時又は所定のクエリが追加若しくは変更される時にのみ行う必要がある。所定のクエリは、システム初期化時に較正されるか、又は、ＳＱＬの変更、データ属性の参照の変更、若しくはＣＯＴＳデータベースエンジン若しくはＣＯＴＳデータベースオペレーティングシステムの変更に適合するように変更される時に再較正される。
【００２０】
ステップ１３０において、時間推定係数が作成され、ＥＴＱ（クエリの推定時間）係数がクエリ較正データベース１２０に記憶される。ＥＴＱ係数は、線形時間推定モデル又は非線形時間推定モデルで使用されて、字句的なＳＱＬの特徴及びデータ属性の特徴に基づきクエリの実行時間が予測される。
【００２１】
次に、ステップ１３２において、類似度スコアが各クエリＱｉについて計算される。類似度スコアは、Ｑｉと他のすべてのクエリとの間の類似度の尺度である。ステップ１３４において、すべての所定のメトリックが完成する場合、周期的クエリ解析は１３６において終了する。
【００２２】
図３は、本発明の教示によるリアルタイムクエリ時間推定／加速方法の１つの例示的な実施態様のフロー図である。リアルタイムクエリ時間推定／加速方法２００は、初期化ステップ２０２と、リアルタイム入力クエリＱＲｊ、…、ＱＲＮが受信されるステップ２０４とを含む。
【００２３】
次に、ステップ２０６において、システムは、Ｔｃミリ秒の間、「ｊ」個のクエリを待つ。ここで、「ｊ」は、収集されるクエリの総数であり、「ｉ」は、収集されたリアルタイムクエリの０〜ｊのインデックスである。「Ｔｃミリ秒」は、ランダムに並んだクエリのＦＩＦＯ入力キューからクエリを収集するために割り当てられる時間であり、ここで、「ｊ」個のクエリがＴｃミリ秒で収集される。
【００２４】
次に、ステップ２０８において、字句解析が、各リアルタイムクエリＱＲｉに対して実行される。ステップ２１２において、各リアルタイムクエリシグネチャＱＲｉが、較正された各シグネチャと比較される。各リアルタイムクエリシグネチャＱＲｉが、較正された各シグネチャと等しい場合、ステップ２１６において、シグネチャスコアが、クエリ較正データベース１２０から得られる。等しくない場合、ステップ２１４において、所定のクエリシグネチャが、クエリ較正データベース１２０及びＱＲｉと一致する最も近い所定のｐＱＫから得られる。ここで、ｐＱＫは、クエリ較正データベース１２０における所定のクエリのｋ番目のメンバーである。いずれにしても、ステップ２１６において、シグネチャスコアがクエリ較正データベース１２０から得られる。
【００２５】
ステップ２１８において、実行時間が、クエリ較正データベース１２０からのシグネチャ及びＥＴＱ係数を使用して推定される。ＱＲｉに最も近いクエリ較正データベースのシグネチャスコアは、単一の所定のクエリｐＱＫを定義し、ｐＱＫのシグネチャ及びＥＴＱ係数は、その後の処理においてＱＲに使用される。次に、ステップ２２０において、システムは、各リアルタイムクエリＱＲｉについて推定された時間がデータベースキャッシュウィンドウ時間よりも短いか否かを確かめる。データベースキャッシュウィンドウ時間は通例、分で測定され、（１）割り当てられたメインメモリ、及び、（２）２次（ディスク）ストレージアクセス時間の２つのコンピュータパラメータの関数である。短い場合には、ステップ２２６において、各リアルタイムクエリが、最類似順序リストクエリ（most similarly ordered list query）に関連付けられ、順序クエリ実行リスト２２８によって供給される類似度スコア及びリスト位置情報を使用してリストに置かれる。ステップ２３０において、すべてのクエリが順序付けられていない場合、ステップ２３２において、「ｉ」がインデックスされて、次のクエリが最適に順序付けられ、システムは、ステップ２０８に戻って、対象のクエリに対して別の字句解析を実行する。
【００２６】
すべての「ｊ」個のクエリが順序付けられている場合、ステップ２３４において、順序リストクエリカウントが初期化される。図３（ｂ）を参照されたい。ステップ２３６、２３８、及び２４０において、順序付けられた各クエリ「Ｑｏｉ」は、順序クエリ実行リスト２２８からデータベースエンジンに発行され、ルーチン２００はステップ２４２において終了する。
【００２７】
各リアルタイムクエリＱＲｉの推定された時間がデータベースキャッシュウィンドウ時間よりも短くない場合、各リアルタイムクエリは、ステップ２２２及び２２４（図３（ａ））においてロングクエリキュー（long query queue）に移動され、システムは、図３（ｂ）のステップ２４４において、ロングクエリキューが空でない状態であるか否かチェックする。キューが空でない場合、ルーチン２００は、ステップ２４２において終了する。
【００２８】
ステップ２４４においてロングクエリキューが空であることが判明すると、ステップ２４６において、ルーチン２００は、順序付けられたクエリの実行が完了しているか否か、すなわち、ｉ＝ｊであるか否かをチェックする。完了している場合、ステップ２４８において、ロングクエリ実行リスト２２４から次のロングクエリがデータベースエンジンに発行され、ルーチン２００はステップ２４２において終了する。完了していない場合、ルーチン２００はステップ２４２において終了する。
【００２９】
この例示的な実施形態では、本発明は、特徴抽出やクラスタ解析等のシステム識別技法をＳＱＬクエリに適用して、クエリシグネチャを実行時間に相関させ、クエリシグネチャを制御システムへの入力として使用して、データベースのキャッシュ性能を最大にするようにクエリを適応的且つ知的に配列する。たとえば、クエリキュー（query queue）が次の場合である。
【００３０】
【数１】
2008525897.tif 000003
【００３１】
Ｑ１及びＱ４のクエリデータパラメータが類似している場合（Ｑ１〜Ｑ４）、Ｑ１、Ｑ４、Ｑ２、Ｑ３が、実行時間に関して、データベースのキャッシュ効率がより良いシーケンスである。
【００３２】
この適用では、特徴は、ＳＱＬステートメントのクラスタ抽出又は特徴セット抽出（feature set extraction）である。たとえば、次の如くである。
【００３３】
【数２】
2008525897.tif 000004
【００３４】
それらは、以下のように、たとえば相互相関といった標準的な数学技法を使用して高速且つ容易に比較することができる。
【００３５】
【数３】
2008525897.tif 000005
【００３６】
ここで、「ｖ１」はＱ１のシグネチャベクトルであり、「ｖ２」はＱ２のシグネチャベクトルである。
これらのベクトルをデータ参照特徴セット抽出（data reference feature set extraction）で生成する手法を以下に述べる。以下のものを、特徴抽出されたサンプルのＳＱＬデータセットと考える。
【００３７】
【数４】
2008525897.tif 000006
【００３８】
以下のことに留意すべきである。
１．定数データ参照はキャッシュされないので、これらの参照を選択除去したい場合がある。
２．ＳＱＬは、分類アルゴリズムに先立って、オーバロードされたシンボルの代わりに実際のデータ参照を用いるために必要な場合があるより簡潔な表現について、シンボルオーバローディングを使用する。
３．特徴セットを単一参照のみに短くするために、多重データ参照を選択除去したい場合がある。
４．中央値及びモードの解析の「ヒストグラム」を作成するために、多重データ参照を保持したい場合がある。
【００３９】
これを以下に示す。
前処理ステップ１が適用される特徴抽出−定数の削除
【００４０】
【数５】
2008525897.tif 000007
【００４１】
前処理ステップ２が適用される特徴抽出−シンボル名オーバロードの削除
【００４２】
【数６】
2008525897.tif 000008
【００４３】
前処理ステップ３が適用される特徴抽出−多重参照の除去
【００４４】
【数７】
2008525897.tif 000009
【００４５】
次に、データセットベクトルが作成される。この例示的な実施形態では、一般的な手法を考える。すなわち、
（１）データ参照空間にわたる順序セット：データ参照空間は、データベーススキーマのすべてのデータ属性名を辞書式に順序付けることによって作成される。空間の次数「Ｎ」は、データ属性名の総数によって決まる。
【００４６】
データ参照空間が作成されると、２つの変形を使用して、データ属性シグネチャベクトルを作成することができる。
（ａ）単一データ参照インスタンスのみをカウントする
（ｂ）多重データ参照インスタンスをカウントする
特徴抽出プロセスの次のステップは、ＳＱＬの重要な特徴を選んで、時間推定及びシグネチャの主成分（たとえば、ＪＯＩＮ又は他のステートメントの個数、ステートメントのネストの深さ等）によってそれらの特徴をグループ化することである。
【００４７】
【数８】
2008525897.tif 000010
【００４８】
ＩＩ．表Ｉは、ＳＱＬプロシージャＳｄの字句解析によって発見されるデータ属性を示している。表ＩＩは、データベーススキーマが使用される場合の「完全」なデータ参照空間を示している。表Ｉのデータ属性は、表ＩＩのサブセットである。表ＩＩは、ＳＱＬプロシージャＳｄがデータ参照空間の要素をどのように使用するかも示している。
【００４９】
【表１】
2008525897.tif 000011
【００５０】
【表２】
2008525897.tif 000012
【００５１】
シグネチャデータ参照ベクトルのデータ参照空間の比較は、
１．平均ベクトル及び分散共分散行列
２．データヒストグラムの相互相関
３．順序ベクトルの相互相関
４．ユークリッド距離の測定−「ドット」積
を含む手法を使用することができる。
ＳＱＬプロシージャ分類
本教示によれば、ＳＱＬ（非データ）プログラムは、軽量の計算手法で分類される。たとえば、プログラム分類について中間フォーマットのＳＱＬに依存しないシングルパス字句パーサ（lexical parser）を使用することができる。
【００５２】
表ＩＩＩは、例示的な１つの組の標準的なＳＱＬステートメント、関数、及び演算子を示している。
【００５３】
【表３】
2008525897.tif 000013
【００５４】
以下は、一例示的なＳＱＬ分類プロシージャである。
【００５５】
【数９】
2008525897.tif 000014
【００５６】
表ＩＶは、遭遇した順序によるステートメントリスト（表の右側）及びステートメントの順序ベクトル（表の左側）の作成を伴うＳＱＬ分類の別のシングルパス字句解析器手法を示している。これらの両方は、主成分抽出のためのＳＱＬステートメントシグネチャベクトルとして使用することができる。
【００５７】
【表４】
2008525897.tif 000015
【００５８】
表ＩＶにおいて、「値」は、ステートメントの発生頻度を示している。これらの値は、ＥＴＱモデル係数の生成で使用する、先に言及したような主成分にグループ化することができる。ドット積、又は、相関のためのヒストグラム比較を使用できることが当業者には理解されよう。
【００５９】
上記のように、本明細書では、特定の用途の特定の実施形態に関して本発明を説明してきた。当業者及び本教示を利用できる者には、本発明の範囲内おいて追加の変更、用途、及び実施形態が認識されよう。
【００６０】
したがって、本発明の範囲内のこのようなありとあらゆる用途、変更、及び実施形態を包含することが、特許請求の範囲内において意図されている。
【図面の簡単な説明】
【００６１】
【図１】本発明の教示によるデータ管理システムの１つの例示的な実施態様の簡略化したブロック図である。
【図２（ａ）】本発明の教示による周期的クエリメトリック方法の１つの例示的な実施態様のフロー図である。
【図２（ｂ）】本発明の教示による周期的クエリメトリック方法の１つの例示的な実施態様のフロー図である。
【図３（ａ）】本発明の教示によるリアルタイムクエリ時間推定／加速方法の１つの例示的な実施態様のフロー図である。
【図３（ｂ）】本発明の教示によるリアルタイムクエリ時間推定／加速方法の１つの例示的な実施態様のフロー図である。
【図１】
2008525897.tif 000016
【図２（ａ）】
2008525897.tif 000017
【図２（ｂ）】
2008525897.tif 000018
【図３（ａ）】
2008525897.tif 000019
【図３（ｂ）】
2008525897.tif 000020
【国際調査報告】
2008525897.tif 000021
2008525897.tif 000022
2008525897.tif 000023