JP2008525897A - 適応型クエリ識別及び加速のためのシステム及び方法 - Google Patents

適応型クエリ識別及び加速のためのシステム及び方法 Download PDF

Info

Publication number
JP2008525897A
JP2008525897A JP2007548569A JP2007548569A JP2008525897A JP 2008525897 A JP2008525897 A JP 2008525897A JP 2007548569 A JP2007548569 A JP 2007548569A JP 2007548569 A JP2007548569 A JP 2007548569A JP 2008525897 A JP2008525897 A JP 2008525897A
Authority
JP
Japan
Prior art keywords
signature
query
queries
data
statement
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.)
Ceased
Application number
JP2007548569A
Other languages
English (en)
Inventor
ローゼンガード,フィリップ・アイ
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.)
Raytheon Co
Original Assignee
Raytheon Co
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 Raytheon Co filed Critical Raytheon Co
Publication of JP2008525897A publication Critical patent/JP2008525897A/ja
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24539Query rewriting; Transformation using cached or materialised query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/2454Optimisation of common expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99937Sorting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データ管理システム及びデータ管理方法。システムは、複数のデータクエリを解析し、且つ、それらのクエリに関するメトリックを提供するようになっている。システムは、さらに、メトリックに基づいてクエリを順序付けて、システムの性能パラメータを改善するか、又は、クエリに関する実行時間を推定する。より具体的な実施態様では、システムは、クエリのそれぞれのシグネチャを解析するためのコードと、シグネチャを較正されたシグネチャと比較するためのコードと、その比較に応じてシグネチャスコアを提供するためのコードとを含む。システムは、クエリのうちの少なくとも1つの実行時間を推定するためのコードをさらに含む。シグネチャは、SQL(標準クエリ言語)等の適切な言語のステートメントのクラスタであってもよい。1つの代替形態として、シグネチャは、複数のステートメントから抽出される一組の特徴であってもよい。

Description

本発明は、コンピュータ及びコンピュータソフトウェアに関する。より具体的には、本発明は、データベース管理システム及びデータベース管理方法に関する。
市販の既製(COTS)データベースソフトウェアエンジンキャッシュ管理システムは、一般に、LRU(最長未使用)、及び、データベースキャッシュでのアクティブにアクセスされるデータ参照を最大にしようと試みる他のデータベースキャッシュ管理技法を利用する。これらの従来のデータベースキャッシングアルゴリズムは、一般に、次のクエリ及びそのデータ参照については知らない。したがって、従来のデータベースキャッシュ管理アルゴリズムは、一般に、クエリのスループットに関して準最適である。
クエリのスループットを改善しようとする取り組みには、キャッシュのサイズを増加させることが含まれていた。しかしながら、この手法は、キャッシュ内のデータに関連するオーバーヘッド(ロック、ラッチ、及びポインタ)の量によって制限を受ける。このオーバーヘッドによって、中央処理装置の速度は、データの検索において制限を受ける。
したがって、当該技術分野では、改善されたデータベース検索及びキャッシュ管理方式が、1クエリ当たりの実行時間を削減し、それによって、所与のハードウェア/ソフトウェアプラットフォームにおける全体的なスループットを改善するためのシステム及び方法が必要とされている。
当該技術分野における必要性は、本発明のデータ管理システム及びデータ管理方法によって対処される。最も一般的な意味で、システムは、複数のデータクエリを解析し、且つ、それらのクエリに関するメトリックを提供するようになっている。システムは、さらに、メトリックに基づいてクエリを順序付けて、システムの性能パラメータを改善するか、又は、クエリに関する実行時間を見積もる(推定する)。
より具体的な実施態様では、システムは、クエリのそれぞれのシグネチャを解析するためのコードと、シグネチャを較正されたシグネチャと比較するためのコードと、その比較に応じてシグネチャスコアを提供するためのコードとを含む。システムは、クエリのうちの少なくとも1つの実行時間を推定するためのコードをさらに含む。シグネチャは、SQL(標準クエリ言語)等の適切な言語のステートメント(文)のクラスタであってもよい。1つの代替形態として、シグネチャは、複数のステートメントから抽出される一組の特徴であってもよい。
ユーザクエリは、従来の市販の既製(COTS)データベースエンジンにクエリをサブミットする前に、データベースキャッシュのヒットを最大にするように最適に配列される。最適な配列を達成するために、各ユーザクエリは、データ参照及びSQL言語の意味並びにそのクエリの予測実行時間において、そのクエリの、キューに入れられる他のクエリとの類似度について識別される。予測実行時間は、データベースキャッシュウィンドウサイズを超えるクエリをフィルタリングするのに使用することができる。
クエリ識別は、クエリシグネチャの生成に基づいている。クエリシグネチャは、データ参照及びSQLステートメントの2つの主成分を有する。シグネチャは、SQLクエリのデータ参照及びステートメントへの、開始から終了までのシングルパス構文解析を使用して生成される。データ参照エイリアス(すなわち、異なるシンボル名を有する参照)及びデータ定数は、データベースキャッシュのヒット又はミスとは関係がないので、データ参照シグネチャからフィルタリングされる。クエリデータ参照は、次に、nベクトル空間に要素として入力される。「n」ベクトル空間は、辞書式順序で配置される(すべての表及び表の要素のシンボル名を含み、COTSデータベースエンジンとは独立である)データベーススキーマを使用して作成される。nベクトル空間は、クエリの類似度の識別に使用されるデータ参照シグネチャ成分である。nベクトルとして、ユークリッド距離、ブール値、共分散、相互相関等、多くの標準的な数学技法を使用して類似度を測定することができる。
クエリSQLステートメントシグネチャは、順序付けられた一組のステートメントを使用して生成することができる。順序付けられたステートメントの組は、開始から終了までのクエリパーサによって生成されたSQLステートメント、関数、又は条件演算子のリストから成る。このリストは、次に、SQLステートメントシグネチャ成分となり、相互相関を使用して他のクエリと比較することができる。
(クエリ識別プロセスからの)データ参照シグネチャ及びSQLステートメントシグネチャを使用すると、データベースエンジン用にキューに入れられたクエリを、最も類似したものから最も類似していないものへの類似度に基づいて再配列することができる。したがって、統計的には、(ランダムな配列は、ヒット/ミス比を或る平均と無相関化する一方、順序付けられた組はヒット/ミス比をその平均よりも高く増加させる傾向があるので)クエリのランダムな配列よりも多くのキャッシュヒットが、時間と共に発生するはずである。さらに、(ウィンドウで測定される)データベースキャッシュウィンドウを超えるクエリは、類似度に基づいてバッチオペレーション用にグループ化することができ、したがって、データキャッシュヒットが最適化される。
次に、添付図面について、例示的な実施形態及び例示的な用途を説明して、本発明の有利な教示を開示する。
本明細書では、本発明を、特定の用途についての例示的な実施形態について説明するが、本発明は、それらの例示的な実施形態に限定されるものではないことは理解されるべきである。当業者及び本明細書で提供される教示を利用できる者には、本発明の範囲内にある追加の変更、用途、及び実施形態、並びに、本発明が非常に有用である追加の分野が認識されよう。
図1は、本発明の教示によるデータ管理システムの1つの例示的な実施態様の簡略化したブロック図である。図1に示すように、この例示的な実施形態では、本発明のデータ管理システム10は、ユーザインターフェース12、ウェブサーバ14、アプリケーションサーバ16、データベースサーバ22、及びデータベース26を含む。通常、データベース26は、ハードディスク等の固定媒体に記憶されている。従来の教示によれば、データベースサーバ22は、キャッシュメモリ24を有する。ユーザインターフェース12、ウェブサーバ14、アプリケーションサーバ16、及びデータベースサーバ22は、汎用コンピュータ(図示せず)の中央処理装置(CPU)で実行するようになっているソフトウェアで実施される。本教示によれば、アプリケーションサーバ16は、以下でより十分に解説するように、システム10の性能を最適化し、且つ、クエリ実行時間を出力するプロセス18と共に示されている。クエリシグネチャ及び実行時間は、プロセス18によってストレージ(記憶装置)20に記録される。本教示によれば、性能最適化及びクエリ実行時間は、周期的クエリメトリック並びにリアルタイムクエリ時間推定/加速を介してCPUのソフトウェアでもたらされる。
図2は、本発明の教示による周期的クエリメトリック方法の1つの例示的な実施態様のフロー図である。図2(a)に示すように、方法100は、初期化のステップ102及びクエリデータ属性ベクトル空間を作成するステップ104を含む。ステップ106において、データベーススキーマがクエリを受け、テーブル属性名のリストを確かめる。ステップ104は、データ属性の順序ベクトル空間、たとえばすべてのデータ属性名の辞書式順序を提供して、次元1×Nの順序空間Q を形成する。ここで、「N」はデータベーススキーマにおけるデータ属性の個数である。
次に、ステップ108において、データが利用可能である場合、方法100は、任意選択的に、データベースファイルを作成するステップ110により供給される属性範囲(attribute extent)及びデータベースキャッシュウィンドウサイズデータを使用して、クエリデータ属性範囲ベクトル空間Q を作成する。クエリデータ属性範囲ベクトル空間Q は、データ属性の順序ベクトル空間(Q )のすべてのデータ属性の範囲である。データ属性の順序ベクトル空間(Q )は、1×Nベクトルとして表され、各ベクトル要素は、データ属性の範囲(長さ)を含む。データ属性の順序ベクトル空間Q 及びクエリデータ属性範囲ベクトル空間Q は、クエリ較正データベース120に供給される。
ステップ112において、所定のクエリライブラリから提供される、SQL(標準クエリ言語)等の適した言語のランダムな順序のクエリQ、…、Qを使用して、クエリ較正が実行される。ここで、「N」は、ライブラリにおけるクエリの個数である。以下のステップで説明するように、各クエリが実行され、そのランタイムが記録され、そのシグネチャが生成される。
次に、ステップ116において、各手続き型クエリ(procedural query)Qの字句解析が実行される。この解析は、最初に各クエリ(Q、ここで「i」は1からNに及ぶ)のシグネチャを作成し、SQLの成分及びデータ属性の成分をクエリ較正データベース120に出力することによって実行される。以下でより十分に解説するように、各Qのシグネチャは、主成分分析(PCA)を使用して重要な特徴として形成された一組の字句抽出されたSQLの成分及びデータ属性の成分である。
次に、ステップ122において、各クエリQは、キャッシュを使用することなく実行され、非キャッシュ実行時間(uncached execution time)が記録されて、クエリ較正データベース120に記憶される。非キャッシュ実行時間は、データ属性のいずれもがデータベースエンジンのキャッシュに存在しない場合のクエリ実行時間である。
次に、ステップ124において、各クエリQが、キャッシュを使用して検索され、キャッシュ実行時間(cached execution time)が、クエリ較正データベース120に記憶される。キャッシュ実行時間は、参照されるデータ属性がデータベースエンジンのキャッシュに存在する場合のクエリ実行時間である。このプロセスは、1回のステップ126につき、N個のすべてのクエリについて繰り返される。
次に、図2(b)に示すように、ステップ128において、主成分分析が、クエリ較正データベース120からのシグネチャ成分及びデータ属性の順序ベクトル空間Q を使用して実行される。PCAは、SQLクエリの字句構造及び参照されるデータ属性の序数ベース(ordinal based)の特徴抽出及び分類を伴う。このステップは、システム初期化時又は所定のクエリが追加若しくは変更される時にのみ行う必要がある。所定のクエリは、システム初期化時に較正されるか、又は、SQLの変更、データ属性の参照の変更、若しくはCOTSデータベースエンジン若しくはCOTSデータベースオペレーティングシステムの変更に適合するように変更される時に再較正される。
ステップ130において、時間推定係数が作成され、ETQ(クエリの推定時間)係数がクエリ較正データベース120に記憶される。ETQ係数は、線形時間推定モデル又は非線形時間推定モデルで使用されて、字句的なSQLの特徴及びデータ属性の特徴に基づきクエリの実行時間が予測される。
次に、ステップ132において、類似度スコアが各クエリQについて計算される。類似度スコアは、Qと他のすべてのクエリとの間の類似度の尺度である。ステップ134において、すべての所定のメトリックが完成する場合、周期的クエリ解析は136において終了する。
図3は、本発明の教示によるリアルタイムクエリ時間推定/加速方法の1つの例示的な実施態様のフロー図である。リアルタイムクエリ時間推定/加速方法200は、初期化ステップ202と、リアルタイム入力クエリQRj、…、QRNが受信されるステップ204とを含む。
次に、ステップ206において、システムは、Tミリ秒の間、「j」個のクエリを待つ。ここで、「j」は、収集されるクエリの総数であり、「i」は、収集されたリアルタイムクエリの0〜jのインデックスである。「Tミリ秒」は、ランダムに並んだクエリのFIFO入力キューからクエリを収集するために割り当てられる時間であり、ここで、「j」個のクエリがTミリ秒で収集される。
次に、ステップ208において、字句解析が、各リアルタイムクエリQRiに対して実行される。ステップ212において、各リアルタイムクエリシグネチャQRiが、較正された各シグネチャと比較される。各リアルタイムクエリシグネチャQRiが、較正された各シグネチャと等しい場合、ステップ216において、シグネチャスコアが、クエリ較正データベース120から得られる。等しくない場合、ステップ214において、所定のクエリシグネチャが、クエリ較正データベース120及びQRiと一致する最も近い所定のpQから得られる。ここで、pQは、クエリ較正データベース120における所定のクエリのk番目のメンバーである。いずれにしても、ステップ216において、シグネチャスコアがクエリ較正データベース120から得られる。
ステップ218において、実行時間が、クエリ較正データベース120からのシグネチャ及びETQ係数を使用して推定される。QRiに最も近いクエリ較正データベースのシグネチャスコアは、単一の所定のクエリpQを定義し、pQのシグネチャ及びETQ係数は、その後の処理においてQに使用される。次に、ステップ220において、システムは、各リアルタイムクエリQRiについて推定された時間がデータベースキャッシュウィンドウ時間よりも短いか否かを確かめる。データベースキャッシュウィンドウ時間は通例、分で測定され、(1)割り当てられたメインメモリ、及び、(2)2次(ディスク)ストレージアクセス時間の2つのコンピュータパラメータの関数である。短い場合には、ステップ226において、各リアルタイムクエリが、最類似順序リストクエリ(most similarly ordered list query)に関連付けられ、順序クエリ実行リスト228によって供給される類似度スコア及びリスト位置情報を使用してリストに置かれる。ステップ230において、すべてのクエリが順序付けられていない場合、ステップ232において、「i」がインデックスされて、次のクエリが最適に順序付けられ、システムは、ステップ208に戻って、対象のクエリに対して別の字句解析を実行する。
すべての「j」個のクエリが順序付けられている場合、ステップ234において、順序リストクエリカウントが初期化される。図3(b)を参照されたい。ステップ236、238、及び240において、順序付けられた各クエリ「Qoi」は、順序クエリ実行リスト228からデータベースエンジンに発行され、ルーチン200はステップ242において終了する。
各リアルタイムクエリQRiの推定された時間がデータベースキャッシュウィンドウ時間よりも短くない場合、各リアルタイムクエリは、ステップ222及び224(図3(a))においてロングクエリキュー(long query queue)に移動され、システムは、図3(b)のステップ244において、ロングクエリキューが空でない状態であるか否かチェックする。キューが空でない場合、ルーチン200は、ステップ242において終了する。
ステップ244においてロングクエリキューが空であることが判明すると、ステップ246において、ルーチン200は、順序付けられたクエリの実行が完了しているか否か、すなわち、i=jであるか否かをチェックする。完了している場合、ステップ248において、ロングクエリ実行リスト224から次のロングクエリがデータベースエンジンに発行され、ルーチン200はステップ242において終了する。完了していない場合、ルーチン200はステップ242において終了する。
この例示的な実施形態では、本発明は、特徴抽出やクラスタ解析等のシステム識別技法をSQLクエリに適用して、クエリシグネチャを実行時間に相関させ、クエリシグネチャを制御システムへの入力として使用して、データベースのキャッシュ性能を最大にするようにクエリを適応的且つ知的に配列する。たとえば、クエリキュー(query queue)が次の場合である。
Figure 2008525897
及びQのクエリデータパラメータが類似している場合(Q〜Q)、Q、Q、Q、Qが、実行時間に関して、データベースのキャッシュ効率がより良いシーケンスである。
この適用では、特徴は、SQLステートメントのクラスタ抽出又は特徴セット抽出(feature set extraction)である。たとえば、次の如くである。
Figure 2008525897
それらは、以下のように、たとえば相互相関といった標準的な数学技法を使用して高速且つ容易に比較することができる。
Figure 2008525897
ここで、「v1」はQ1のシグネチャベクトルであり、「v2」はQ2のシグネチャベクトルである。
これらのベクトルをデータ参照特徴セット抽出(data reference feature set extraction)で生成する手法を以下に述べる。以下のものを、特徴抽出されたサンプルのSQLデータセットと考える。
Figure 2008525897
以下のことに留意すべきである。
1.定数データ参照はキャッシュされないので、これらの参照を選択除去したい場合がある。
2.SQLは、分類アルゴリズムに先立って、オーバロードされたシンボルの代わりに実際のデータ参照を用いるために必要な場合があるより簡潔な表現について、シンボルオーバローディングを使用する。
3.特徴セットを単一参照のみに短くするために、多重データ参照を選択除去したい場合がある。
4.中央値及びモードの解析の「ヒストグラム」を作成するために、多重データ参照を保持したい場合がある。
これを以下に示す。
前処理ステップ1が適用される特徴抽出−定数の削除
Figure 2008525897
前処理ステップ2が適用される特徴抽出−シンボル名オーバロードの削除
Figure 2008525897
前処理ステップ3が適用される特徴抽出−多重参照の除去
Figure 2008525897
次に、データセットベクトルが作成される。この例示的な実施形態では、一般的な手法を考える。すなわち、
(1)データ参照空間にわたる順序セット:データ参照空間は、データベーススキーマのすべてのデータ属性名を辞書式に順序付けることによって作成される。空間の次数「N」は、データ属性名の総数によって決まる。
データ参照空間が作成されると、2つの変形を使用して、データ属性シグネチャベクトルを作成することができる。
(a)単一データ参照インスタンスのみをカウントする
(b)多重データ参照インスタンスをカウントする
特徴抽出プロセスの次のステップは、SQLの重要な特徴を選んで、時間推定及びシグネチャの主成分(たとえば、JOIN又は他のステートメントの個数、ステートメントのネストの深さ等)によってそれらの特徴をグループ化することである。
Figure 2008525897
II.表Iは、SQLプロシージャSdの字句解析によって発見されるデータ属性を示している。表IIは、データベーススキーマが使用される場合の「完全」なデータ参照空間を示している。表Iのデータ属性は、表IIのサブセットである。表IIは、SQLプロシージャSdがデータ参照空間の要素をどのように使用するかも示している。
Figure 2008525897
Figure 2008525897
シグネチャデータ参照ベクトルのデータ参照空間の比較は、
1.平均ベクトル及び分散共分散行列
2.データヒストグラムの相互相関
3.順序ベクトルの相互相関
4.ユークリッド距離の測定−「ドット」積
を含む手法を使用することができる。
SQLプロシージャ分類
本教示によれば、SQL(非データ)プログラムは、軽量の計算手法で分類される。たとえば、プログラム分類について中間フォーマットのSQLに依存しないシングルパス字句パーサ(lexical parser)を使用することができる。
表IIIは、例示的な1つの組の標準的なSQLステートメント、関数、及び演算子を示している。
Figure 2008525897
以下は、一例示的なSQL分類プロシージャである。
Figure 2008525897
表IVは、遭遇した順序によるステートメントリスト(表の右側)及びステートメントの順序ベクトル(表の左側)の作成を伴うSQL分類の別のシングルパス字句解析器手法を示している。これらの両方は、主成分抽出のためのSQLステートメントシグネチャベクトルとして使用することができる。
Figure 2008525897
表IVにおいて、「値」は、ステートメントの発生頻度を示している。これらの値は、ETQモデル係数の生成で使用する、先に言及したような主成分にグループ化することができる。ドット積、又は、相関のためのヒストグラム比較を使用できることが当業者には理解されよう。
上記のように、本明細書では、特定の用途の特定の実施形態に関して本発明を説明してきた。当業者及び本教示を利用できる者には、本発明の範囲内おいて追加の変更、用途、及び実施形態が認識されよう。
したがって、本発明の範囲内のこのようなありとあらゆる用途、変更、及び実施形態を包含することが、特許請求の範囲内において意図されている。
本発明の教示によるデータ管理システムの1つの例示的な実施態様の簡略化したブロック図である。 本発明の教示による周期的クエリメトリック方法の1つの例示的な実施態様のフロー図である。 本発明の教示による周期的クエリメトリック方法の1つの例示的な実施態様のフロー図である。 本発明の教示によるリアルタイムクエリ時間推定/加速方法の1つの例示的な実施態様のフロー図である。 本発明の教示によるリアルタイムクエリ時間推定/加速方法の1つの例示的な実施態様のフロー図である。

Claims (27)

  1. データ管理システムであって、
    複数のデータクエリを解析して該複数のデータクエリに関するメトリックを提供するための第1の手段と、
    前記メトリックに基づいて前記クエリを順序付けて、該システムの性能パラメータを改善するための第2の手段と、
    を備えるデータ管理システム。
  2. 前記第1の手段は、前記クエリのそれぞれのシグネチャを解析するための手段を含む、請求項1に記載の発明。
  3. 前記シグネチャはステートメントのクラスタである、請求項2に記載の発明。
  4. 前記ステートメントは、標準クエリ言語(SQL)ステートメントである、請求項3に記載の発明。
  5. 前記シグネチャは、前記複数のステートメントから抽出される一組の特徴である、請求項2に記載の発明。
  6. 前記ステートメントは、標準クエリ言語(SQL)ステートメントである、請求項5に記載の発明。
  7. 前記第1の手段は、前記シグネチャを較正されたシグネチャと比較し、それに応じてシグネチャスコアを提供するための手段を含む、請求項2に記載の発明。
  8. 前記スコアに応じて、前記クエリのうちの少なくとも1つの実行時間を推定するための手段をさらに含む、請求項7に記載の発明。
  9. データ管理システムであって、
    複数のデータクエリを解析するための第1の手段と、
    前記第1の手段に応答して、クエリの実行時間を推定するための第2の手段と、
    を備えるデータ管理システム。
  10. 前記第1の手段は、前記クエリのそれぞれのシグネチャを解析するための手段を含む、請求項9に記載の発明。
  11. 前記シグネチャはステートメントのクラスタである、請求項10に記載の発明。
  12. 前記ステートメントは、標準クエリ言語(SQL)ステートメントである、請求項11に記載の発明。
  13. 前記シグネチャは、前記複数のステートメントから抽出される一組の特徴である、請求項10に記載の発明。
  14. 前記ステートメントは、標準クエリ言語(SQL)ステートメントである、請求項13に記載の発明。
  15. 前記第1の手段は、前記シグネチャを較正されたシグネチャと比較し、それに応じてシグネチャスコアを提供するための手段を含む、請求項10に記載の発明。
  16. 前記スコアに応じて、前記クエリに関するメトリックを最小にするように該クエリを順序付けるための手段をさらに含む、請求項15に記載の発明。
  17. 前記メトリックは実行時間である、請求項16に記載の発明。
  18. データ管理システムであって、
    データベースと、
    前記データベースに接続されるプロセッサと、
    前記プロセッサを介して複数のクエリを前記データベースに供給するための通信インターフェースと、
    前記プロセッサで実行されて、前記複数のクエリを解析し、該クエリの検索に関する性能パラメータを最適化するように該クエリを編成するソフトウェアと、
    を備えるデータ管理システム。
  19. 前記ソフトウェアは、前記クエリのそれぞれのシグネチャを解析するためのコードを含む、請求項18に記載の発明。
  20. 前記シグネチャはステートメントのクラスタである、請求項19に記載の発明。
  21. 前記ステートメントは、標準クエリ言語(SQL)ステートメントである、請求項20に記載の発明。
  22. 前記シグネチャは、前記複数のステートメントから抽出される一組の特徴である、請求項19に記載の発明。
  23. 前記ステートメントは、標準クエリ言語(SQL)ステートメントである、請求項22に記載の発明。
  24. 前記ソフトウェアは、前記シグネチャを較正されたシグネチャと比較し、それに応じてシグネチャスコアを提供するためのコードを含む、請求項19に記載の発明。
  25. 前記スコアに応じて、前記クエリに関するメトリックを最小にするように該クエリを順序付けるためのコードをさらに含む、請求項24に記載の発明。
  26. 前記メトリックは実行時間である、請求項25に記載の発明。
  27. データ管理方法であって、
    複数のデータクエリを解析すると共に該複数のデータクエリに関するメトリックを提供するステップと、
    前記メトリックに基づいて前記クエリを順序付けして、その性能パラメータを改善するステップと、
    を含むデータ管理方法。
JP2007548569A 2004-12-23 2005-12-22 適応型クエリ識別及び加速のためのシステム及び方法 Ceased JP2008525897A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/021,687 US7596560B2 (en) 2004-12-23 2004-12-23 System and method for adaptive query identification and acceleration
PCT/US2005/046984 WO2006071830A1 (en) 2004-12-23 2005-12-22 System and method for adaptive query identification and acceleration

Publications (1)

Publication Number Publication Date
JP2008525897A true JP2008525897A (ja) 2008-07-17

Family

ID=36283055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007548569A Ceased JP2008525897A (ja) 2004-12-23 2005-12-22 適応型クエリ識別及び加速のためのシステム及び方法

Country Status (6)

Country Link
US (1) US7596560B2 (ja)
EP (1) EP1828939A1 (ja)
JP (1) JP2008525897A (ja)
AU (1) AU2005322096B2 (ja)
CA (1) CA2591206A1 (ja)
WO (1) WO2006071830A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822769B2 (en) * 2006-08-31 2010-10-26 Rivet Software, Inc. Analysis of financial and business information based on interactive data
US9747349B2 (en) * 2006-10-30 2017-08-29 Execue, Inc. System and method for distributing queries to a group of databases and expediting data access
WO2008074528A1 (en) * 2006-12-19 2008-06-26 International Business Machines Corporation Method and system for reducing difference in the time of retrieval of data retrieved from different sources
US20080235182A1 (en) * 2007-03-23 2008-09-25 Baranczyk Shawn J Isolating Database Queries for Performance Processing
US9355129B2 (en) * 2008-10-14 2016-05-31 Hewlett Packard Enterprise Development Lp Scheduling queries using a stretch metric
US8365174B2 (en) * 2008-10-14 2013-01-29 Chetan Kumar Gupta System and method for modifying scheduling of queries in response to the balancing average stretch and maximum stretch of scheduled queries
US8204900B2 (en) * 2009-05-21 2012-06-19 Bank Of America Corporation Metrics library
CN104714972B (zh) * 2013-12-17 2018-06-22 中国银联股份有限公司 数据库分表建立及查询方法
KR102213674B1 (ko) 2014-02-17 2021-02-08 삼성전자주식회사 내부 하드웨어 필터를 포함하는 일체형 데이터 저장 장치와 이의 동작 방법
US10346358B2 (en) * 2014-06-04 2019-07-09 Waterline Data Science, Inc. Systems and methods for management of data platforms
US9767168B2 (en) 2014-11-21 2017-09-19 Red Hat, Inc. Federation optimization using ordered queues
CN107885865B (zh) * 2017-11-22 2019-12-10 星环信息科技(上海)有限公司 一种代价优化器与代价估计的方法及其设备
US11068482B2 (en) * 2018-04-13 2021-07-20 Microsoft Technology Licensing, Llc Computation reuse in analytics job service
US11829362B2 (en) * 2018-05-15 2023-11-28 Oracle International Corporation Automatic database query load assessment and adaptive handling
US11474978B2 (en) * 2018-07-06 2022-10-18 Capital One Services, Llc Systems and methods for a data search engine based on data profiles
WO2020181319A1 (en) * 2019-03-08 2020-09-17 Alertness CRC Ltd Sleep disorder data fidelity management system
CN113326246A (zh) * 2020-02-28 2021-08-31 华为技术有限公司 一种数据库管理系统性能预估的方法、装置及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02171858A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd リレーショナルデータベースシステムにおける処理時間予測方式
JPH03108036A (ja) * 1989-09-20 1991-05-08 Fujitsu Ltd データベース管理システムの性能見積もり方法
JPH10283371A (ja) * 1997-04-04 1998-10-23 Nec Corp データベース装置
US6026391A (en) * 1997-10-31 2000-02-15 Oracle Corporation Systems and methods for estimating query response times in a computer system
US6466931B1 (en) * 1999-07-30 2002-10-15 International Business Machines Corporation Method and system for transparently caching and reusing query execution plans efficiently
JP2003323448A (ja) * 2002-04-26 2003-11-14 Mitsubishi Electric Corp データベース検索装置および検索方法
US20040158551A1 (en) * 2003-02-06 2004-08-12 International Business Machines Corporation Patterned based query optimization

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5412806A (en) * 1992-08-20 1995-05-02 Hewlett-Packard Company Calibration of logical cost formulae for queries in a heterogeneous DBMS using synthetic database
US5619692A (en) 1995-02-17 1997-04-08 International Business Machines Corporation Semantic optimization of query order requirements using order detection by normalization in a query compiler system
US6023695A (en) * 1997-10-31 2000-02-08 Oracle Corporation Summary table management in a computer system
US6023696A (en) * 1997-10-31 2000-02-08 Oracle Corporation Summary table query routing
US6938035B2 (en) * 2001-10-03 2005-08-30 International Business Machines Corporation Reduce database monitor workload by employing predictive query threshold
US6801905B2 (en) 2002-03-06 2004-10-05 Sybase, Inc. Database system providing methodology for property enforcement

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02171858A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd リレーショナルデータベースシステムにおける処理時間予測方式
JPH03108036A (ja) * 1989-09-20 1991-05-08 Fujitsu Ltd データベース管理システムの性能見積もり方法
JPH10283371A (ja) * 1997-04-04 1998-10-23 Nec Corp データベース装置
US6026391A (en) * 1997-10-31 2000-02-15 Oracle Corporation Systems and methods for estimating query response times in a computer system
US6466931B1 (en) * 1999-07-30 2002-10-15 International Business Machines Corporation Method and system for transparently caching and reusing query execution plans efficiently
JP2003323448A (ja) * 2002-04-26 2003-11-14 Mitsubishi Electric Corp データベース検索装置および検索方法
US20040158551A1 (en) * 2003-02-06 2004-08-12 International Business Machines Corporation Patterned based query optimization

Also Published As

Publication number Publication date
US20060155697A1 (en) 2006-07-13
WO2006071830A1 (en) 2006-07-06
CA2591206A1 (en) 2006-07-06
EP1828939A1 (en) 2007-09-05
AU2005322096B2 (en) 2010-08-12
US7596560B2 (en) 2009-09-29
AU2005322096A1 (en) 2006-07-06

Similar Documents

Publication Publication Date Title
JP2008525897A (ja) 適応型クエリ識別及び加速のためのシステム及び方法
Singh et al. Probabilistic data structures for big data analytics: A comprehensive review
KR100544514B1 (ko) 검색 쿼리 연관성 판단 방법 및 시스템
Cheng et al. Evaluating probability threshold k-nearest-neighbor queries over uncertain data
US9176995B2 (en) Organization of data within a database
JP5088668B2 (ja) 計算機負荷見積システム、計算機負荷見積方法、計算機負荷見積プログラム
JP3798719B2 (ja) ブロック・レベル・サンプリングを使用してデータベースのクラスタ化係数を判定する装置および方法
JP2015099586A (ja) データ集約のためのシステム、装置、プログラム、及び方法
US7149735B2 (en) String predicate selectivity estimation
US11803521B2 (en) Implementation of data access metrics for automated physical database design
US10176231B2 (en) Estimating most frequent values for a data set
CN106874332B (zh) 数据库访问方法和装置
JP2006323575A (ja) 文書検索システム、文書検索方法、文書検索プログラム及び記録媒体
US9087087B2 (en) Performing index scans in a database
Grebhahn et al. Challenges in Finding an Appropriate Multi-Dimensional Index Structure with Respect to Specific Use Cases.
Kleerekoper et al. A scalable implementation of information theoretic feature selection for high dimensional data
KR100525616B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
JP6562478B2 (ja) 情報処理装置、情報処理方法、及びプログラム
WO2017014744A1 (en) Processing time-varying data using a graph data structure
Cal Evaluating query estimation errors using bootstrap sampling
Siedlaczek Efficiency and Scalability of Large Search Architectures
KR100525617B1 (ko) 연관 검색 쿼리 추출 방법 및 시스템
CN112148687A (zh) 一种对象存储中文件删除或归档的方法以及系统
KR20050100907A (ko) 연관 검색 쿼리 추출 방법 및 시스템
KR20050102406A (ko) 연관 검색 쿼리 추출 방법 및 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110621

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20110909

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110920

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110928

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111021

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111028

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111121

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120702

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20121126