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

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

Info

Publication number
JP2005100392A
JP2005100392A JP2004265091A JP2004265091A JP2005100392A JP 2005100392 A JP2005100392 A JP 2005100392A JP 2004265091 A JP2004265091 A JP 2004265091A JP 2004265091 A JP2004265091 A JP 2004265091A JP 2005100392 A JP2005100392 A JP 2005100392A
Authority
JP
Japan
Prior art keywords
query
attribute
data
data set
attributes
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.)
Granted
Application number
JP2004265091A
Other languages
English (en)
Other versions
JP4114653B2 (ja
Inventor
Yuan-Chi Chang
ユアンチ・チャン
Matthew L Hill
マシュー・エル・ヒル
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)

Abstract

【課題】データベースのクエリ処理操作中にクエリをリライトして、元のクエリには含まれていない補助属性を含ませ、それによって処理効率を向上させるための方法および装置を提供すること。
【解決手段】例えば、本発明の一態様では、クエリ処理操作中にクエリをリライトする技法は、以下のステップを含む。第1に、データ・セットの少なくとも一部に従ってクエリを処理して、クエリ結果を生成する。第2に、クエリ結果の中のデータ属性を分析する。最後に、少なくとも1つの補助データ属性に関する少なくとも1つの新しい述語をクエリに追加する。
【選択図】図5

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つの新しい述語を前記クエリに追加するステップとを含む方法。
  2. 前記データ・セットの前記少なくとも一部が、前記データ・セットから標本抽出されたレコードを含む、請求項1に記載の方法。
  3. 前記データ・セットからデータ・レコードを標本抽出するステップをさらに含む、請求項2に記載の方法。
  4. データ・レコードを標本抽出する前記ステップが、前記データ・セットからN番目毎のレコードを標本抽出するステップを含む、請求項3に記載の方法。
  5. データ属性を分析する前記ステップにおいて、前記データ属性が、対象データ属性と補助データ属性を含む、請求項1に記載の方法。
  6. 前記クエリに追加する前記ステップにおいて、前記少なくとも1つのデータ属性が、少なくとも1つの補助データ属性を含む、請求項5に記載の方法。
  7. データ属性を分析する前記ステップが、
    前記クエリ結果から各属性に関する統計を抽出するステップと、
    前記データ・セットの前記少なくとも一部から各属性に関する統計を抽出するステップと、
    各属性に関する相対選択力を評価するステップとを含む、請求項1に記載の方法。
  8. 相対選択力を評価する前記ステップが、
    各属性に関して、前記クエリ結果からの統計範囲を前記データ・セットの前記少なくとも一部からの統計範囲と比較するステップと、
    前記範囲どうしの比率を所定の値と比較することによって、各属性が選択力のある属性であるかどうかを判断するステップとを含む、請求項7に記載の方法。
  9. 少なくとも1つの新しい述語を追加する前記ステップが、
    各データ属性に関する相対選択力を評価するステップと、
    高い選択力を有する少なくとも1つの補助データ属性を選択するステップと、
    少なくとも1つの新しい述語を形成するステップと、
    前記ユーザ・クエリに前記少なくとも1つの新しい述語を追加するステップとを含む、請求項1に記載の方法。
  10. リライトされたクエリを用いてデータ・セット上でクエリ処理操作を実行するステップをさらに含む、請求項1に記載の方法。
  11. データベースのクエリ処理操作中にクエリをリライトするための装置であって、
    メモリと、
    前記メモリに結合された少なくとも1つのプロセッサであって、(i)データ・セットの少なくとも一部に従って前記クエリを処理して、クエリ結果を生成し、(ii)前記クエリ結果の中のデータ属性を分析し、(iii)少なくとも1つのデータ属性に関する少なくとも1つの新しい述語を前記クエリに追加するように動作する少なくとも1つのプロセッサとを含む装置。
  12. 前記データ・セットの前記少なくとも一部が、前記データ・セットから標本抽出されたレコードを含む、請求項11に記載の装置。
  13. 前記少なくとも1つのプロセッサがさらに、前記データ・セットからデータ・レコードを標本抽出するように動作する、請求項12に記載の装置。
  14. データ・レコードを標本抽出する前記動作が、前記データ・セットからN番目毎のレコードを標本抽出する動作を含む、請求項13に記載の装置。
  15. データ属性を分析する前記動作において、前記データ属性が、対象データ属性と補助データ属性を含む、請求項11に記載の装置。
  16. 前記クエリに追加する前記動作において、前記少なくとも1つのデータ属性が、少なくとも1つの補助データ属性を含む、請求項15に記載の装置。
  17. データ属性を分析する前記動作が、
    前記クエリ結果から各属性に関する統計を抽出する動作と、
    前記データ・セットの前記少なくとも一部から各属性に関する統計を抽出する動作と、
    各属性に関する相対選択力を評価する動作とを含む、請求項11に記載の装置。
  18. 相対選択力を評価する前記動作が、
    前記クエリ結果からの各属性に関する統計範囲を前記データ・セットの前記少なくとも一部の対応する属性の統計範囲と比較する動作と、
    前記範囲どうしの比率を所定の値と比較することによって、各属性が選択力のある属性であるかどうかを判断する動作とを含む、請求項17に記載の装置。
  19. 少なくとも1つの新しい述語を追加する前記動作が、
    各データ属性に関する相対選択力を評価する動作と、
    高い選択力を有する少なくとも1つの補助データ属性を選択する動作と、
    少なくとも1つの新しい述語を形成する動作と、
    前記ユーザ・クエリに前記少なくとも1つの新しい述語を追加する動作とを含む、請求項11に記載の装置。
  20. 前記少なくとも1つのプロセッサがさらに、リライトされたクエリを用いてデータ・セット上でクエリ処理操作を実行するように動作する、請求項11に記載の装置。
  21. データベースのクエリ処理操作中にクエリをリライトするためのマシン可読で実行可能なプログラムであって
    データ・セットの少なくとも一部に従って前記クエリを処理して、クエリ結果を生成するステップと、
    前記クエリ結果の中のデータ属性を分析するステップと、
    少なくとも1つのデータ属性に関する少なくとも1つの新しい述語を前記クエリに追加するステップとを実行するプログラム。
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 true JP2005100392A (ja) 2005-04-14
JP4114653B2 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111287A1 (ja) * 2012-01-25 2013-08-01 株式会社日立製作所 Sparqlクエリ最適化方法
JP2016513325A (ja) * 2013-02-25 2016-05-12 フェイスブック,インク. データセットのサンプリング
JP2017512344A (ja) * 2014-03-10 2017-05-18 インターナ, インコーポレイテッドInterana, Inc. 迅速なデータ解析のためのシステム及び方法
US10146835B2 (en) 2016-08-23 2018-12-04 Interana, Inc. Methods for stratified sampling-based query execution
US10423387B2 (en) 2016-08-23 2019-09-24 Interana, Inc. Methods for highly efficient data sharding
US10452721B2 (en) 2014-08-22 2019-10-22 Hitachi, Ltd. Autopoietic information processing system and method
US10747767B2 (en) 2015-02-12 2020-08-18 Interana, Inc. Methods for enhancing rapid data analysis

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1676217B1 (en) 2003-09-15 2011-07-06 Ab Initio Technology LLC Data profiling
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
AU2012211167B2 (en) 2011-01-28 2014-08-21 Ab Initio Technology Llc Generating data pattern information
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
US8935272B2 (en) 2013-03-17 2015-01-13 Alation, Inc. Curated answers community automatically populated through user query monitoring
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
CA2939915C (en) 2014-03-07 2021-02-16 Ab Initio Technology Llc Managing data profiling operations related to data type
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
JPH10269248A (ja) 1997-01-24 1998-10-09 Hitachi Ltd データベース処理システムにおけるデータの無作為抽出処理方法及びこれに基づくデータベース処理システム
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
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
US6931392B1 (en) * 1998-12-07 2005-08-16 Vitria Technology, Inc. Real-time decision support system
US6338055B1 (en) * 1998-12-07 2002-01-08 Vitria Technology, Inc. Real-time query optimization in a 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
JP2004509382A (ja) * 2000-05-26 2004-03-25 コンピュータ アソシエイツ シンク,インコーポレイテッド データベースクエリーを自動的に発生するシステム及び方法
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

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013111287A1 (ja) * 2012-01-25 2013-08-01 株式会社日立製作所 Sparqlクエリ最適化方法
JPWO2013111287A1 (ja) * 2012-01-25 2015-05-11 株式会社日立製作所 Sparqlクエリ最適化方法
JP2016513325A (ja) * 2013-02-25 2016-05-12 フェイスブック,インク. データセットのサンプリング
US10255318B2 (en) 2013-02-25 2019-04-09 Facebook, Inc. Sampling a set of data
JP2017512344A (ja) * 2014-03-10 2017-05-18 インターナ, インコーポレイテッドInterana, Inc. 迅速なデータ解析のためのシステム及び方法
US11977541B2 (en) 2014-03-10 2024-05-07 Scuba Analytics, Inc. Systems and methods for rapid data analysis
US11372851B2 (en) 2014-03-10 2022-06-28 Scuba Analytics, Inc. Systems and methods for rapid data analysis
US10713240B2 (en) 2014-03-10 2020-07-14 Interana, Inc. Systems and methods for rapid data analysis
US10452721B2 (en) 2014-08-22 2019-10-22 Hitachi, Ltd. Autopoietic information processing system and method
US10747767B2 (en) 2015-02-12 2020-08-18 Interana, Inc. Methods for enhancing rapid data analysis
US11263215B2 (en) 2015-02-12 2022-03-01 Scuba Analytics, Inc. Methods for enhancing rapid data analysis
US10963463B2 (en) 2016-08-23 2021-03-30 Scuba Analytics, Inc. Methods for stratified sampling-based query execution
US10423387B2 (en) 2016-08-23 2019-09-24 Interana, Inc. Methods for highly efficient data sharding
US11971892B2 (en) 2016-08-23 2024-04-30 Scuba Analytics, Inc. Methods for stratified sampling-based query execution
US10146835B2 (en) 2016-08-23 2018-12-04 Interana, Inc. Methods for stratified sampling-based query execution

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4114653B2 (ja) クエリ処理操作中に補助属性を用いてクエリをリライトするための方法および装置
US7610264B2 (en) Method and system for providing a learning optimizer for federated database systems
US9244974B2 (en) Optimization of database queries including grouped aggregation functions
US8682875B2 (en) Database statistics for optimization of database queries containing user-defined functions
US6801903B2 (en) Collecting statistics in a database system
US7171408B2 (en) Method of cardinality estimation using statistical soft constraints
US8812493B2 (en) Search results ranking using editing distance and document information
US7630967B1 (en) Join paths across multiple databases
US6965891B1 (en) Method and mechanism for partition pruning
US8423569B2 (en) Decomposed query conditions
US7447676B2 (en) Method and system of collecting execution statistics of query statements
US8688682B2 (en) Query expression evaluation using sample based projected selectivity
US20080052286A1 (en) Method and Apparatus for Predicting Selectivity of Database Query Join Conditions Using Hypothetical Query Predicates Having Skewed Value Constants
US20130254171A1 (en) Query-based searching using a virtual table
US20080195578A1 (en) Automatically determining optimization frequencies of queries with parameter markers
US7836022B2 (en) Reduction of join operations when archiving related database tables
US20030135485A1 (en) Method and system for rowcount estimation with multi-column statistics and histograms
US20090077054A1 (en) Cardinality Statistic for Optimizing Database Queries with Aggregation Functions
US20050198008A1 (en) Index exploitation for spatial data
US20090112792A1 (en) Generating Statistics for Optimizing Database Queries Containing User-Defined Functions
US20030167275A1 (en) Computation of frequent data values
US20050108204A1 (en) System and method for managing OLAP summary tables
US20080301085A1 (en) Dynamic Database File Column Statistics for Arbitrary Union Combination
Patel et al. A review paper on different approaches for query optimization using schema object base view
CN117390064B (zh) 一种基于可嵌入子图的数据库查询优化方法

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