JP4114653B2 - クエリ処理操作中に補助属性を用いてクエリをリライトするための方法および装置 - Google Patents

クエリ処理操作中に補助属性を用いてクエリをリライトするための方法および装置 Download PDF

Info

Publication number
JP4114653B2
JP4114653B2 JP2004265091A JP2004265091A JP4114653B2 JP 4114653 B2 JP4114653 B2 JP 4114653B2 JP 2004265091 A JP2004265091 A JP 2004265091A JP 2004265091 A JP2004265091 A JP 2004265091A JP 4114653 B2 JP4114653 B2 JP 4114653B2
Authority
JP
Japan
Prior art keywords
attribute
query
data set
auxiliary
sample data
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.)
Expired - Fee Related
Application number
JP2004265091A
Other languages
English (en)
Other versions
JP2005100392A (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2005100392A publication Critical patent/JP2005100392A/ja
Application granted granted Critical
Publication of JP4114653B2 publication Critical patent/JP4114653B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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/99934Query formulation, input preparation, or translation
    • 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/99935Query augmenting and refining, e.g. inexact access

Landscapes

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

Description

本発明は、データベースおよびその他の情報システムにおけるクエリ(query)処理操作に関し、より詳細には、データベースのクエリ処理操作中にデータ属性に関する新しい述語(predicate)を含ませるようにクエリをリライトするクエリ・リライトに関する。
オンライン業務トランザクションの量が増加したことによって、データベース、データ・ウェアハウス、およびその他の情報システムに保存された大量のデータに対するクエリ処理の効率がますます重要性を帯びてきた。1970年代末期以降、独立型データベース、分散データベース、階層型データベース、空間データベース、およびワールド・ワイド・ウェブ上のデータベースにおける効率的なクエリ処理操作をテーマとする研究開発活動が、学術界および産業界全体で続けられている。公表されたクエリ処理技法についての包括的な総覧が、いくつかの情報ソースから提供されている。例えば、G.グレーフェ(Graefe)、「大規模データベースのためのクエリ評価技法(Query Evaluation Techniques for LargeDatabases)」、ACMコンピューティング・サーベイ(ACM Computing Surveys)、第25巻第2号、1993年6月、D.コスマン(Kossmann)、「分散クエリ処理における最新技術(TheState of the Art in Distributed Query Processing)」、ACMコンピューティング・サーベイ、第32巻第4号、2000年12月を参照されたい。
データベースのクエリ処理操作は、一般に6つのフェーズから、すなわち、構文解析(parsing)、意味検査(semanticchecking)、クエリ・リライト(query rewrite)、プラン最適化(plan optimization)、プラン改良(planrefinement)、およびクエリ評価(query evaluation)から構成される。クエリ処理操作においてクエリをリライトする理由は、いくつかの参考文献に記載されている。例えば、L.M.ハース(Haas)他、「スターバーストにおける拡張クエリ処理(ExtensiveQuery Processing in Starburst)」ACM SIGMOD議事録(ACM SIGMOD Record)、第18巻第2号、1989年6月を参照されたい。クエリ・リライトが必要となるいくつか理由として、以下のことがある。
1.クエリの代替構文解析:リレーショナル・クエリ言語は非手続き型(nonprocedural)なので、代替案が同等に機能する。
2.クエリへのビュー抽象化の関与:ビュー定義はクエリ記述者(writer)に隠蔽されている(hidden)ので、ビューに関連するクエリを拡張できるのは、データベースだけである。
従来のクエリ・リライト戦略は、クエリの述語中に出現する属性のリライトおよび最適化に焦点を絞っている。例えば、G.グレーフェ他、「動的クエリ評価プラン(Dynamic Query Evaluation Plans)」、ACM SIGMOD議事録、第18巻第2号、1989年6月、D.コスマン他、「反復動的プログラミング:新しいタイプのクエリ最適化アルゴリズム(IterativeDynamic Programming: A New Class of Query Optimization Algorithms)」、ACMデータベース・システムのトランザクション(ACMTransactions on Database Systems)、第25巻第1号、2000年3月を参照されたい。
G.グレーフェ(Graefe)、「大規模データベースのためのクエリ評価技法(QueryEvaluation Techniques for Large Databases)」、ACMコンピューティング・サーベイ(ACM ComputingSurveys)、第25巻第2号、1993年6月 D.コスマン(Kossmann)、「分散クエリ処理における最新技術(TheState of the Art in Distributed Query Processing)」、ACMコンピューティング・サーベイ、第32巻第4号、2000年12月 L.M.ハース(Haas)他、「スターバーストにおける広範囲クエリ処理(ExtensiveQuery Processing in Starburst)」ACM SIGMOD議事録(ACM SIGMOD Record)、第18巻第2号、1989年6月 G.グレーフェ他、「動的クエリ評価プラン(Dynamic QueryEvaluation Plans)」、ACM SIGMOD議事録、第18巻第2号、1989年6月 D.コスマン他、「反復動的プログラミング:新しいタイプのクエリ最適化アルゴリズム(Iterative Dynamic Programming: A New Class of Query OptimizationAlgorithms)」、ACMデータベース・システムのトランザクション(ACM Transactions on Database Systems)、第25巻第1号、2000年3月
本発明の原理は、クエリ処理操作中にクエリをリライトするための技法を提供する。
例えば、本発明の一態様では、データベースのクエリ処理操作中にクエリをリライトする技法は、以下のステップを含む。第1に、データ・セットの少なくとも一部に従ってクエリを処理して、クエリ結果を生成する。第2に、クエリ結果の中のデータ属性を分析する。最後に、データ属性に関する新しい述語をクエリに追加する。したがって、有利には、元のクエリには含まれていないデータ属性に関する新しい述語をクエリに追加して、処理効率を向上させることができる。
本発明の原理と従来の方法の間には、いくつかの主要な相違が存在する。例えば、本発明の原理は、(i)元のクエリには存在しない属性に基づく新しい述語を追加するクエリ・リライト戦略を主張することができ、(ii)一般的なシングル・パス処理ではなく、2パス・クエリ処理操作手法を利用することができ、(iii)特徴的な属性の識別を助けるため、統計的分析およびその他のデータ・マイニング技法を利用することができ、(iv)従来の方法では正確な答えが最重視されるが、本発明の原理ではクエリ・リライトのために誤ったデータ除外(false dismissal)を行う場合がある。
したがって、本発明の原理は、従来のクエリ正規化手法とは異なる、クエリ・リライトについての少なくとも1つの追加の理由を提示する。この異なる理由とは、データ・レコード中の補助属性についての知識を活用して、より効率的な処理のために追加のクエリ述語を追加することである。有利には、本発明の技法は、結果の正確性を維持しながら、大規模データベースにおける効率的なクエリ処理操作を提供するのに役立てることができる。この効率性によって、通常は処理コストの高いクエリが、コストの低いクエリに変換される。
上記およびその他の目的、特徴、および利点は、以下の本発明の説明的な実施形態の詳細な説明を添付の図面と併せて読むことにより明らかになるであろう。
以下の説明では、例示的なデータ処理システム・アーキテクチャを用いて、本発明の原理を説明する。本発明の原理は、どれか特定のシステム・アーキテクチャでの使用に限定されるものではない。むしろ、効率的かつ効果的なクエリ処理操作を実行するのが望ましい任意のデータ処理システムに汎用的に適用することができる。
本明細書で用いる「データベース」という用語は、例えば、IBM DB2(DB2はIBMCorporationの商標)やOracle9(Oracle Corporationまたは日本オラクル株式会社の商標)のようなリレーショナル・データベースなど、任意のデータ・ストレージ・ソフトウェアおよびシステムを含むものとされる。本明細書で用いる「データ・レコード」という用語は、例えば、リレーショナル・データベースのテーブル中の行など、データベース中のデータの論理的に構造化された関連を含むものとされる。本明細書で用いる「属性(attribute)」または「データ属性」という用語は、例えば、ある行中のある列の値など、データ・レコード中の任意の要素を含むものとされる。本明細書で用いる「対象(target)属性」という用語は、ユーザ・クエリ中に明示的に出現する任意の属性を指すものとされる。本明細書で用いる「補助(auxiliary)属性」という用語は、ユーザ・クエリ中には出現しない任意の属性を指すものとされる。
本発明の原理は、1つまたは複数の属性を有する構造化データ・レコードを保存するデータベースまたはその他の情報システム上でのクエリ処理操作に適用することができる。例示および説明を容易にするため、本発明の好ましい実施形態では、データベースのテーブル上でのクエリ処理操作に基づく一例を使用する。本発明がデータベースのテーブル上での処理に限定または制約されると見なしてはならない。
最初に図1を参照すると、本発明の原理と従来の方法の相違を説明するのに使用する、データベースに保存された電気使用量データが、表にして示されている。表は、見出し行に4つの属性名、すなわち、報告日100、ウェストチェスタ電気使用量102、ニューヨーク市電気使用量104、および気温106を有している。例示的なクエリ108は、これら2つの地理的エリアについて、1日の合計電気使用量が3000メガワットを超える日を要求する。この例では、1日の合計電気使用量は、ニューヨーク市(NYC)の1日の電気使用量をニューヨーク州ウェストチェスタ郡の1日の電気使用量に加えることによって計算される。したがって、クエリ文(statement)は、報告日100にウェストチェスタ電気使用量102とニューヨーク市電気使用量104の値の合計が3000MWより大きいという条件を指定する1つの述語を有する。
従来の(traditional)クエリ・リライトは、報告日100、ウェストチェスタ電気使用量102、およびニューヨーク市電気使用量104などの属性列に焦点を絞る。しかし、属性値の分布を分析することによって、合計電気使用量が3000MWを超えるのは、戸外の気温が90°F(32.2°C)を超えるときだけであることが判明するかもしれない。気温属性は、元のクエリには指定されておらず、補助的であるが、クエリに追加の述語を追加することによって、クエリ処理時間を著しく短縮することができる。したがって、クエリ・リライト・フェーズで気温に関する述語を含めるようにすれば有益であろう。しかし、従来のクエリ・リライト戦略は、本発明の原理が提案するように、補助属性に関する述語を含めることは行わない。
本発明で提案されるクエリ・リライト方法は、2つのパスを含む。第1のパスでは、標本データに対するクエリ結果を分析して、高い選択力を有する属性を発見する。第2のパスでは、最高位の補助属性を選択し、クエリの効率を向上させるため、選択した属性に関する新しい述語を元のクエリに追加する。
次に図2を参照すると、本発明の一実施形態による第1のパスのクエリ実行方法が、フローチャートによって示されている。この方法は、ユーザ・クエリ200を入力することから開始される。ステップ202で、データ・セットから抽出した標本データ204に対してユーザ・クエリ200を実行するのに、最初は従来の無修正クエリ処理操作が用いられる。ユーザ・クエリ200の結果が、選択データ・レコード206として返される。ステップ208で、選択データ・レコード206の各属性値についての統計が導き出される。それとは別に、ステップ210で、個別属性についての統計が、標本データ204から収集され、導き出される。ステップ212で、ステップ208および210で導き出された統計の組が評価される。この評価については図4でより詳細に説明する。
本発明の原理によれば、数値属性の場合、ステップ208および210で導き出される一般的な統計には、最大値、最小値、中間値、平均値、および標準偏差などが含まれ得る。分類用属性の場合、ステップ208および210で導き出される統計には、異なる値の数、および各値についての集約件数などが含まれ得る。2以上の属性の結合統計(joint statistics)を含むより高次の統計を導き出すこともできる。この実施形態では、本発明は、数値属性の最大値および最小値を利用するが、本発明の範囲は上記の統計に限定されるものではない。
次に図3を参照すると、本発明の一実施形態によるデータの標本抽出(sampling)が、フローチャートによって示されている。これは、図2の標本データ204の獲得を詳細に説明したものと考えることができる。この方法は、図2の第1のパスのクエリ処理操作の対象となるデータ・レコードの数を少なくする。ステップ302で、全データ・セット300のうちのN番目毎のレコードが標本抽出されて、標本データ・セット304を形成する。Nは一般に10から100の間である。結果のレコードである標本データ・セット304は、より小規模な一時データベースに保存される。
次に図4を参照すると、本発明の一実施形態による選択力のある属性の選択方法が、フローチャートによって示されている。この方法は、図2のステップ212を詳細に説明したものと考えることができる。この方法は、選択力のある属性を識別する好ましい評価方法を示す。しかし、本発明の原理は、この具体的な評価に限定されるものではなく、その他の評価基準にも適用することができる。図4では、ステップ400で入力された各数値属性が、標本データからの属性統計とクエリ結果からの属性統計の動的範囲(dynamic range)を比較することによって検査される。対象属性と補助属性が両方とも検査される。属性の動的範囲は、最大値と最小値の差として定義することができる。ステップ402で、2つの動的範囲の比率Rが計算される。ステップ404で、Rが10%より小さいがどうかが判定される。Rが10%より小さい場合、その属性は選択力のある(selective)属性408である。Rが10%より小さくない場合、その属性は選択力のない(non-selective)属性406である。Rの閾値は好ましくは、10%か10%より小さい。
次に図5を参照すると、本発明の一実施形態によるクエリ・リライト方法および第2のクエリ・パスが、フローチャートによって示されている。この方法は、各選択力のある属性の相対選択力(relative selectivity)を評価するステップ500から開始される。これらの選択力のある属性408は、図4のステップ404で発見されたものである。第2のクエリ・パスは、ステップ502で高い選択力の属性を選択することから開始される。選択力のある属性は、複数存在する場合があり、Rの値に従って昇順に順位づけされる。小さなR値はより高い選択力、より高い効率を示しているので、小さなR値が好ましい。具体的なクエリ状況に応じて、1つまたは複数の最高位の属性を選択する。次にステップ504で、範囲述語(rangepredicate)を形成する。クエリ結果から選択した属性の動的範囲から、最大値と最小値を上限と下限にすることによって、新しい範囲述語を形成する。例えば、図1の気温属性は、合計電気使用量が3000MWを超える日の場合、最大値95と最小値91を有する。気温の範囲述語は[91,95]となる。次にステップ506で、ユーザ・クエリ508に新しい範囲(気温)述語を追加する。この方法は、結果の修正クエリ510、例えば、「Selectdate from table where Westchester+NewYorkCity > 3000 AND temperature <=95 and temperature >= 91」などを生成して終了する。次に、述語が新たに追加されたクエリ510は、従来のクエリ処理操作および最適化に渡され、従来のクエリ処理操作および最適化は、新たに追加された選択力の高い述語を使用して、処理時間を短縮する。
本発明によれば、述語が追加されたクエリは、元のクエリが生成するのと同じ1組の結果を生成しないかもしれない。これは、図3の標本抽出ステップで、データ・レコードのうちの異常値をもつレコードが欠落し、そうしたレコードが属性選択および述語構築において考慮されない場合があるためである。しかし、述語が追加されたクエリと元のクエリは、電気使用量クエリの例でのように、多くの実用的な用途では同じ結果を生成する。通常、そうした用途での標本は、ノイズがより小さく、変動もより滑らかである。
次に図6を参照すると、本発明の一実施形態による、コンピュータ・システムの説明的なハードウェア実装が、ブロック図によって示されており、それに基づいて、本発明の1つまたは複数のコンポーネント/方法(例えば、図1ないし図5との関連で説明されたコンポーネント/方法)を実施することができる。例えば、図6のコンピュータ・システムは、データベースを実装することができ、図2のユーザ・クエリ204を処理することができる。
そのような個々のコンポーネント/方法は、1つの上記コンピュータ・システム上で実装し、処理することもでき、1つまたは複数の上記コンピュータ・システム上で実装し、処理することもできることを理解されたい。例えば、ユーザ・クエリ204は、1つのコンピュータ・システム(例えば、クライアント装置)上で処理することができ、一方、データベースは、別のコンピュータ・システム上に実装することができる。分散コンピューティング・システム内に実装する場合、個々のコンピュータ・システムまたは装置あるいはその両方は、例えば、インターネットまたはワールド・ワイド・ウェブなどの適切なネットワークを介して接続することができる。しかし、システムは、プライベートまたはローカル・ネットワークを介して実現することもできる。本発明は、どのような特定のネットワークにも限定されない。
図に示すように、コンピュータ・システムは、コンピュータ・バス618または代替接続構成を介して結合される、プロセッサ610、メモリ612、I/O装置614、およびネットワーク・インターフェース616によって実装することができる。
本明細書で用いる「プロセッサ」という用語には、例えば、CPU(中央処理装置)または他の処理回路あるいはその両方を始めとする処理装置など、任意の処理装置が含まれるとされることを理解されたい。また。「プロセッサ」という用語で2以上の処理装置を指すことができること、1つの処理装置に関連する様々な要素を他の処理装置と共用できることも理解されたい。
本明細書で用いる「メモリ」という用語には、例えば、RAM、ROM、固定メモリ装置(例えば、ハード・ドライブ)、着脱可能メモリ装置(例えば、ディスケット)、フラッシュ・メモリなど、プロセッサまたはCPUに関連するメモリが含まれるとされる。
さらに、本明細書で用いる「入出力装置」または「I/O装置」という語句には、例えば、データを処理装置に入力するための1つまたは複数の入力装置(例えば、キーボード、マウスなど)、または処理装置に関連する結果を提示するための1つまたは複数の出力装置(例えば、スピーカ、ディスプレイなど)、あるいはその両方が含まれるとされる。
またさらに、本明細書で用いる「ネットワーク・インターフェース」という語句には、例えば、コンピュータ・システムが別のコンピュータ・システムと適切な通信プロトコル(例えば、HTTP/S)によって通信を行えるようにする、1つまたは複数のトランシーバが含まれるとされる。
したがって、本明細書で説明した方法を実行する命令、ステップまたはコードを含むソフトウェア・コンポーネントまたはプログラムは、1つまたは複数の関連するメモリ装置(例えば、ROM、固定または着脱可能メモリ)に保存することができ、利用準備が整ったとき、その一部または全体を(例えば、RAMに)ロードしまたは可読な形で読み出され、CPUによって実行することができる。
本明細書では、本発明の説明的な実施形態を添付の図面を参照しながら説明してきたが、本発明はそのような説明通りの実施形態に限定されるものではなく、当業者であれば、本発明の範囲および主旨から逸脱することなく、様々な他の変更および修正を施すことができるであろう。
本発明の原理と従来の方法の相違を説明するのに用いられる、データベースに保存された電気使用量データを示す表である。 本発明の一実施形態による、第1のパスのクエリ実行方法を説明するフローチャートである。 本発明の一実施形態による、データの標本抽出方法を説明するフローチャートである。 本発明の一実施形態による、選択力のある属性の選択方法を説明するフローチャートである。 本発明の一実施形態による、クエリ・リライト方法を説明するフローチャートである。 本発明の一実施形態による、本発明の1つまたは複数のコンポーネント/方法をそれに基づいて実施することができる、コンピュータ・システムの説明的なハードウェア実装を示した図である。
符号の説明
100 報告日
102 ウェストチェスタ電気使用量
104 ニューヨーク市電気使用量
106 気温
108 例示的クエリ
610 プロセッサ
612 メモリ
614 I/O装置
616 ネットワーク・インターフェース
618 コンピュータ・バス

Claims (21)

  1. コンピュータ・システムに下記ステップを実行させて、データベースのクエリ処理操作中にクエリをリライトする方法であって、
    複数の属性を含むデータ・セットの少なくとも一部の標本データ・セットに対して、1以上の対象属性を含み補助属性を含まない前記クエリを処理して、クエリ結果を生成するステップであって、対象属性及び補助属性は夫々前記複数の属性の一部であり、対象属性とはユーザによって定義されたクエリ中に出現する任意の属性であり、補助属性とはユーザによって定義された前記クエリ中に出現しない任意の属性である、前記生成するステップと、
    前記標本データ・セットからのクエリ結果を分析して、補助属性について選択力を決定するステップであって、
    該分析することは、
    前記標本データ・セットからのクエリ結果から、補助属性に関する統計を抽出すること、ここで該統計は、最大値、最小値、中間値、平均値或いは標準偏差、又は各属性の値についての集約件数を含み、
    前記標本データ・セットから、補助属性に関する統計を抽出すること、ここで該統計は、最大値、最小値、中間値、平均値或いは標準偏差、又は各属性の値についての集約件数を含み、
    前記抽出された夫々の統計に基づいて、補助属性に関する選択力を求めること
    を含む、前記選択力を決定するステップと、
    前記決定した選択力のうちの高い選択力を有する補助属性の少なくとも1つに対応する少なくとも1つの新しい述語を前記クエリに追加して、リライトされたクエリを形成するステップと
    を含む方法。
  2. 前記データ・セットから標本データ・セットを抽出するステップをさらに含む、請求項1に記載の方法。
  3. 標本データ・セットを抽出する前記ステップが、前記データ・セットからN番目毎のレコードを抽出するステップを含む、請求項2に記載の方法。
  4. 前記選択力を求めることが、
    前記標本データ・セットからのクエリ結果からの前記抽出された統計を、前記標本データ・セットから前記抽出された統計と比較するステップと、
    前記統計値どうしの比率を所定の値と比較することによって、補助属性が選択力のある属性であるかどうかを判断するステップと
    を含む、請求項1に記載の方法。
  5. 少なくとも1つの新しい述語を追加する前記ステップが、
    補助属性について選択力を評価して、該評価した選択力のうちの高い選択力を有する補助属性の少なくとも1つを選択するステップと、
    前記選択された補助属性に関して少なくとも1つの新しい述語を形成するステップであって、前記新しい述語は、前記評価した選択力のうちの高い選択力を有する補助属性の最大値と最小値を夫々上限と下限にする、前記形成するステップと、
    前記ユーザ・クエリに前記少なくとも1つの新しい述語を追加するステップと
    を含む、請求項1に記載の方法。
  6. リライトされた前記クエリを用いてデータ・セット上でクエリ処理操作を実行するステップをさらに含む、請求項1に記載の方法。
  7. 前記抽出された夫々の統計に基づいて、補助属性に関する選択力を求めることが、前記標本データ・セットからのクエリ結果からの抽出された統計と前記標本データ・セットからの抽出された統計の動的範囲を比較することによっておこなわれる、請求項1に記載の方法。
  8. データベースのクエリ処理操作中にクエリをリライトするための装置であって、
    メモリと、
    前記メモリに結合された少なくとも1つのプロセッサであって、
    複数の属性を含むデータ・セットの少なくとも一部の標本データ・セットに対して、1以上の対象属性を含み補助属性を含まない前記クエリを処理して、クエリ結果を生成すること、ここで対象属性及び補助属性は夫々前記複数の属性の一部であり、対象属性とはユーザによって定義されたクエリ中に出現する任意の属性であり、補助属性とはユーザによって定義された前記クエリ中に出現しない任意の属性である、
    前記標本データ・セットからのクエリ結果を分析して、補助属性について選択力を決定することであって、
    該分析することは、
    前記標本データ・セットからのクエリ結果から、補助属性に関する統計を抽出すること、ここで該統計は、最大値、最小値、中間値、平均値或いは標準偏差、又は各属性の値についての集約件数を含み、
    前記標本データ・セットから、補助属性に関する統計を抽出すること、ここで該統計は、最大値、最小値、中間値、平均値或いは標準偏差、又は各属性の値についての集約件数を含み、
    前記抽出された夫々の統計に基づいて、補助属性に関する選択力を求めること
    を含む、前記選択力を決定すること、
    前記決定した選択力のうちの高い選択力を有する補助属性の少なくとも1つに対応する少なくとも1つの新しい述語を前記クエリに追加して、リライトされたクエリを形成すること
    を実行する、前記少なくとも1つのプロセッサと
    を含む装置。
  9. 前記少なくとも1つのプロセッサがさらに、前記データ・セットから標本データ・セットを抽出することを実行する、請求項8に記載の装置。
  10. 標本データ・セットを抽出することが、前記データ・セットからN番目毎のレコードを抽出することを含む、請求項9に記載の装置。
  11. 標本データ・セットからの選択力を求めることが、
    前記標本データ・セットからのクエリ結果からの前記抽出された統計を、前記標本データ・セットから前記抽出された統計と比較すること、
    前記統計値どうしの比率を所定の値と比較することによって、補助属性が選択力のある属性であるかどうかを判断すること
    を含む、請求項8に記載の装置。
  12. 少なくとも1つの新しい述語を追加することが、
    補助属性について選択力を評価して、該評価した選択力のうちの高い選択力を有する補助属性の少なくとも1つを選択すること、
    前記選択された補助属性に関して少なくとも1つの新しい述語を形成すること、ここで、前記新しい述語は、前記評価した選択力のうちの高い選択力を有する補助属性の最大値と最小値を夫々上限と下限にし、
    前記ユーザ・クエリに前記少なくとも1つの新しい述語を追加すること
    を含む、請求項8に記載の装置。
  13. 前記少なくとも1つのプロセッサがさらに、リライトされた前記クエリを用いてデータ・セット上でクエリ処理操作を実行する、請求項8に記載の装置。
  14. 前記抽出された夫々の統計に基づいて、補助属性に関する選択力を求めることが、前記標本データ・セットからのクエリ結果からの抽出された統計と前記標本データ・セットからの抽出された統計の動的範囲を比較することによっておこなわれる、請求項8に記載の装置。
  15. データベースのクエリ処理操作中にクエリをリライトするプログラムであって、コンピュータ・システムに、
    複数の属性を含むデータ・セットの少なくとも一部の標本データ・セットに対して、1以上の対象属性を含み補助属性を含まない前記クエリを処理して、クエリ結果を生成するステップであって、対象属性及び補助属性は夫々前記複数の属性の一部であり、対象属性とはユーザによって定義されたクエリ中に出現する任意の属性であり、補助属性とはユーザによって定義された前記クエリ中に出現しない任意の属性である、前記生成するステップと、
    前記標本データ・セットからのクエリ結果を分析して、補助属性について選択力を決定するステップであって、
    該分析することは、
    前記標本データ・セットからのクエリ結果から、補助属性に関する統計を抽出すること、ここで該統計は、最大値、最小値、中間値、平均値或いは標準偏差、又は各属性の値についての集約件数を含み、
    前記標本データ・セットから、補助属性に関する統計を抽出すること、ここで該統計は、最大値、最小値、中間値、平均値或いは標準偏差、又は各属性の値についての集約件数を含み、
    前記抽出された夫々の統計に基づいて、補助属性に関する選択力を求めること
    を含む、前記選択力を決定するステップと、
    前記決定した選択力のうちの高い選択力を有する補助属性の少なくとも1つに対応する少なくとも1つの新しい述語を前記クエリに追加して、リライトされたクエリを形成するステップと
    を実行させる、前記プログラム。
  16. 前記データ・セットから標本データ・セットを抽出するステップをさらに含む、請求項15に記載のプログラム。
  17. 標本データ・セットを抽出する前記ステップが、前記データ・セットからN番目毎のレコードを抽出するステップを含む、請求項16に記載のプログラム。
  18. 前記選択力を求めることが、
    前記標本データ・セットからのクエリ結果からの前記抽出された統計を、補助属性についての前記標本データ・セットから前記抽出された統計と比較するステップと、
    前記統計値どうしの比率を所定の値と比較することによって、補助属性が選択力のある属性であるかどうかを判断するステップと
    を含む、請求項15に記載のプログラム。
  19. 少なくとも1つの新しい述語を追加する前記ステップが、
    補助属性について選択力を評価して、該評価した選択力のうちの高い選択力を有する補助属性の少なくとも1つを選択するステップと、
    前記選択された補助属性に関して少なくとも1つの新しい述語を形成するステップであって、前記新しい述語は、前記評価した選択力のうちの高い選択力を有する補助属性の最大値と最小値を夫々上限と下限にする、前記形成するステップと、
    前記ユーザ・クエリに前記少なくとも1つの新しい述語を追加するステップと
    を含む、請求項15に記載のプログラム。
  20. コンピュータ・システムに、リライトされた前記クエリを用いてデータ・セット上でクエリ処理操作を実行するステップをさらに実行させる、請求項15に記載のプログラム。
  21. 前記抽出された夫々の統計に基づいて、補助属性に関する選択力を求めることが、前記標本データ・セットからのクエリ結果からの抽出された統計と前記標本データ・セットからの抽出された統計の動的範囲を比較することによっておこなわれる、請求項15に記載のプログラム。
JP2004265091A 2003-09-23 2004-09-13 クエリ処理操作中に補助属性を用いてクエリをリライトするための方法および装置 Expired - Fee Related JP4114653B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/668,549 US7587394B2 (en) 2003-09-23 2003-09-23 Methods and apparatus for query rewrite with auxiliary attributes in query processing operations

Publications (2)

Publication Number Publication Date
JP2005100392A JP2005100392A (ja) 2005-04-14
JP4114653B2 true JP4114653B2 (ja) 2008-07-09

Family

ID=34313512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004265091A Expired - Fee Related JP4114653B2 (ja) 2003-09-23 2004-09-13 クエリ処理操作中に補助属性を用いてクエリをリライトするための方法および装置

Country Status (4)

Country Link
US (3) US7587394B2 (ja)
JP (1) JP4114653B2 (ja)
CN (2) CN1601529A (ja)
TW (1) TWI351618B (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102982065B (zh) * 2003-09-15 2016-09-21 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
US20060235819A1 (en) * 2005-04-14 2006-10-19 International Business Machines Corporation Apparatus and method for reducing data returned for a database query using select list processing
CN100397396C (zh) * 2005-10-31 2008-06-25 北京神舟航天软件技术有限公司 基于谓词关键度分析的查询计划缓存方法及其系统
US8694527B2 (en) * 2010-06-30 2014-04-08 International Business Machines Corporation Simplified query generation from prior query results
JP6066927B2 (ja) 2011-01-28 2017-01-25 アビニシオ テクノロジー エルエルシー データパターン情報の生成
US20140372408A1 (en) * 2012-01-25 2014-12-18 Hitachi, Ltd. Sparql query optimization method
AU2013335231B2 (en) 2012-10-22 2018-08-09 Ab Initio Technology Llc Profiling data with location information
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US10255318B2 (en) 2013-02-25 2019-04-09 Facebook, Inc. Sampling a set of data
US8996559B2 (en) 2013-03-17 2015-03-31 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
US8751486B1 (en) * 2013-07-31 2014-06-10 Splunk Inc. Executing structured queries on unstructured data
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
EP3594821B1 (en) 2014-03-07 2023-08-16 AB Initio Technology LLC Managing data profiling operations related to data type
US9323809B2 (en) * 2014-03-10 2016-04-26 Interana, Inc. System and methods for rapid data analysis
JP6364086B2 (ja) 2014-08-22 2018-07-25 株式会社日立製作所 自己産出的情報処理システムおよび方法
US10296507B2 (en) 2015-02-12 2019-05-21 Interana, Inc. Methods for enhancing rapid data analysis
US10423387B2 (en) 2016-08-23 2019-09-24 Interana, Inc. Methods for highly efficient data sharding
US10146835B2 (en) 2016-08-23 2018-12-04 Interana, Inc. Methods for stratified sampling-based query execution
US9996293B1 (en) 2016-12-12 2018-06-12 International Business Machines Corporation Dynamic management of memory allocation in a database
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL126934C (ja) * 1960-10-21
US6581056B1 (en) * 1996-06-27 2003-06-17 Xerox Corporation Information retrieval system providing secondary content analysis on collections of information objects
US5842202A (en) * 1996-11-27 1998-11-24 Massachusetts Institute Of Technology Systems and methods for data quality management
US5890150A (en) * 1997-01-24 1999-03-30 Hitachi, Ltd. Random sampling method for use in a database processing system and a database processing system based thereon
JPH10269248A (ja) 1997-01-24 1998-10-09 Hitachi Ltd データベース処理システムにおけるデータの無作為抽出処理方法及びこれに基づくデータベース処理システム
US6006225A (en) * 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US6446061B1 (en) * 1998-07-31 2002-09-03 International Business Machines Corporation Taxonomy generation for document collections
US6338055B1 (en) * 1998-12-07 2002-01-08 Vitria Technology, Inc. Real-time query optimization in a decision support system
US6931392B1 (en) * 1998-12-07 2005-08-16 Vitria Technology, Inc. Real-time decision support system
US6560593B1 (en) * 1999-07-20 2003-05-06 Computer Associates Think, Inc. Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query
US20030167259A1 (en) * 2000-05-01 2003-09-04 Mike Casson Interactive sales and marketing network system
AU6504801A (en) * 2000-05-26 2001-12-11 Computer Ass Think Inc System and method for automatically generating database queries
US7003513B2 (en) * 2000-07-04 2006-02-21 International Business Machines Corporation Method and system of weighted context feedback for result improvement in information retrieval
US6519604B1 (en) * 2000-07-19 2003-02-11 Lucent Technologies Inc. Approximate querying method for databases with multiple grouping attributes
JP2002140364A (ja) * 2000-10-31 2002-05-17 Seiko Epson Corp 情報検索システム、コンテンツ検索システム、コンテンツ配信システム及び記憶媒体
US6701311B2 (en) * 2001-02-07 2004-03-02 International Business Machines Corporation Customer self service system for resource search and selection
US6884946B2 (en) * 2002-03-05 2005-04-26 Premark Feg L.L.C. Scale for weighing and determining a price of an item
US6941297B2 (en) * 2002-07-31 2005-09-06 International Business Machines Corporation Automatic query refinement

Also Published As

Publication number Publication date
US7587394B2 (en) 2009-09-08
CN1601530A (zh) 2005-03-30
US20070299832A1 (en) 2007-12-27
US8122046B2 (en) 2012-02-21
US20120109992A1 (en) 2012-05-03
TW200517887A (en) 2005-06-01
US20050065914A1 (en) 2005-03-24
CN1601529A (zh) 2005-03-30
CN1323366C (zh) 2007-06-27
JP2005100392A (ja) 2005-04-14
TWI351618B (en) 2011-11-01

Similar Documents

Publication Publication Date Title
JP4114653B2 (ja) クエリ処理操作中に補助属性を用いてクエリをリライトするための方法および装置
US9244974B2 (en) Optimization of database queries including grouped aggregation functions
US8682875B2 (en) Database statistics for optimization of database queries containing user-defined functions
US7610264B2 (en) Method and system for providing a learning optimizer for federated database systems
US8650179B2 (en) Generating statistics for temporary tables during query optimization
US6996556B2 (en) Metadata manager for database query optimizer
US6996554B2 (en) Database processor
US6134555A (en) Dimension reduction using association rules for data mining application
EP2289007B1 (en) Search results ranking using editing distance and document information
US6032146A (en) Dimension reduction for data mining application
US6965891B1 (en) Method and mechanism for partition pruning
US20030088579A1 (en) Collecting statistics in a database system
US8688682B2 (en) Query expression evaluation using sample based projected selectivity
US7447676B2 (en) Method and system of collecting execution statistics of query statements
US20060271504A1 (en) Performance data for query optimization of database partitions
US20080195578A1 (en) Automatically determining optimization frequencies of queries with parameter markers
US20030135485A1 (en) Method and system for rowcount estimation with multi-column statistics and histograms
US20130138633A1 (en) Decomposed query conditions
US20090077054A1 (en) Cardinality Statistic for Optimizing Database Queries with Aggregation Functions
US20040002956A1 (en) Approximate query processing using multiple samples
US20030167275A1 (en) Computation of frequent data values
US20050108204A1 (en) System and method for managing OLAP summary tables
US20090144307A1 (en) Performing Hierarchical Aggregate Compression
US20080301085A1 (en) Dynamic Database File Column Statistics for Arbitrary Union Combination
US20090171921A1 (en) Accelerating Queries Based on Exact Knowledge of Specific Rows Satisfying Local Conditions

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070720

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070720

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20070720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20070720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20071102

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071102

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080402

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20080402

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080407

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140425

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees