JPH11353331A - デ―タベ―スの問合せに応答する方法 - Google Patents

デ―タベ―スの問合せに応答する方法

Info

Publication number
JPH11353331A
JPH11353331A JP11139178A JP13917899A JPH11353331A JP H11353331 A JPH11353331 A JP H11353331A JP 11139178 A JP11139178 A JP 11139178A JP 13917899 A JP13917899 A JP 13917899A JP H11353331 A JPH11353331 A JP H11353331A
Authority
JP
Japan
Prior art keywords
tuple
sample
data
query
approximate
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.)
Pending
Application number
JP11139178A
Other languages
English (en)
Inventor
Acharia Swarapp
アチャリア スワラップ
B Jibbonsu Philip
ビー ジッボンス フィリップ
Matthias Josshi
マチアス ヨッシ
Puusara Bisuwanasu
プーサラ ビスワナス
Ramaswamy Sridder
ラマスワミー スリッダー
Swel Torsten
スエル トーステン
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JPH11353331A publication Critical patent/JPH11353331A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination

Landscapes

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

Abstract

(57)【要約】 【課題】 データベース問合せに対して高速で高精度の
近似回答を提供する。 【解決手段】 データベースの問合せに応答して、近似
問合せエンジンのメモリ内の複数のデータサンプルを更
新する。データサンプルは、データベースに格納された
データよりも少ないスペースしか必要としない。次に、
問合せが、データベースでのデータの挿入か削除かを判
定する。問合せがデータ挿入の場合、各タプルごとに、
そのタプルの関係を判定し、所定の確率でその関係に関
連する一様ランダムサンプルにそのタプルを追加する。
実際に追加された場合、そのタプルを用いて新しい結合
データサンプルタプルを計算し、その新しい結合データ
サンプルタプルを、前記関係に関連する結合データサン
プルに追加する。一様ランダムサンプルがある最大サイ
ズを超えた場合、一様ランダムサンプル内のタプルのう
ちの1つをランダムに選択して削除する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データベース問合
せ(クエリ)システムに関し、特に、大規模データ記録
ウェアハウス環境における近似問合せ回答システムと、
問合せに対して近似回答を行う関連技術に関する。
【0002】
【従来の技術】近似問合せ回答とは、データベースシス
テムへの問合せに対して、精度保証付きで(例えば、あ
る誤差範囲で)、推定される回答を行う技術および方法
を指すために用いられる用語である。このようなデータ
ベースシステムは、システムが問合せに応答するのに要
する時間を短縮することによってデータベースシステム
の問合せ応答パフォーマンスを改善するために使用する
ことが可能である。
【0003】大規模なデータ記録ウェアハウス環境で
は、問合せに対して高速で近似的な回答を行うことが有
効であることが多い。その目標は、正確(厳密)な回答
を計算するのに要する時間よりも1桁短い時間で、推定
される応答を提供することである。これは、ベースデー
タへのアクセスを回避し、またはアクセス数を最小にし
て、ベースデータが利用不能のときでも近似回答を提供
することにより実現される。
【0004】従来の問合せ処理は、応答時間を最小化し
スループットを最大化するようにして、問合せに対して
厳密回答を行うことのみに注目している。しかし、厳密
回答のための応答時間が、所望のものより遅い環境がい
くつかある。第1に、大規模データ記録ウェアハウス環
境では、複雑な問合せに対して厳密回答を行うことは、
必要なディスクI/Oの量のために、数分から数時間か
かることがある。テラバイト以上のデータのある環境で
は、データの1回のスキャンにも数十分かかることがあ
る。例えば、各ディスクから20MB/sで一度に10
0個のディスクからの並列読み出しを用いて3TBのデ
ータをスキャンするのには25分かかる。第2に、分散
データ記録ウェアハウス環境では、一部のデータがリモ
ートにあって応答時間が遅いことがあり、また、一部の
データが現在は利用可能でないためにデータが再び利用
可能になるまでは厳密回答は選択肢にならないことがあ
る。このような分散環境については、C. Faloutsos et
al., "Recovering information from summary data", P
roc. 23rd International Conf. on Very Large Data B
ases, pp.36-45, August 1997、に記載されている。最
後に、厳格な応答時間要求の環境では、特定レベルの記
憶階層における1回のアクセスでも、許容できないほど
遅いことがある。例えば、ミリ秒以下の応答時間の場
合、1回のディスクアクセスは遅すぎる。
【0005】厳密回答を提供すると応答時間が好ましく
ないほど長くなってしまうような環境が、問合せに対し
て近似回答を提供する技術に関する我々の研究の動機で
ある。我々の目標の1つは、ベースデータへのアクセス
を回避し、またはアクセス数を最小にすることによっ
て、厳密回答を計算するのに要する時間より1桁短い時
間で、推定される応答を提供することである。
【0006】厳密回答が要求されず、高速で近似的な回
答のほうが好まれるような状況はいくつもある。例え
ば、臨時のデータマイニングにおける絞り込み(ドリル
ダウン)問合せシーケンスの間、シーケンスのはじめの
ほうの問合せは、興味深い問合せは何かを判断するため
にのみ使用される(例えば、J. M. Hellerstein et a
l., "Online aggregation", Proc. ACM SIGMOD Interna
tional Conf. on Management of Data, pp.171-182, Ma
y 1997、参照)。近似回答は、問合せがどのくらい適切
にたてられたものであるかに関するフィードバックも与
える。さらに、近似回答は、ベースデータが利用可能で
ないときに問合せに対する仮の回答を提供することも可
能である。もう1つの例は、問合せが数値的回答を要求
し、厳密回答の高い精度が必要でない場合、例えば、総
計、平均、あるいは割合の最初の数桁の精度で十分な場
合(百万を単位とした総計の最初の数桁や、百分率の最
も近い整数部分のような)である。この場合を例示する
ため、地区ごと、および、各地区内の店鋪タイプごとに
グループ化された平均および最低の売上の集計値を問い
合わせる、売上データベースに対する標準SQL(Struc
tured Query Language)のGROUP BY問合せにつ
いて考える。表1は、このようなGROUP BY要求
の結果得られる典型的な厳密回答である。この回答を得
るには、データベース内のあらゆるレコードを探索し、
平均および最低の売上値を計算する必要がある。このよ
うな演算に要する時間は、小規模のローカルデータベー
スの場合の数秒間から、大規模データウェアハウス環境
の数十分間までの範囲に及ぶ可能性がある。これに対し
て、近似回答は、推定値および精度を与える。
【0007】
【表1】
【0008】本発明の目標は、問合せに対して高速な近
似回答を提供することである。表2に、表1と同じGR
OUP BY問合せに対して、指定された信頼確率に基
づいて各推定値ごとに信頼区間として精度を与えた、近
似回答の例を示す。注意すべき点であるが、いくつかの
場合には、上限(健全性限界(sanity bound)という。)
が、平均および最低の売上で推定値の代わりに<500
として示されている。同じく注意すべき点であるが、近
似回答は、厳密回答では提供されない行(タプル)を含
むこと(この例では、「中部アウトレット」のグルー
プ)があり、その逆の場合もある。タプル(組)とは、
問合せに対する回答における単一の完全な行のことであ
り、例えば、票2の第1タプルは、(東部,リテール,
12000±800,4100±400)である。同じ
く注意すべき点であるが、高速近似回答の技術は、問合
せオプティマイザにおける従来の役割として、プランコ
ストを推定するために用いることも可能である。このよ
うなアプリケーションは、非常に高速な応答時間を要求
するが、厳密回答は要求しないからである。
【0009】
【表2】
【0010】近似問合せ回答における最近の研究にもか
かわらず、現在の技術は速度、適用範囲および精度にお
いて極めて制限されていると考えられる。
【0011】Hellerstein et al.は、オンライン集計(o
nline aggregation)という集計問合せの近似回答のため
のフレームワークを提案した。これは、ベースデータが
問合せ時にある順序でスキャンされ、集計問合せに対す
る近似回答がスキャンの進行とともに更新される(連続
的報告)というものである。集計問合せとは、データベ
ースタプルの列に対する述語および集計関数(例えば、
個数(count)、平均(average)、あるいは総計(sum))を
指定するものである。厳密回答は、述語を満たすすべて
のタプルにわたり集計関数を適用した結果を返す。グラ
フィック表示が、スキャンの進行とともに、回答および
(減少する)信頼区間を図示し、ユーザは任意の時刻に
その進行を停止することができる。維持されるシノプシ
スは、データベース問合せのGROUP BY演算にお
いて小さいセットの特殊な処理を可能にするインデック
ス(索引)のみである。シノプシスとは、基礎となるデ
ータベースの小さい、あらかじめ計算された要約データ
構造(サンプル、個数など)である。報告されるタプル
は問合せ時にベースデータから取得されるため(後
述)、応答時間は、本発明よりも数桁遅くなる。「問合
せ時間」は、問合せがなされたときから応答が生成され
るまでの時間である。グループのスキャン順序がランダ
ムである場合、精度保証付きのランダムに選択された確
定タプル(ランダム選択タプル)が報告される。確定タ
プルとは、厳密回答の場合のタプルである。さらに、す
べてのグループを考えると、必要に応じて、小さいセッ
トに偏ったバイアス付きで選択された確定タプル(バイ
アス選択タプル)が報告される。バイアス選択タプルと
は、特定の基準に従って偏った厳密回答で報告されるタ
プルである。ランダムなスキャン順序の欠点は、応答時
間がさらに遅くなることである。スキャン順序がディス
ク上のデータの順序である場合、応答時間はランダム順
序の場合より高速になるが、報告されるタプルは、発見
的精度(極めて精度が低い可能性もある)の任意の確定
タプルとなる。
【0012】他のシステムは、限定されたオンライン集
計機能しかサポートしない。例えば、Red Brickシステ
ムは、現在(ランニング)の個数、平均、および総計し
かサポートしない。これらの集計を生成するのに用いら
れるスキャン順序はランダムではないため、発見的な精
度のみが可能であり、精度は極めて悪くなる可能性があ
る。タプルは問合せ時にベースデータから取得されるた
め、応答時間は遅い。しかし、維持すべきシノプシスが
ないため、更新時間に寄与するオーバーヘッドはなく、
また、シノプシスのためのフットプリントもない。「更
新時間」とは、データベースに変更が生じたときにシノ
プシスを最新のものに保つのに要する時間であり、「フ
ットプリント」とは、シノプシスを格納するのに要する
メモリのサイズである。
【0013】最近のいくつかの研究に"fast-first"問合
せ処理に関するものがある。その目標は、問合せ回答の
いくつかのタプルをすばやく提供することである。Baya
rdoand Miranker, "Processing queries for first-few
answers", Proc. 5th International Conf. on Inform
ation and Knowledge Management, pp.45--52, Novembe
r 1996、には、最初の回答が生成されるまでの待ち時間
を最小にするために、パイプライン化されループがネス
トされた結合(join)を用いて問合せを最適化し実行する
技術が記載されている。結合は、データベース問合せに
対する回答を作成する際に、データベース内の相異なる
関係(テーブル)からの対象とする属性(例えば、個々
の部品番号に対する売上数のような特定のフィールドデ
ータ)のみをあるキーに基づいて結合して新たな関係に
おける回答を提供する場合に行われる。Oracle Rdbシス
テムは、fast-first問合せ処理を提供するために、複数
の問合せプランを同時に実行することをサポートする。
これらのシステムはいずれも、問合せ時にベースデータ
にアクセスすることによって、任意の代表的な確定タプ
ルを報告する。それらの代表的タプルには、サイズ評価
やその他のメタ情報は提供されない。シノプシスも維持
される必要がない。
【0014】VrbskyとLiuによって開発され、S. V. Vrb
sky and J. W. S. Liu, "Approximate---a query proce
ssor that produces monotonically improving approxi
mateanswers", IEEE Trans. on Knowledge and Data En
gineering, 5(6):1056-1068, 1993、に記載されている
近似的問合せプロセッサでは、セットに値をとる(セッ
ト値)問合せに対する近似回答は、直積のサブセットで
ある厳密回答のスーパーセットである。セット値問合せ
とは、厳密回答としてタプルのセットを返すものであ
る。この問合せプロセッサの目標は、処理の進行ととも
にスーパーセットを縮小することによって、単調に改善
する近似回答を生成することである。ベースデータはい
くつかの小さいブロックとして格納され、属性の範囲に
従ってそれらのブロックを分類するさまざまにインデッ
クス付けられたクラス階層が構築される。この問合せプ
ロセッサは、さまざまなクラス階層を用いて、回答に関
連するブロックを反復的にフェッチし、回答に入ること
が確実なタプルを生成するとともに、回答を含む可能な
クラスを狭める。精度に対する限界は提供されず、サイ
ズ評価やその他のメタ情報もなく、代表的タプルは任意
の確定タプルである。他の関連する問合せプロセッサ
(上記のVrbsky and Liuの参考文献参照)も同様に、問
合せ時にベースデータに作用し、セット値問合せに対す
る近似回答を、厳密回答に収束するサブセットおよびス
ーパーセットとして定義する。
【0015】表3に、従来の研究と本発明の一実施例
(本発明のAquaシステム。詳細は後述)の比較の要
約を示す。近似問合せエンジンに対して以下の5つの尺
度を用いてこれらのシステムを評価した。 (1)適用範囲:近似回答を提供することが可能な問合
せの範囲。 (2)応答時間:問合せに対して近似回答を提供するた
めの時間。 (3)精度:提供される回答の精度。 (4)更新時間:システムシノプシスを最新のものに保
つ際のオーバーヘッド。 (5)フットプリント:システムシノプシスに必要な記
憶領域。 もちろん、他のシステム(近似システム以外)はいずれ
も、近似問合せエンジンとして設計されたものではない
ので、この比較は不公平である。しかし、これは、本発
明のAquaシステム以前の近似問合せエンジンにおけ
る技術水準を反映している。
【0016】
【表3】
【0017】D. Barbara et al., "The New Jersey dat
a reduction report", Bulletin ofthe Technical Comm
ittee on Data Engineering, 20(4):3-45, 1997、に
は、近似問合せ回答を提供することを含むさまざまな目
的に使用可能なデータ簡約(data reduction)技術の調査
が記載されている。また、ここで、コンサイスサンプル
(concise sample)とカウンティングサンプル(counting
sample)という2つのサンプリングに基づくシノプシス
を紹介する。これらは、同じフットプリントで比較的大
きいサンプルを得ることが可能であり、ホットリスト問
合せに対する近似問合せ回答を改善するために使用可能
であって、P. B. Gibbons and Y. Matias,"New samplin
g-based summary statistics for improving approxima
te queryanswers", Technical Report, Bell Laborator
ies, Murray Hill, NJ, USA, November 1997、および、
P. B. Gibbons et al., "Aqua project white paper",
Technical Report, Bell Laboratories, Murray Hill,
NJ, USA, December 1997、に記載されている。「コンサ
イスサンプル」とは、そのサンプルに複数回現れる値が
1つの値およびカウントとして表されるような、データ
セットの一様ランダムサンプルである。「カウンティン
グサンプル」とは、コンサイスサンプルの変形で、その
サンプルに対してある値が選択された後、データウェア
ハウスに挿入されたその値のすべての出現を追跡するた
めに個数(カウント)が使用されるようなサンプルであ
る。Olken and Rotem, "Maintenance of materialized
viewsof sampling queries", Proc. 8th IEEE Internat
ional Conf. on Data Engineering, pp.632-641, Febru
ary 1992、には、ランダムサンプルのビューを管理する
技術が記載されている。また、 ・Y. Matias et al., "Dynamic generation of discret
e random variates",Proc. 4th ACM-SIAM Symp. on Dis
crete Algorithms, pp.361-370, January 1993 ・Y. Matias et al., "Approximate data structures w
ith applications", Proc. 5th ACM-SIAM Symp. on Dis
crete Algorithms, pp.187-194, January 1994 ・Y. Matias et al., "Performance evaluation of app
roximate priority queues", DIMACS Fifth Implementa
tion Challenge; Priority Queues, Dictionaries, and
Point Sets, October 1996 には、高速な近似回答を提供する近似データ構造が提案
され研究されている。例えば、優先待ち行列データ構造
は、INSERT、FINDMIN、およびDELET
EMINという演算をサポートする。近似優先待ち行列
は、これらの演算をより少ないオーバーヘッドでサポー
トするとともに、FINDMINおよびDELETEM
INの演算に応じて近似的なMIN(最小値)を報告す
る。これらのデータ構造は線形スペースのフットプリン
トを有する。
【0018】近似シノプシスの増分管理(incremental m
aintenance)に関するその他の研究には、 ・P. Flajolet and G. N. Martin, "Probabilistic cou
nting", Proc. 24th IEEE Symp. on Foundations of Co
mputer Science, pp.76-82, October 1983 ・P. Flajolet and G. N. Martin, "Probabilistic cou
nting algorithms fordata base applications", J. Co
mputer and System Sciences, 31:182-209, 1985 ・K.-Y. Whang, B. T. Vander-Zanden, and H. M. Tayl
or, "A linear-time probabilistic counting algorith
m for database applications", ACM Transactions on
Database Systems, 15(2):208-229, 1990 ・P. J. Haas, J. F. Naughton, S. Seshadri, and L.
Stokes, "Sampling-based estimation of the number o
f distinct values of an attribute", Proc.21st Inte
rnational Conf. on Very Large Data Bases, pp.311-3
22, September1995 ・N. Alon, Y. Matias, and M. Szegedi, "The space c
omplexity of approximating the frequency moments",
Proc. 28th ACM Symp. on the Theory of Computing,
pp.20-29, May 1996 ・P. B. Gibbons, Y. Matias, and V. Poosala, "Fast
incremental maintenance of approximate histogram
s", Proc. 23rd International Conf. on Very Large D
ata Bases, pp.466-475, August 1997 ・V. Ganti and V. Poosala, "Space-efficient approx
imation of the datacube", Technical report, Bell L
aboratories, Murray Hill, New Jersey, USA, Novembe
r 1997 がある。最後に、問合せオプティマイザ内で使用するた
めのサンプリングに基づく推定アルゴリズムに関する以
下のような多くの研究がある。 ・W.-C. Hou, G. Ozsoyoglu, and B. K. Taneja, "Stat
istical estimators for relational algebra expressi
ons", Proc. 7th ACM Symp. on Principles ofDatabase
Systems, pp.276-287, March 1988 ・W.-C. Hou, G. Ozsoyoglu, and B. K. Taneja, "Proc
essing aggregate relational queries with hard time
constraints", Proc. ACM SIGMOD International Con
f. on Management of Data, pp.68-77, June 1989 ・R. J. Lipton and J. F. Naughton, "Estimating the
size of generalizedtransitive closures", Proc. 15
th International Conf. on Very Large DataBases, p
p.165-172, August 1989 ・R. J. Lipton and J. F. Naughton, "Query size est
imation by adaptivesampling", Proc. 9th ACM Symp.
on Principles of Database Systems, pp.40-46, April
1990 ・R. J. Lipton, J. F. Naughton, and D. A. Schneide
r, "Practical selectivity estimation through adapt
ive sampling", Proc. ACM SIGMOD International Con
f. on Management of Data, pp.1-12, May 1990 ・W.-C. Hou, G. Ozsoyoglu, and E. Dogdu, "Error-co
nstrained COUNT query evaluation in relational dat
abases", Proc. ACM SIGMOD International Conf. on M
anagement of Data, pp.278-287, May 1991 ・P. J. Haas and A. N. Swami, "Sequential sampling
procedures for query size estimation", Proc. ACM
SIGMOD International Conf. on Management of Data,
pp.1-11, June 1992 ・Y. Ling and W. Sun, "A supplement to sampling-ba
sed methods for query size estimation in a databas
e system", SIGMOD Record, 21(4):12-15, 1992 ・R. J. Lipton, J. F. Naughton, D. A. Schneider, a
nd S. Seshadri, "Efficient sampling strategies for
relational database operations", Theoretical Comp
uter Science, 116(1-2):195-226, 1993 ・P. J. Haas, J. F. Naughton, S. Seshadri, and A.
N. Swami, "Fixed-precision estimation of join sele
ctivity", Proc. 12th ACM Symp. on Principles of Da
tabase Systems, pp.190-201, May 1993 ・P. J. Haas, J. F. Naughton, and A. N. Swami, "On
the relative cost of sampling for join selectivit
y estimation", Proc. 13th ACM Symp. on Principles
of Database Systems, pp.14-24, May 1994 ・R. J. Lipton and J. F. Naughton, "Query size est
imation by adaptivesampling", J. Computer and Syst
em Sciences, 51(1):18-25, 1995 ・P. J. Haas, J. F. Naughton, S. Seshadri, and L.
Stokes, "Sampling-based estimation of the number o
f distinct values of an attribute", Proc.21st Inte
rnational Conf. on Very Large Data Bases, pp.311-3
22, September1995 ・S. Ganguly, P. B. Gibbons, Y. Matias, and A. Sil
berschatz, "Bifocalsampling for skew-resistant joi
n size estimation", Proc. 1996 ACM SIGMODInternati
onal Conf. on Management of Data, pp.271-281, June
1996
【0019】これらの従来の研究のいずれにも、本発明
の新規技術を使用しているものはない。
【0020】
【発明が解決しようとする課題】従って、データベース
における関係ごとにあらかじめ計算された結合結果のサ
ンプル(「結合サンプル」という。)を維持することに
よって、(1)結合サンプルに基づく結合問合せに対し
て、および、(2)あらかじめ計算されたグループ項目
のバイアス付きサンプルに基づくGROUP BY問合
せに対して、高速な近似回答を提供するシステムおよび
新しい技術が必要とされている。
【0021】
【課題を解決するための手段】従来の近似問合せ回答シ
ステムの問題点および欠点は、本発明の原理および本発
明による近似問合せ回答(AQUA:Approximate QUer
y Answering)システムの開発によって克服される。A
QUAは、広範なクラスの集計およびセット値問合せに
対して高速で高精度の近似回答を提供するように設計さ
れた最初のシステムであると思われる。このシステム
は、一般に問合せ時のディスクアクセスを回避すること
によって、従来のシステムよりも数桁短い応答時間で近
似回答を提供する。これは、以下のようにして実現され
る。 (1)データに関するいくつかのシノプシスを保持す
る。 (2)主に新規データがデータウェアハウスにロードさ
れるのを観測することによってそれらのシノプシスを更
新する。 (3)離散的報告(利用可能なすべてのシノプシスから
決定される単一の近似回答)を提供する。 (4)データ分布、データベースがロードされている順
序、あるいはディスク上のデータの物理的配置に関する
いかなる事前の仮定もせずに精度保証を提供する。 (5)問合せに応答するために頻繁に更新もしくは使用
またはその両方がなされるシノプシスをメモリ常駐にす
ることによりデータウェアハウスよりも数桁小さいフッ
トプリントを有する。 現在、このシステムは、SELECT(選択)、AGG
REGATE(集計)、GROUP BY、あるいはJ
OIN(結合)(特に、オンライン分析処理(OLA
P)でよく知られているマルチウェイ外部キー結合)を
有する問合せに対して高速な近似回答を提供する。
【0022】本発明のシステムは、新規データがデータ
ウェアハウスにロードされるのを観測し、小さいシノプ
シスデータ構造(サンプル、カウントなど)を管理する
近似問合せエンジンを提供する。これらのシノプシスデ
ータ構造を用いて、問合せ時にデータベースにアクセス
することなく、問合せに対する高速な近似回答を提供す
ることができる。
【0023】本発明のシステムは、いくつかの新しい技
術を用いて、このクラスの問合せに対する近似問合せ回
答の精度を改善する。第1に、本発明のシステムは、結
合サンプリングを用いて、近似品質を大幅に改善する。
結合サンプリングとは、非巡回データウェアハウススキ
ーマにおいて、外部キー結合の確率的サンプリングを用
いて、個々の基底関係ごとに単一の結合サンプルを作成
し管理することである。第2に、本発明のシステムは、
バイアス付きサンプリングを用いて、GROUP BY
演算における小さいグループの問題を克服する。バイア
ス付きサンプリング(biased sampling)とは、データベ
ースのGROUP BY演算の結果として得られるグル
ープによりサンプルにバイアス(偏り)をつけることに
よって、グループのテーブルを作成し管理することであ
る。最後に、本発明のシステムは、システムで用いられ
る結合サンプル、バイアス付きサンプル、およびその他
のすべてのシノプシスの増分管理のための効率的なアル
ゴリズムを使用する。増分管理とは、データの挿入およ
び削除のようなデータベースへの更新を反映するように
シノプシスを更新することである。
【0024】本発明の一実施例は、コンピュータ実行可
能な命令を有するコンピュータ読み取り可能な媒体とし
て実現される。コンピュータ実行可能な命令は、データ
ベースの問合せに応答して、近似問合せエンジンのメモ
リ内の複数のデータサンプルを更新する。データサンプ
ルは、データベースに格納されたデータよりも少ないス
ペースしか必要としない。さらに、コンピュータ実行可
能な命令は、問合せが、データベースにデータを挿入す
るものか、それとも、データベースからデータを削除す
るものかを判定する。問合せがデータを挿入するもので
ある場合、各タプルごとに、(a)そのタプルのデータ
ベース関係を判定し、(b)所定の確率に基づいてその
関係に関連する一様ランダムサンプルにそのタプルを追
加し、(c)そのタプルが一様ランダムサンプルに追加
された場合、(i)そのタプルを用いて新しい結合デー
タサンプルタプルを計算し、(ii)その新しい結合デ
ータサンプルタプルを、前記関係に関連する結合データ
サンプルに追加し、(iii)一様ランダムサンプルが
ある最大サイズを超えた場合、(1)一様ランダムサン
プル内のタプルのうちの1つをランダムに選択し、
(2)ランダムに選択されたタプルを一様ランダムサン
プルから削除し、(3)結合データサンプルから前記タ
プルに関連する結合データサンプルタプルを削除する。
問合せがデータを削除するものである場合、(a)前記
タプルの関係を判定し、(b)前記タプルが既存の一様
ランダムサンプルにある場合、(i)そのタプルをその
一様ランダムサンプルから削除し、(ii)関連する結
合データサンプルからそのタプルに関連する結合データ
サンプルタプルを削除し、(c)複数の一様ランダムサ
ンプルのうちのいずれかが所定の最小要求サイズより小
さくなった場合、所定最小要求サイズより小さくなった
それぞれの一様ランダムサンプルに、データベースから
の新しいタプルを加える。
【0025】
【発明の実施の形態】図1に、従来のデータウェアハウ
スシステムを示す。データベースはデータウェアハウス
110に存在する。データウェアハウス110は、新規
データ120が到着すると更新され、問合せ130は、
データウェアハウスから計算される厳密応答140によ
って解答される。
【0026】図2に、近似問合せ回答システムを示す。
このシステムは、問合せ130とデータウェアハウス1
10の間に配置された近似問合せエンジン210を有す
る。本発明の発明者は、この近似問合せエンジンをAQ
UAと命名した。これは本発明の一実施例に過ぎず、A
QUAの考察から他の構成も考えることができる。問合
せ130に解答することを容易にするため、近似問合せ
エンジン210は、データに関するさまざまな要約情報
を格納することができる。この情報をシノプシスデータ
構造あるいは単にシノプシスという。シノプシスデータ
構造(シノプシス)は、基礎となるデータベースからあ
らかじめ計算された小さい要約データ構造(サンプル、
個数など)である。シノプシスデータ構造は、データに
関する重要な情報を簡潔な表現で捕捉する。すなわち、
これはデータの「シノプシス(概要)」を提供する。注
意すべき点であるが、シノプシスデータ構造は、データ
ベースに見出される情報の要約であって、単なる複製で
はない。関係データウェアハウスに対するシノプシスの
例には、大きい関係のヒストグラムおよびサンプル行
や、重要な列に射影された小さい関係のすべての行があ
る。これらのシノプシスは、(1)新規データ120が
データウェアハウス110にロードされるのを観測する
こと、(2)データウェアハウス110に定期的に戻っ
て情報を更新すること、あるいは(3)問合せ時にデー
タウェアハウス110に戻ることによって、管理するこ
とができる。
【0027】問合せ130は、近似問合せエンジン21
0に送られる。可能な限り、近似問合せエンジン210
は、問合せに対して、そのシノプシスを用いて、近似回
答および精度(例えば、数値的回答の場合には95%信
頼区間)からなる応答220を返す。連続的報告(Barb
ara et al.では"progressive resolution refinement"
と呼ばれたもの)では、近似問合せエンジン210は、
問合せに対して(近似回答,精度)の対の列を提供し続
ける。それぞれの対は後のほうほど精度の高い回答を提
供する(Hellerstein et al.の場合と同様)。離散的報
告では、1個または数個のみのそのような対が近似問合
せシステム210によって提供される。また、近似問合
せシステム210は、近似問合せシステム210あるい
は従来の問合せオプティマイザによって決定される厳密
回答を計算するための推定時間を返すことも可能であ
る。問合せ130をしたユーザは、問合せ処理を中断し
て現在の近似回答で満足するか、それとも、次の近似、
あるいは、ベースデータからの厳密回答まで進むかを決
定することができる。あるいは、ユーザは、近似回答を
さらに検証するために、現在の問合せ130を継続した
まま、新たな問合せをすることも可能である。
【0028】図3に、地区ごと、および、各地区内の店
鋪タイプごとにグループ化された平均および最低の売上
の集計値を問い合わせる、売上データベースに対する標
準的なGROUP BY問合せに対する例示的な厳密回
答300を示す。この回答は、データベース内のデータ
から計算された厳密置を有するn行のデータ(タプル)
のセット310−j(j=1,2,...,n)を返す。
【0029】図4に、図3の結果を得るために用いたの
と同じ標準的なデータベース問合せに対する例示的な近
似回答400を示す。この回答は、近似問合せエンジン
210によって管理されるシノプシスデータ構造から導
出された近似値を有するn行のデータ(タプル)のセッ
ト410−j(j=1,2,...,n)を返す。回答が
集計値(例えば、AVG、SUM、COUNTの結果)
であるような問合せの場合、近似回答の概念は直観的な
ものである。すなわち、近似回答は単に、回答の推定値
および精度である。これは、SQLのGROUP BY
演算で生じるような、集計値410の集まりに拡張する
ことができる。この場合、近似回答は、それぞれのその
ような集計値に対する(推定値,精度)の対420であ
り、その集計値(グループ)を定義する属性でラベルさ
れる。図4では、近似回答は、各推定値ごとに信頼区間
として精度を提供し、この精度は、同じく指定される何
らかの信頼確率に対するものである(例えば、95%信
頼区間)。注意すべき点であるが、いくつかの場合に
は、上限(健全性限界430という。)が、推定値の代
わりに提供される。同じく注意すべき点であるが、近似
回答400は、厳密回答にはないタプルを含むこと(こ
の例では、「中部アウトレット」のグループ410−
4)があり、その逆の場合もある。
【0030】セット値問合せの場合、近似回答とは何か
ということはあまり直観的ではない。厳密回答内のタプ
ルの数は極めて多いことがあるため、効率化のため、シ
ステムは、厳密回答内の各タプルごとにタプルを返さな
いことがある。非常に高速な応答時間を保証するため
に、システムは、少数の代表的なタプルのみを、タプル
のセット全体に関するメタ情報とともに返そうとする。
すなわち、近似回答は、厳密回答内のタプルの個数の推
定される(または実際の)カウントを含む、厳密回答の
メタ情報に関する推定値と、厳密回答からの代表的タプ
ルの両方からなる。各メタ情報推定値は、精度を含む。
代表的タプルは、当業者に周知のように、そのタプルが
厳密回答内にあることを近似エンジンが確証しているか
否かに応じて、確定または可能と分類される。可能タプ
ルは、厳密回答内のタプルとの類似性の何らかの尺度と
ともに報告される。例としては、ある与えられた信頼確
率で厳密回答に入るタプルや、問合せによって計算され
る(MINやMAXのような)選択基準を満たさないが
それに近いタプルがある。
【0031】確定タプルは、報告されるタプルが出力タ
プルのセットの一様ランダムサンプルである場合にラン
ダム選択タプルとして分類され、報告されるタプルが特
定の基準(バイアス基準)に従って偏っている場合にバ
イアス選択タプルとして分類され、あるいは、任意タプ
ルとして分類される。ランダム選択タプルは、出力タプ
ルのセット全体を一様に代表するという利点を有する。
バイアス選択タプルは、バイアス基準が「最も重要な」
出力タプルに沿っている場合、例えば、問合せがあるし
きい値より上のタプルを要求し、報告されるタプルが最
大量だけそのしきい値を超えるもののほうに偏っている
場合に、有利である。このような場合、バイアス選択の
ほうが、ランダム選択よりも好ましいことがある。他
方、出力タプルが重要であるための基準が未知の場合、
あるいは、相反する基準がある場合、一様ランダムサン
プルが自然な選択である。代表タプルは、完全タプルに
おけるすべての列を含むことも含まないことも可能であ
る。
【0032】近似回答の精度には、問合せのタイプに依
存して、いくつかの可能性がある。数値的回答の場合、
自然な精度は、精度区間[a,b]および信頼確率pか
らなる信頼区間である。信頼区間は、また、近似回答
を、厳密値の不偏推定値とする、すなわち、近似回答の
期待値が厳密値に等しくなるようにすると有効である。
精度および類似性の尺度は、(証明可能に)保証付きで
あるか、それとも、発見的であるかのいずれかに分類す
ることが可能である。一般的な発見的尺度には、ヒスト
グラムバケット内の値の分布に関する仮定に基づくも
の、属性の独立性に基づくもの、結合の一様性に基づく
もの、および、ディスクからシーケンシャルに読み出さ
れるタプルのランダム性に基づくものがある。保証付き
尺度のほうが好ましいが、場合によっては、厳密に保証
付きの限界を得ることは困難であり、発見的尺度のほう
が適当なこともある。
【0033】図5に、厳密回答のタイプと、それらに対
応する厳密回答との間の関係の一例を示す。集計値51
0の場合、近似回答は、精度付きの推定値または健全性
限界を含む。ここで、精度は信頼区間である。セット値
問合せ520の場合、近似回答は、厳密回答に関する推
定メタ情報と、代表タプルのセットである。「メタ情
報」とは、厳密回答のサイズの推定値および信頼区間で
あり、代表タプルは、問合せに依存して、タイプ
(a)、(b)、(c)または(d)のものである。
【0034】図6に、各基底関係を頂点とする有向非巡
回グラフG(600)を示す。頂点uから頂点vへの有
向辺は、v(に対応する関係)に対する外部キーを形成
する属性がu(に対応する関係)に含まれる場合に存在
する。これは、データベース内の関係の間の関係を示
す、データベーススキーマの図形的表現の例である。こ
の例は、TPC−Dベンチマークに対するスキーマを例
示している。
【0035】図6において、頂点L610、O620、
C630、PS640、P650、S660、N67
0、およびR680は、データベース内の関係に対応す
る。頂点L610とO620は、O620内の特定のレ
コードを識別する外部キーOrder612を用いて、
有向辺611によって連結されている。別の有向辺62
5は、外部キーCust626を用いてO620をC6
30に連結し、さらに別の有向辺635は、外部キーN
ation636を用いてC630をN670に連結
し、さらに別の有向辺675は、外部キーRegion
676を用いてN670をR680に連結している。頂
点L610は、外部キーPart614を用いて別の有
向辺613によって頂点P650にも連結されている。
さらに、頂点L610は、外部キーSupp619を用
いて別の有向辺618によって頂点S660に連結さ
れ、S660は、外部キーNation666を用いて
別の有向辺665によってN670に連結されている。
最後に、頂点L610は、組合せ外部キーPart・S
upp616を用いて別の有向辺615によって頂点P
S640に連結され、PS640は、外部キーPart
644を用いて別の有向辺643によってP650に連
結され、外部キーSupp646を用いて別の有向辺6
45によってS660に連結されている。
【0036】近似問合せエンジン210の自然なシノプ
シスのセットは、各基底関係の一様ランダムサンプルを
含むものである。しかし、基底関係のサンプルを用い
て、結合(join)を有する問合せに対して近似回答を提供
する場合の問題点は、一般に、近似の品質が、単一の結
合でも非常に悪くなることである。これは次の2つの理
由で起こる。 1.2つの一様ランダムサンプルの結合は、結合の出力
の一様ランダムサンプルではない。2つの関係に対し
て、各タプルが他方の関係における高々1個のタプルと
しか結合しないという特殊な場合を除いて、結合オペレ
ータは、結合タプル間の依存関係(従属性)を生じる。 2.2つのランダムサンプルの結合は一般に、結合選択
性がかなり高い場合でも、少数のタプルである。例え
ば、一方の関係内のタプルの大多数がそれぞれ、他方の
関係内のわずかなタプルからなるタプルの固定セットS
と結合される場合、高い確率で、これらのタプルがいず
れも、関係のサンプルの結合内にないことになる。その
理由は、S内のタプルは、高い確率でサンプルに現れな
いからである。 実際、このような近似に対する最も良く知られた信頼区
間は極めて悲観的なものである。例えば、P. J. Haas,
"Large-sample and deterministic confidence interv
als for online aggregation", 9th International Con
f. on Scientificand Statistical Database Managemen
t, 1998、における限界から、結合サイズが大きくない
場合(このような場合が多い)、自明でない信頼区間を
得るには、サンプルサイズは、結合属性の最大値、ある
いは、関係の相当大きな部分の少なくとも2乗でなけれ
ばならないことがわかる。注意すべき点であるが、この
問題は、外部キー結合の場合でも起こる。2ウェイ結合
1←→r2(r1≠r2)は、結合属性がr1内の外部キ
ー(すなわち、r2内のキー)である場合、外部キー結
合である。k≧3に対して、kウェイ結合は、結合され
る関係の順序r1,r2,...,rkが、i=2,
3,...,kに対してsi-1←→riが2ウェイ外部キー
結合である(ただし、si-1はr1,r2,...,ri-1
結合することによって得られる関係である。)ような順
序である場合、外部キー結合である。
【0037】本発明による結合サンプルという新規な解
決法は、外部キー結合のみを有する任意の非巡回データ
ウェアハウススキーマに対して有効である。このような
スキーマはデータウェアハウスでは一般的であり、実
際、TPC−Dベンチマークは、この状況をそのスキー
マに反映している(図6参照)。この解決法は、部分的
には、重要な属性のみを格納することによって、およ
び、冗長なサブタプルを除去することによって、さまざ
まな結合の出力からの選択されたタプルのサンプルを効
率的に管理する。基本的な考え方は、各基底関係ごとに
1個の結合サンプルを管理することによって、以下の補
題1および補題2を強化することである。
【0038】補題1。任意のkウェイ外部キー結合にお
けるk個のノード上のGのサブグラフは、単一のルート
ノードを有する連結サブグラフでなければならない。
【0039】証明。上記のkウェイ外部キー結合の性質
を満たす関係の順序r1,r2,...,rkを考える。証明
は、単一のノードr1を基本的な場合とする帰納法によ
る。1<i≦k、および、si-1=r1←→・・・←→r
i-1とする。si-1内のi−1個のノード上のサブグラフ
i-1が単一のルートノードr1に連結されていると仮定
する。si-1←→riは2ウェイ外部キー結合であるた
め、結合属性はri内のキーでなければならない。従っ
て、Gi-1内のあるノードからr1へ向かう辺が存在し、
これは、Gi=Gi-1∪riがGの連結サブグラフである
ことを意味する。従って、G内にr1からriへの有向パ
スが存在する。Gは非巡回で、ri≠r1であるため、r
1(これは、帰納法の仮定によりGi-1内の唯一のルート
ノードである。)は、Giの唯一のルートノードであ
る。補題は帰納法により従う。
【0040】従って、任意のkウェイ外部キー結合に対
して、1つのルートノードが存在する。これをその結合
のソース関係(source relation)という。例えば、図6
で、P650、PS640、およびS660の間の3ウ
ェイ外部キー結合において、ソース関係はPS640で
ある。
【0041】補題2。r1内のタプルと、ソース関係を
1とする任意のkウェイ外部キー結合内のタプルとの
間には一対一対応が存在する。
【0042】証明。結合の定義により、結合の出力内の
各タプルτに対して、τをr1内の属性に射影したもの
がτ′であるようなタプルτ′がr1内に存在する。逆
に、我々は、r1内の各タプルτ′に対して、kウェイ
外部キー結合内にちょうど1個のタプルτが存在するこ
とを主張する。この主張を帰納法により示す。上記のk
ウェイ外部キー結合の性質を満たす関係の順序r1
2,...,rkを考える。主張は、単一の関係r1の基本
的な場合には成立は自明である。1<i<k、および、
i-1=r1←→・・・←→ri-1とする。帰納的に、r1
内の各タプルτ′に対して、si-1内にちょうど1個の
タプルτが存在すると仮定する。si-1←→riは2ウェ
イ外部キー結合であるため、結合属性はri内のキーで
なければならない。従って、ri内には、si-1内の各タ
プルと結合するタプルが高々1個存在し、さらに、外部
キー一貫性制約により、このようなタプルは少なくとも
1個存在する。従って、r1内の各タプルτ′に対し
て、si=si-1←→ri内にはちょうど1個のタプルτ
が存在する。主張、従って補題は、帰納法により従う。
【0043】補題1から、各ノードは、G内の子孫に関
連するkウェイ外部キー結合に対してのみ、ソース関係
であり得る。各関係rに対して、rをソース関係とする
ある最大外部キー結合が存在する。例えば、図6で、C
←→N←→RはCをソース関係とする最大外部キー結合
であり、L←→O←→C←→N1←→R1←→PS←→
P←→S←→N2←→R2は、Lをソース関係とする最
大外部キー結合である。
【0044】結合サンプル。G内の、関係r1に対応す
る各ノードuに対して、J(u)は、r1をソースとす
る最大外部キー結合r1←→r2←→・・・←→rkの出
力であると定義する。(uがG内に子孫を有しない場
合、k=1で、J(u)=r1である。)Suを、r1
一様ランダムサンプルとする。結合サンプルJ(Su
を、Su←→r2←→・・・←→rkの出力と定義する。
我々のシノプシスは、G内のすべてのuに対するJ(S
u)からなる。
【0045】このシノプシスの有用性は以下の定理から
観察することができる。この定理は、補第2の直接の帰
結である。
【0046】定理3。r1←→・・・←→rk(k≧2)
を、r1をソース関係とする任意のkウェイ外部キー結
合とする。uを、r1に対応するG内のノードとし、Su
を、r1の一様ランダムサンプルとする。Aを、
1,...,rk内の属性のセットとする。 ・J(Su)は、サイズ|Su|の、J(u)の一様ラン
ダムサンプルである。 ・r1←→・・・←→rk=πAJ(u)である。すなわ
ち、r1,...,rk内の属性上へのJ(u)の射影であ
る。 ・πAJ(Su)は、サイズ|Su|の、r1←→・・・←
→rk(=πAJ(u))の一様ランダムサンプルであ
る。 従って、我々のシノプシスから、任意のkウェイ外部キ
ー結合(k≧2)の出力の一様ランダムサンプルを抽出
することができる。
【0047】2つの結合は、それらが同じ関係のセット
を結合していない場合に、互いに素であるという。次の
補題は、単一の結合サンプルが、多数の互いに素の結合
に対して、特に、データウェアハウスで一般的なスター
状スキーマに対して使用可能であることを示す。
【0048】補題4。最大外部キー結合がK個の関係で
あるノードに対する単一の結合サンプルから、K−1〜
K-1−1個の外部キー結合の出力の一様ランダムサン
プルを抽出することができる。
【0049】証明。前者(K−1個)の場合は、ノード
のすべての子孫がG内でラインを形成する場合に起こ
る。後者(2K-1−1個)の場合は、スタースキーマの
場合のように、ノードがそのすべての子孫からなるスタ
ーのルートである場合に起こる。
【0050】注意すべき点であるが、補題2は、ソース
関係以外の任意の関係には一般に適用することができな
いため、ソース関係以外の任意の関係r内の結合タプル
は一般にrの一様ランダムサンプルにはならない。従っ
て、各ノードごとに別個の結合サンプルが必要となる。
【0051】結合サンプルを管理するこの解決法の制限
は、最悪の場合のスキーマでは、最大外部キー結合のサ
イズはスキーマ内の関係の個数に関して指数関数的にな
りうることである。
【0052】補題5。t個の関係を有する外部キースキ
ーマであって、最大外部キー結合が4・2(t-1)/3−3
個の関係を有するものが存在する。
【0053】証明。riをルートとする「コートハンガ
ー」Hiを考える。Hi+1はルートri +1を有し、その2
個の子lおよびrはそれぞれriに結合する。容易に確
認されるように、コートハンガーHiは3i+1個のノ
ードを有する。H(t-1)/3のノードであって、ノード間
の辺が外部キー関係を表すようなt個の関係を考える。
すると、容易に確認されるように、最大外部キー結合は
4・2(t-1)/3−3個の関係を有する。
【0054】このような場合、問合せに実際に生じる結
合は、最大外部キー結合のうちのどの程度が実体化して
いるかを判定するのに用いられる。
【0055】必要なスペースの縮小。想起すべき点であ
るが、Aquaでは、重要な属性と、小さい関係のすべ
てのタプルのみが格納される。これは、結合サンプルタ
プルのために格納される列数を低減する。結合サンプル
のためのフットプリントをさらに縮小するため、Aqu
aは、J(Su)内のタプルを、構成要素の関係へと再
正規化し、重複を除去することができる。外部キーが多
対一である限り、これはスペースを縮小する(その場
合、キーは複製されることになるが)。このアプローチ
では、Su内のあるタプルが削除されると、次のいずれ
かが可能である。 (1)他の関係内のどのタプルを除去すべきか(もしあ
れば)を線形探索、参照カウントの管理などによって直
ちに決定する。 (2)他のタプルをそのまま残し、その後、定期的にJ
(Su)を実体化し未使用のタプルを捨てることによっ
てガーベジコレクションを行う。あるいは、Aqua
は、上記のような再正規化を行うが、すべてのuに対す
るJ(Su)の、Suを除く合併(union)をとり、重複を
除去するということも可能である。
【0056】補題6。最大外部キー結合がKウェイ結合
であるような任意のノードuに対して、再正規化された
結合サンプルJ(Su)内のタプルの個数は高々K|Su
|である。
【0057】証明。(未正規化)J(Su)内の各タプ
ルは、正規化されたJ(Su)(重複除去前)にK個の
タプルの寄与をする。
【0058】例として、図6に対して、NおよびRの単
一のコピーを格納し、それらをGから除去した場合、
L、PS、O、C、P、およびSに対して、Kの値はそ
れぞれ6、3、2、1、1、および1となる。|Su
がG−{N,R}内のすべてのuに対して等しいとする
と、すべてのデータ分布に対して、シノプシス内のタプ
ルの個数は高々14|Su|+|N|+|R|となる。
外部キーが多対一である限り、スペースはこの上限より
もかなり小さくなりうる。
【0059】図7に、Aquaの近似問合せエンジン2
10において問合せを処理することに関連するステップ
を示す。近似問合せエンジン210の重要な特徴は、
(a)豊富な問合せオペレータのセットと、(b)容易
な拡張性である。ステップ710で、オペレータのツリ
ーを含む問合せプランがシステムに入力される。オペレ
ータは、個々の問合せオペレータ(例えば、選択(selec
t)、ハッシュあるいはネスト化ループ結合、整列(sor
t)、集計(aggregate)、ファイルから読み込み(read-fro
m-file)など)に対応する。すべてのオペレータは、標
準インタフェースを有する繰返し子(iterator)として実
装され、トップダウン方式で実行される。ステップ71
5で、openコールがプランのルートに対して呼び出
される。これは、オペレータ固有のデータを初期化す
る。ステップ720で、そのそれぞれの子に対して再帰
的にopenを呼び出す。ステップ725で、オペレー
タがさらに子を有するかどうかをチェックする。さらに
子がある場合、処理はステップ720にループバックす
る。これ以上子がない場合、ステップ730で、ルート
プランをチェックし、さらにオペレータがあるかどうか
を判定する。さらにオペレータがある場合、処理はステ
ップ715にループバックする。これ以上オペレータが
ない場合、ステップ735で、システムは未処理のオペ
レータを選択する。オペレータは、これ以上結果が生成
されないときに処理済みとなる。ステップ740で、オ
ペレータは、いくつかの入力を子から(または、fil
e readオペレータの場合にはデータベースファイ
ルから)フェッチする。ステップ745で、オペレータ
をチェックし、さらに子があるかどうかを判定する。さ
らに子がある場合、処理はステップ740にループバッ
クする。これ以上子がない場合、ステップ750で、オ
ペレータは関連するオペレーション(もしあれば)を実
行する。ステップ755で、オペレータは、オペレーシ
ョンの結果を上位に送り、親がそれをフェッチすること
ができるようにする。ステップ760で、プランをチェ
ックし、さらに未処理のオペレータがあるかどうかを判
定する。ある場合、処理はステップ735にループバッ
クする。この処理は、問合せに対するすべての入力が取
り尽くされ、これ以上結果が生成されなくなったときに
終了する。これ以上未処理のオペレータがない場合、ス
テップ765で、システムは、オペレータに対するcl
oseを呼び出す。これは、クリーンアップオペレーシ
ョンを実行する(例えば、開いたテーブルを閉じ、メモ
リを解放する)。ステップ770で、プランをチェック
し、さらにopenオペレータがあるかどうかを判定す
る。さらにopenオペレータがある場合、処理はステ
ップ765にループバックする。これ以上openオペ
レータがない場合、処理は終了する。
【0060】この設計の重要な特徴は、オペレータが相
互に分離されていることである。すなわち、オペレータ
は、その入力を生成するオペレータの性質を知る必要は
なく、その逆も同様である。例えば、オペレータから見
ると、入力は、単なるファイルスキャンから来ること
も、複雑な問合せから来ることも可能である。この特徴
により、Aquaは、モジュール的に任意の複雑な問合
せを処理し、局所的な変化を既存の問合せオペレータに
追加(あるいは変更)することが可能となる。これによ
り、さまざまの新規なオペレータの非常に容易な実装が
可能となるため、これはAquaにおいて非常に有用で
ある。例えば、入力ストリームをサンプリングし、固定
数(当業者に周知のレザボアサンプリング(reservoir s
ampling)を用いて)または入力ストリームの所望の部分
の、ランダムに選択されたタプルを出力するsampl
eオペレータが実装されている。
【0061】図8に、本発明の方法およびコンピュータ
実装された発明の第1実施例のステップを示す。基本的
なAqua近似問合せエンジン210は、データに関す
るシノプシスを管理するルーチンにより強化される。シ
ノプシスの多くは通常、システムカタログに格納され、
以下のものを含む。 ・各関係に対して、その関係内のタプルの個数を管理す
る。 ・小さい関係(タプルは数百以下)に対して、その関係
のすべてのタプルを格納する。 ・他のすべての関係に対して、結合サンプルなどのシノ
プシスを格納する。 ・AVGまたはSUM集計で用いられる可能性のある各
属性に対して、その範囲の上限および下限を管理する。
【0062】格納されている各タプルに対して、重要な
属性のみが保持される。保持する属性の最適な選択は、
問合せの内容に依存する。例えば、コメントのような記
述的文字列は、問合せに回答するため、あるいは、メタ
情報を計算するために必要のない場合には捨てられる。
記述的文字列はしばしば多くのバイト数を要するので、
これにより各タプルに必要なフットプリントが縮小す
る。他方、この選択は、システムが、これらの属性に関
して問合せに対し適当な近似回答を提供することができ
ないことを意味する。
【0063】本発明の方法およびコンピュータ実装され
た発明の第1実施例のステップを図8に示す。ステップ
810で、データがデータベースに格納されているとお
りのデータサンプルが取得される。ステップ820で、
取得されたデータサンプルは、近似問合せエンジン21
0のメモリに格納される。近似問合せエンジン210に
データサンプルを格納するのに必要なメモリの量は、デ
ータウェアハウス110全体より小さい。ステップ83
0で、近似問合せエンジン210は問合せ130を受け
取る。ステップ840で、近似問合せエンジン210
は、近似問合せエンジン210のメモリに格納されてい
るデータサンプルで、問合せ130に適合するものを検
索する。ステップ850で、近似問合せエンジン210
は、ステップ840で得られた、適合した格納データサ
ンプルを含む応答220を出力する。例えば、ステップ
840およびステップ850の一実施例では、問合せの
ソース関係を判定し、問合せを、この関係に関連する結
合サンプルに適用する。
【0064】新規データのバッチ到着と、(格納されて
いる)ベースデータへの時折のアクセスに基づいて、A
quaで用いられるシノプシスを増分管理する新規なア
ルゴリズムが開発されている。このようなアルゴリズム
により、シノプシスは、並行性ボトルネックなしに常に
実質的に最新のものに保つことが可能となる。更新およ
び問合せが交錯するオンライン環境では、Aquaは、
あらゆるタプル(例えば、属性の最小値および最大値)
を調べることを必要とする最新のシノプシスの管理は、
並行性ボトルネックを生じることなしには不可能であ
る。(注意すべき点であるが、Aquaにおけるほどん
どのシノプシスはサンプリングに基づくものであるた
め、ときどきの更新しか必要としない。)このような環
境では、管理は定期的にのみ実行される。あらゆるタプ
ルを調べる必要のあるシノプシスに依存する近似回答
は、データの最近の傾向(すなわち、管理が最後に実行
された後に生じたもの)を考慮に入れないことになるた
め、精度保証が大幅に低下する可能性がある。注意すべ
き点であるが、増分管理アルゴリズムは、ベースデータ
を1回スキャンした後、少数のキーに関する索引付き参
照によって、ゼロからすべてのシノプシスを計算するた
めにも(そのような再計算が必要であれば)使用可能で
ある。
【0065】上記のほとんどのシノプシスは、既知の技
術を用いて管理することができる。カウンタは、タプル
が挿入されるときにインクリメントし、タプルが削除さ
れるときにデクリメントすることによって管理される。
一様ランダムサンプルは、我々の1997年8月の論文
(Gibbons et al., "Fast incremental maintenanceof
approximate histograms", Proc. 23rd International
Conf. on Very LargeData Bases, pp.446-475)に記載
されているアルゴリズムを用いてタプルが挿入および削
除されるとともに管理される。属性の最大値および最小
値は、挿入時には、現在の最大または最小と新規タプル
を比較することによって管理される。削除時には、最大
または最小が削除される場合、(1)その削除を無視
し、保守的な限界とするか、(2)関係を再び参照し、
新規の最大または最小を抽出するか、(3)最大値およ
び最小値のセットを保持するか(セット全体が削除され
る場合に実行するのは(1)または(2)のみであ
る。)、または、(4)各範囲内の値の個数に関するヒ
ストグラム(ただし、この範囲は、例えば、2の累乗と
することが可能である。)を管理するか、のいずれかで
ある。(4)により、対数的個数のバケットを用いるだ
けで、(2)にたよることなく、2倍(2分の1)の範
囲内で最大および最小に関する推定値が提供される。
【0066】図9に、本発明の方法およびコンピュータ
実装された発明の第1実施例において結合サンプルを管
理するステップを示す。関係uにおける挿入および削除
時のサンプルSuもまた、上記のアルゴリズムを用いて
管理される。任意の関係における挿入および削除時にす
べてのuに対してJ(Su)を管理するため、Aqua
は、各外部キーに関する一貫性制約に基づいて、より高
速な管理アルゴリズムを可能にしている。
【0067】各uに対する結合サンプルJ(Su)を管
理するアルゴリズムは以下の通りである。puを、ラン
ダムサンプルSu内に、関係uに対して新たに到着した
タプルを含む現在の確率とする。G内のノードuに対応
する基底関係に新規タプルτを挿入する場合には、次の
ことを行う。u←→r2←→・・・←→rkを、uをソー
スとする最大外部キー結合とする。(1)τをSuに確
率puで追加する。(2)τがSuに追加された場合、タ
プル{τ}←→r2←→・・・←→rkをJ(Su)に追
加する。これは、基底データへの高々K−1回の参照
(それぞれr2,...,rkにおける)を行うことによっ
て計算することができる。(既にJ(Su)内にあるキ
ーに対しては、そのキーあるいはその「子孫」に対する
参照は不要である。)(3)τがSuに追加され、Su
その目標サイズを超過した場合、Suから除くべきタプ
ルτ′を一様ランダムに選択する。τ′に対応するタプ
ルをJ(S u)から除去する。
【0068】タプルτをuから削除する場合には、ま
ず、τがSu内にあるかどうかを判定する。τがSu内に
ある場合、τをSuから削除し、τに対応するタプルを
J(S u)から除去する。Gibbons et al.に記載されて
いるように、サンプルからの多数の削除によりサンプル
が小さくなり過ぎた場合、基底関係を再スキャンするこ
とによりサンプルを再び追加する。
【0069】注意すべき点であるが、このアルゴリズム
は、(小さい)確率puでベースデータへの参照を行う
のみである。また、タプルが基底関係uに挿入されると
きに、uの先祖に対する結合サンプルは全く更新されな
い。このような更新はコストがかかる。その理由は、こ
のようなオペレーションは、uのあらゆる挿入に対し
て、およびあらゆる先祖に対して実行されることになる
からである。その代わりに、システムは、一貫性制約に
基づいて、このようなコストのかかる更新を回避する。
【0070】定理7。上記のアルゴリズムは、すべての
uを、uの一様ランダムサンプルとして正しく保持
し、すべての結合サンプルJ(Su)を正しく保持す
る。
【0071】証明。一貫性制約により、wからuへの各
辺に対して、常にu内には各タプルに結合するちょうど
1個のタプルが存在する。従って、その後のuへのタプ
ルの挿入は、w内に既にあるタプルと結合することはで
きず、uから削除されるタプルは、w内に依然として存
在するタプルと結合していることはない。
【0072】図9に、上記のアルゴリズムに関連するス
テップを示す。ステップ910で、近似問合せエンジン
(AQUA)はデータベース問合せを受け取る。特に、
この問合せは、これからデータベースに挿入される新し
いタプルの情報か、または、データベース内に既にあり
これから削除されるタプルの情報への参照かのいずれか
を含む。ステップ915で、問合せをチェックし、実行
すべきオペレーションが挿入であるかまたは削除である
かを判定する。オペレーションが挿入である場合、ステ
ップ920で、問合せ情報がデータベース内のどの関係
に関連しているかが判定される。ステップ930で、関
連する一様ランダムサンプルに新規タプルを追加する現
在の計算された確率に基づいて、関連する一様ランダム
サンプルにタプルを追加する。タプルが追加された場
合、ステップ935で、新しい結合データサンプルタプ
ルを計算する。タプルが追加されない場合(すなわち、
ステップ930の判断のNOの枝が成立する場合)、処
理はステップ960に移る(後述)。ステップ940
で、新規計算された結合データサンプルタプルを、関連
する結合データサンプルに追加する。ステップ945
で、関連する一様ランダムサンプルのサイズをチェック
し、それが、計算された最大目標サイズを超過したかど
うかを判定する。超過した場合、ステップ950で、関
連するランダムサンプルからタプルをランダムに削除す
る。ステップ955で、削除したタプルに関連する結合
データサンプルタプルを、関連する結合データサンプル
から削除する。ステップ960で、さらに挿入すべきタ
プルが存在するかどうかを判定する。存在する場合、処
理はステップ920にループバックする。
【0073】ステップ915におけるチェックで、オペ
レーションは削除であると判定された場合(すなわち、
ステップ915の判断のNOの枝が成立した場合)、ス
テップ965で、削除すべき最初のタプルに関連する関
係を判定する。ステップ970で、削除すべきタプルが
既存の一様ランダムサンプル内に存在するかどうかを判
定する。存在する場合、ステップ975で、そのタプル
を一様ランダムサンプルから削除する。ステップ980
で、ステップ975で削除したタプルに関連する結合デ
ータサンプルタプルを、関連する結合データサンプルか
ら削除する。タプルが既存の一様ランダムサンプル内に
存在しない場合(すなわち、ステップ970の判定のN
Oの枝が成立した場合)、処理はステップ995(後
述)に移る。ステップ985で、関連する一様ランダム
サンプルのサイズをチェックし、最小の計算された目標
サイズより小さくなったかどうかを判定する。小さくな
った場合、ステップ990で、基底関係をスキャンする
ことによって、その一様ランダムサンプルを再充填す
る。ステップ995で、さらに削除すべきタプルが存在
するかどうかを判定する。存在する場合、処理はステッ
プ965にループバックする。
【0074】図10に、本発明の方法およびコンピュー
タ実装された発明の第2実施例においてサンプルを管理
する際のステップを示す。GROUP BYオペレータ
が、サンプリングに基づく推定で問題となることがあ
る。関係内の比較的少数の要素を有するグループは、一
様ランダムサンプル内に比較的少数の(全く存在しない
可能性もある)要素を有することが期待される。これ
は、このようなグループの推定の精度が極めて悪くなり
うることを意味する。Hellerstein et al.は、オンライ
ン集計に関する彼らの研究においてこの問題を取り扱
い、特殊なB木に基づく索引付け機構により、異なるサ
イズのグループが等しい割合でアクセスされることを可
能にしている。
【0075】Aquaは、グループによってサンプルに
偏り(バイアス)をつけることによって、特殊な索引付
け機構や(ランダムな)ディスクアクセスなしで、GR
OUP BYにおける近似の精度を改善する。このアプ
ローチでは、GROUP BY属性の事前の知識が存在
することを仮定するが、グループにどのような要素が入
るかに関するその他の情報は仮定する必要がない(例え
ば、どのグループが空になるかは仮定する必要がな
い)。この技術は、問合せのソース関係内の属性に対す
るGROUP BYに対して有効であるが、他のGRO
UP BYでは、バイアス付きサンプルを管理するため
の更新時間オーバーヘッドが大きくなり過ぎる可能性が
ある。
【0076】1つのこのような事前のGROUP BY
(例えば、図3における属性RegionおよびTyp
eに対するGROUP BY)について考える。データ
がデータウェアハウスに挿入されるとき、Aquaは、
生じているグループのテーブルとともに、現在そのグル
ープ内にあるタプルの個数のカウントを管理する。例え
ば、図3で、グループのテーブルは5個のエントリを有
する。小さいグループにおける十分な表現を保証するた
め、Aquaは、このようなグループに対して、より高
い割合でサンプリングを行う。
【0077】新規タプルが関係に挿入されるとき、Aq
uaはそのグループを判定する。それが既存のグループ
である場合、Aquaは、そのグループに対するカウン
トをインクリメントする。そうでない場合、新しいエン
トリが、カウントを1として、テーブルに追加される。
その後、タプルは、グループのサイズに対応する所望の
サンプルレートに従って、サンプルに追加される。
【0078】各グループはその固有の一様ランダムサン
プルであるため、サンプルレートを決定する際にかなり
の自由度がある(例えば、サンプルレートを均等にする
必要はない)。(未知の個数の)グループ間で均一に分
割された一定の全サンプルサイズnを保持するため、A
quaは、g個のグループがある場合に、n/gという
目標サンプルサイズが各グループごとに保持されるよう
に、各グループに対してレザボアサンプリングを実行す
る。新規のグループが現れると、Aquaは目標サンプ
ルサイズを減少させ、既存の各グループからランダムタ
プルを(ゆっくりと)除く。グループの個数が多くなっ
た場合、Aquaは、最も大きい(要素数の多い)グル
ープのみを追跡することが可能である。いずれのグルー
プが最も大きいかどうかは時間とともに変わるため、A
quaは、Gibbos and Matiasの1997年11月の論
文におけるアルゴリズムを用いて、(近似的に)最も大
きいグループのリストを管理することができる。
【0079】バイアス付きサンプルの利点の評価。集計
値に対して信頼区間を小さくする際のバイアス付きサン
プルの利点は解析的に評価することができる。サイズm
≫nの関係からのサイズnのサンプルを考える。この関
係内の式に関するCOUNT、SUM、およびAVGを
考え、MIN≧0およびMAXを、その式の下限および
上限とする。利点は、(1)各グループの個数(count)
を管理すること、(2)すべてのグループがサンプルに
あらわれることを保証すること、および(3)各グルー
プごとにバランスのとれたサンプルサイズが可能となる
こと、から生じる。各利点について順に考える。
【0080】各グループの個数m′を管理することは、
正確なCOUNT回答を可能にするのみならず、SUM
に対するHoeffding信頼限界をも、
【数1】 から、
【数2】 に改善する。ただし、n′>0は、グループ内のサンプ
ルタプルの個数である。
【0081】第2の利点は、グループの個数が一様サン
プリングとバイアス付きサンプリングの両方の場合で管
理されることを仮定することによって、第1の利点とは
独立に考察することができる。一様ランダムサンプルの
場合、サイズm′の各グループは、サンプル内にm′・
n/m回現れることが期待され、サンプル内に確率>
(1−m′/(m−n))n≒e-m'n/mで現れることは
できない。例えば、サイズm′=m/10nのグループ
は、90%以上の確率でサンプル内に現れない。サンプ
ル内に現れないグループ(すなわち、n′=0)に対し
て、
【数3】 がSUMの健全性限界(上限)であり、SUMは決定論
的に[m′・MIN,m′・MAX]内にある。AVG
についていえることは、AVGは決定論的に[MIN,
MAX]内にあるということだけである。バイアス付き
サンプリングでは、グループが大きいほどサンプルが少
なくなるという犠牲のもとで、すべてのグループ(ある
いは、グループ数が非常に多い場合には、最も大きいグ
ループ)が、サンプル内にある最小表現を有することを
保証することができる。
【0082】第3の利点は、一様サンプルに各グループ
の単一のランダム代表元を追加することを仮定すること
によって、最初の2つの利点とは独立に考察することが
できる。この第3の利点は、AVG集計値を考察するこ
とによって理解することができる。Haas("Hoeffding in
equalities for join-selectivity estimation and onl
ine aggregation", Technical Report RJ 10040, IBM A
lmaden Research Center, San Jose, CA, USA, 1996)に
よるAVGに対するHoeffding限界により、g<n個の
グループに関する平均信頼限界は
【数4】 に比例する。ただし、niは、グループiのサンプルの
サイズである。これは、すべてのiに対してni=n/
gととることによって最小化される。これは、上記のレ
ザボアサンプリング法を用いたバイアス付きサンプリン
グにより達成される。一様サンプリングでは、niはグ
ループサイズに比例すると期待されるため、大幅に変動
しうる。1個のグループ以外のすべてのグループで単一
の代表元という最悪の場合、一様サンプリングでの平均
信頼限界は、バイアス付きサンプリングでni=n/g
とした場合よりも約(n/g)1/2倍悪くなる。
【0083】図10に、上記のアルゴリズムに関連する
ステップを示す。ステップ1010で、近似問合せエン
ジン210はデータベース問合せを受け取る。特に、こ
の問合せは、関係に挿入すべき新規タプルを含む。ステ
ップ1020で、この新規タプルが関係内の既存のグル
ープ内に存在するかどうかを判定する。存在する場合、
ステップ1030で、そのグループのカウントを1だけ
インクリメントする。ステップ1040で、タプルは、
そのグループに対する所望のサンプルレートに基づいて
サンプルに追加される。
【0084】ステップ1020におけるチェックで、タ
プルは関係内にない新しいグループ内にあると判定され
た場合(すなわち、ステップ1020の判定のNOの枝
が成立した場合)、ステップ1050で、新規グループ
がグループのテーブルにカウントを1として追加され
る。ステップ1060で、新規タプルがそのグループに
対する所望のサンプルレートに基づいてサンプルに追加
される。ステップ1070で、システムが、既存のグル
ープ間で均等に分割した一定のサンプルサイズを保持す
ることにしているかどうかを判定する。一定のサンプル
サイズを保持することにしている場合、ステップ108
0で、各グループに対して新規目標サンプルサイズを計
算する。ステップ1090で、グループサイズが新規目
標サイズより小さくなるまで、各グループからランダム
なタプルを削除する。
【0085】サンプルサイズに基づく解析的限界。Aq
uaシステムの一実施例は、保証付きの限界を特徴とす
る。これは、ユーザに対して保証を提供するが、場合に
よっては過度に悲観的になる可能性もある。Aqua
は、Hoeffding限界に基づいて信頼区間を提供する。A
quaは結合サンプルJ(Su)を管理しているため、
単一テーブル問合せのみに対するHoeffdingの公式に基
づいて信頼区間を報告することができる。これは、結合
を含む公式よりも計算がずっと高速でずっと精度が高
い。(非外部キー結合を有する問合せに対しては、Aq
uaは多重テーブル公式を用いる。)Hoeffding限界を
適用するため、Aquaが各属性に対する最小値および
最大値に関して管理している限界を使用して、最悪の場
合に属性限界がどのように組み合わされるかを考慮する
ことにより、問合せに生じる式の最小値および最大値に
対する保証付き限界を計算する。問合せ述語が式の部分
式の最小および最大を制限する限り、より良い限界が使
用される。
【0086】上記の実施例に対して、大サンプル(large
sample)限界も上記のHellersteinの文献で知られてい
る。これは、単なる発見的限界である。大サンプル限界
は、近似的にpに等しい確率で最終回答を含み、中心極
限定理に基づいている。Hellersteinで指摘されている
ように、真の確率は、公称確率pよりもずっと小さい可
能性がある。しかし、この論文では、有限のサンプルが
この限界が成立するほど十分に大きくなるのはいつかを
判定する方法は報告しておらず、実際、必要なサンプル
サイズは、値の分布に依存して大幅に変わりうる。サン
プルに現れる値を観察することはこの点で十分ではな
い。従って、大サンプル限界を考慮することは直接的で
あるかも知れないが、Aquaはその代わりに保証付き
限界に集中している。
【0087】サンプルサイズ割当ての評価。以下で、各
関係ごとの結合サンプル間のサンプルサイズの割当ての
有効性を評価するストラテジを提示する。1つの目標
は、広範囲のクラスの問合せが受ける誤差に対する簡単
な解析的限界を提供することである。
【0088】まず、選択(select)、集計(aggregate)、
GROUP BYおよび外部キー結合を有する問合せの
セットSの以下のような簡単な特徴付けを考える。各関
係R iに対して、Riが外部キー結合におけるソース関係
であるかまたは結合のない問合せにおける単一の関係で
あるような、S内の問合せの割合をfiとする。次に、
問合せ内の述語に対する代表(単一テーブル)選択性Q
の範囲を考える。ただし、この選択性は、単一テーブル
の実体化された外部キー結合に基づく。(このような選
択性は、任意の結合選択性以外の追加の述語選択性であ
る。)このような選択性は、問合せ内容によって決定可
能であるが、簡単のためおよび一般性のため、q∈Q′
={.01,.02,.05,.1,.2,.5,1}
という代表選択性を仮定する。
【0089】以下では、COUNT集計値に注目する。
この集計値は、集計問合せにおける使用に加えて、すべ
てのセット値問合せに対してサイズ推定値を提供するた
めに使用されるので、Aquaでは最も重要となる。ま
た、これはかなり解析が簡単である。COUNT集計値
に対するサンプルの有効性は、相対誤差限界のサイズに
よって測定される。具体的にするため、90%の確率で
成立することが保証される、相対誤差に対する限界を与
えるHoeffdingの誤差限界を用いる。(未知の)選択性
qを有する述語の後の、m個のタプルの関係に関するC
OUNTを考える。Errorq(n)を、サイズn≪
mのサンプルに基づく推定値に対する相対誤差限界とす
る。n′を、述語を満たすサンプリングされたタプルの
個数とする。すると、μn=m/n・n′は、未知の個
数q・mに対する不偏推定量となり、Hoeffdingは、次
式を示した。
【数5】 全体をq・mで割ると相対誤差が得られ、p=.9とと
ると次式が得られる。
【数6】 このように、COUNTに対する相対誤差限界は、サン
プルサイズの平方根とともに減少する。
【0090】Error(n)を、代表選択性Qにわた
る平均相対誤差限界、すなわち、
【数7】 とする。例示した代表選択性Q′を用いると、次式を得
る。
【数8】 このように、平均相対誤差限界は、サンプルサイズの平
方根とともに減少し、関係サイズmとは独立である。さ
らに、2分の1以内の平均誤差限界を有するにはほぼ4
K個のサンプルで十分である。注意すべき点であるが、
このサンプルサイズは、Hoeffding限界に基づいている
が、これは非常に保守的であることが多い。
【0091】最後に、平均相対誤差限界の重み付き和と
してすべての関係(COUNT集計値に対する)にわた
るサンプルサイズの割当てを評価する。n1
2,...,ntを、結合サンプルに対してスキーマ内の
関係R1,R2,...,Rtに割り当てられたサンプルサイ
ズとする。すると、重み付き平均相対誤差は次のように
なる。
【数9】
【0092】
【発明の効果】結論。本明細書では、高速で高精度の近
似問合せ回答を提供するAquaシステムおよびその方
法の一実施例について説明した。周知のように、結合オ
ペレータは推定精度を大きく劣化させるが、本発明によ
るシステムは、特殊技法を用いて、オンライン分析処理
で良く知られているマルチウェイ外部キー結合を処理す
る。同様に、GROUP BYもまた、推定精度を劣化
させることがあるため、本発明によるシステムは、バイ
アス付きサンプリング技術を用いてGROUPBYを処
理する。Aquaは、基礎となるベースデータの小さい
あらかじめ計算されたシノプシスと、Aquaシステム
で用いられるすべてのシノプシスの増分管理のための新
規で効率的なアルゴリズムを用いて近似回答を提供す
る。本発明によるシステムは、データ分布や、ベースデ
ータがロードされた順序や、ディスク上のデータの配置
に関するいかなる事前の仮定もなしに、精度保証を提供
する。
【0093】TPC−D問合せに関する解析的限界およ
び実験結果は、データ分布変化があるときでも、Aqu
aの有効性を示している。Aquaは、データウェアハ
ウジング環境で生じる広範囲のクラスの問合せに対する
高速で(問合せ時にベースデータへのアクセスがな
い。)高精度の近似回答を提供する最初のシステムであ
る。
【0094】Aquaは、一般にベースデータにアクセ
スせずに回答を提供するため、問合せ中にデータウェア
ハウスから物理的に離れていることが可能であり、それ
により、高い自由度が得られる。例えば、従来のシステ
ム(例えば表3のもの)とは異なり、Aquaは、ベー
スデータが利用可能でないときにも、近似回答を提供す
ることができる。
【0095】本発明のシステムのこの実施例は、広範囲
のクラスの問合せに対する回答に注目しているが、特殊
機能をAquaに追加して、特定のクラスの問合せの精
度を改善することも可能である。この点に関しては、 ・N. Alon, Y. Matias, and M. Szegedi, "The space c
omplexity of approximating the frequency moments",
Proc. 28th ACM Symp. on the Theory of Computing,
pp.20-29, May 1996 ・Gibbons et al., August 1997 ・Barbara et al., 1997 ・Ganti and Poosala, November 1997に報告されてい
る。
【図面の簡単な説明】
【図1】従来のデータウェアハウスシステムの図であ
る。
【図2】本発明の方法を実施することが可能なデータウ
ェアハウスシステムの図である。
【図3】標準的なデータベース問合せに対する例示的な
厳密回答の図である。
【図4】標準的なデータベース問合せに対する例示的な
近似回答の図である。
【図5】厳密回答と近似回答の間の関係を示す図であ
る。
【図6】外部キー結合のみを有する有向非巡回グラフの
図である。
【図7】近似問合せエンジンにおける問合せの処理に関
連するステップを示す図である。
【図8】本発明の方法およびコンピュータ実装された発
明の第1実施例におけるステップを示す図である。
【図9】本発明の方法およびコンピュータ実装された発
明の第1実施例において結合サンプルを管理するステッ
プの図である。
【図10】本発明の方法およびコンピュータ実装された
発明の第2実施例において結合サンプルを管理するステ
ップの図である。
【符号の説明】
110 データウェアハウス 120 新規データ 130 問合せ 140 厳密応答 210 近似問合せエンジン 300 厳密回答 400 近似回答 430 健全性限界 600 有向非巡回グラフG
フロントページの続き (71)出願人 596077259 600 Mountain Avenue, Murray Hill, New Je rsey 07974−0636U.S.A. (72)発明者 フィリップ ビー ジッボンス アメリカ合衆国,07090 ニュージャージ ー,ウエストフィールド,エンブリー コ ート 201 (72)発明者 ヨッシ マチアス イスラエル,69697 テル アビブ,ハミ ッシュマー ハエズラチ 12 (72)発明者 ビスワナス プーサラ アメリカ合衆国,08904 ニュージャージ ー,ハイランド パーク,メイプル コー ト 36 (72)発明者 スリッダー ラマスワミー アメリカ合衆国,07076 ニュージャージ ー,スコッチ プレインズ,スプラス ミ ル レイン 152 (72)発明者 トーステン スエル アメリカ合衆国,07801 ニュージャージ ー,スプリングフィールド,トロイ ドラ イブ 64,アパートメント ビー

Claims (42)

    【特許請求の範囲】
  1. 【請求項1】 データベースに格納されたデータをサン
    プリングして、該データベースに格納されたデータより
    少ないメモリスペースしか必要としないデータサンプル
    を生成するステップと、 前記データサンプルを近似問合せエンジンのメモリに格
    納するステップと、 前記近似問合せエンジンが、問合せを受け取るステップ
    と、 前記近似問合せエンジンが、格納されているデータサン
    プルで、前記問合せに適合するものを検索するステップ
    と、 前記近似問合せエンジンが、適合した格納されているデ
    ータサンプルにより前記問合せに応答するステップとか
    らなることを特徴とする、データベースの問合せに応答
    する方法。
  2. 【請求項2】 前記データサンプルはシノプシスデータ
    構造を含むことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 前記適合した格納されているデータサン
    プルの関数により前記問合せに応答するステップをさら
    に有することを特徴とする請求項1に記載の方法。
  4. 【請求項4】 応答は、近似回答および精度を含むこと
    を特徴とする請求項3に記載の方法。
  5. 【請求項5】 前記精度は保証付き限界を備えることを
    特徴とする請求項4に記載の方法。
  6. 【請求項6】 前記保証付き精度は、前記近似回答のま
    わりの誤差限界として定義されることを特徴とする請求
    項5に記載の方法。
  7. 【請求項7】 前記誤差限界は最大値および最小値を有
    することを特徴とする請求項6に記載の方法。
  8. 【請求項8】 前記近似問合せエンジンが、前記データ
    ベースに定期的に復帰するステップをさらに有すること
    を特徴とする請求項1に記載の方法。
  9. 【請求項9】 前記データベースへの復帰は、前記格納
    されているデータサンプルの更新または再充填であるこ
    とを特徴とする請求項8に記載の方法。
  10. 【請求項10】 前記データベースへの復帰は、定期的
    な更新間隔で行われることを特徴とする請求項8に記載
    の方法。
  11. 【請求項11】 前記データベースへの復帰は、問合せ
    のイベントに応じて行われることを特徴とする請求項8
    に記載の方法。
  12. 【請求項12】 前記近似問合せエンジンが、データサ
    ンプルをヒストグラムとして集計する集計ステップをさ
    らに有することを特徴とする請求項1に記載の方法。
  13. 【請求項13】 前記近似回答は、項目のリストの例示
    的項目を含むことを特徴とする請求項4に記載の方法。
  14. 【請求項14】 前記集計ステップは、平均、総和およ
    び個数のうちの1つを含むことを特徴とする請求項12
    に記載の方法。
  15. 【請求項15】 前記データサンプルは、確率関数に従
    って選択されることを特徴とする請求項1に記載の方
    法。
  16. 【請求項16】 前記確率関数は、前記データベース内
    の少ないタプルを有するグループほど高いレートでサン
    プリングされるように、グループに応じてバイアスが付
    けられることを特徴とする請求項15に記載の方法。
  17. 【請求項17】 問合せに対する応答において近似回答
    を提供することができない場合、前記データベースをサ
    ンプリングしてシノプシスデータ構造を取得し、取得し
    たシノプシスデータ構造を前記近似問合せエンジンのメ
    モリに格納するステップをさらに有することを特徴とす
    る請求項1に記載の方法。
  18. 【請求項18】 応答は、推定されたメタ情報および代
    表タプルのセットを含むことを特徴とする請求項3に記
    載の方法。
  19. 【請求項19】 前記メタ情報は、厳密回答のサイズの
    推定値および信頼区間を含むことを特徴とする請求項1
    8に記載の方法。
  20. 【請求項20】 前記代表タプルは、一様ランダムに、
    または、特定の基準に従ってバイアス付きで、厳密回答
    から選択されたタプルであることを特徴とする請求項1
    8に記載の方法。
  21. 【請求項21】 前記代表タプルは、類似度を有する可
    能タプルであることを特徴とする請求項18に記載の方
    法。
  22. 【請求項22】 前記代表タプルはそれぞれ、厳密回答
    内のタプルを構成する1個以上のフィールドを含むこと
    を特徴とする請求項18に記載の方法。
  23. 【請求項23】 前記データサンプルは、結合データサ
    ンプルを含むことを特徴とする請求項8に記載の方法。
  24. 【請求項24】 請求項1に記載の方法のステップを実
    行するコンピュータ実行可能な命令を有するコンピュー
    タ読み取り可能な媒体。
  25. 【請求項25】 請求項3に記載の方法のステップを実
    行するコンピュータ実行可能な命令を有するコンピュー
    タ読み取り可能な媒体。
  26. 【請求項26】 請求項8に記載の方法のステップを実
    行するコンピュータ実行可能な命令を有するコンピュー
    タ読み取り可能な媒体。
  27. 【請求項27】 請求項12に記載の方法のステップを
    実行するコンピュータ実行可能な命令を有するコンピュ
    ータ読み取り可能な媒体。
  28. 【請求項28】 請求項17に記載の方法のステップを
    実行するコンピュータ実行可能な命令を有するコンピュ
    ータ読み取り可能な媒体。
  29. 【請求項29】 重み付き平均相対誤差に基づいて前記
    データサンプルのサイズを割り当てるステップをさらに
    有することを特徴とする請求項1に記載の方法。
  30. 【請求項30】 前記重み付き平均相対誤差は、前記デ
    ータサンプルにおいて、前記データサンプル内のすべて
    の関係について、該関係が外部キー結合におけるソース
    関係であるかまたは結合のない問合せにおける唯一の関
    係であるような問合せの割合を、該関係のサンプルサイ
    ズの平方根で割った値に定数値をかけた値として近似さ
    れることを特徴とする請求項29に記載の方法。
  31. 【請求項31】 データベースの問合せに応答して、該
    データベースに格納されたデータより少ないメモリスペ
    ースしか必要としない、近似問合せエンジンのメモリ内
    の複数のデータサンプルを更新するステップと、 前記問合せが、前記データベースにおけるデータの挿入
    または削除であるかどうかを判定するステップと、 前記問合せがデータの挿入である場合、各タプルに対し
    て、 前記データサンプルに前記タプルを挿入するステップ
    と、 前記問合せがデータの削除である場合、各タプルに対し
    て、 該タプルが前記データサンプル内にある場合、該タプル
    を削除するステップとを実行するコンピュータ実行可能
    な命令を有するコンピュータ読み取り可能な媒体。
  32. 【請求項32】 前記挿入は所定の確率に基づいて実行
    されることを特徴とする請求項31に記載の媒体。
  33. 【請求項33】 前記データサンプルは、複数のランダ
    ムサンプルおよび複数の結合データサンプルを含むこと
    を特徴とする請求項31に記載の媒体。
  34. 【請求項34】 前記複数のランダムサンプルは、一様
    に選択されることを特徴とする請求項33に記載の媒
    体。
  35. 【請求項35】 前記挿入は、 前記タプルのデータベース関係を判定するステップと、 所定の確率に基づいて、前記複数のランダムサンプルの
    うち前記関係に関連するランダムサンプルに前記タプル
    を追加するステップと、 前記タプルが前記ランダムサンプルに追加された場合、 (a)前記タプルを用いて新規の結合データサンプルタ
    プルを計算するステップと、 (b)新規結合データサンプルタプルを前記関係に関連
    する結合データサンプルに追加するステップと、 (c)前記ランダムサンプルが最大サイズを超過した場
    合、 (i)前記ランダムサンプル内のタプルのうちの1つを
    ランダムに選択するステップと、 (ii)ランダムに選択されたタプルを前記ランダムサ
    ンプルから削除するステップと、 (iii)前記結合データサンプルから前記ランダムに
    選択されたタプルに関連する結合データサンプルタプル
    を削除するステップとを含むことを特徴とする請求項3
    3に記載の媒体。
  36. 【請求項36】 前記挿入は、 前記タプルのデータベース関係を判定するステップと、 所定の確率に基づいて、前記関係に関連する一様ランダ
    ムサンプルに前記タプルを追加するステップと、 前記タプルが前記一様ランダムサンプルに追加された場
    合、 (a)前記タプルを用いて新規の結合データサンプルタ
    プルを計算するステップと、 (b)新規結合データサンプルタプルを前記関係に関連
    する結合データサンプルに追加するステップと、 (c)前記一様ランダムサンプルが最大サイズを超過し
    た場合、 (i)前記一様ランダムサンプル内のタプルのうちの1
    つをランダムに選択するステップと、 (ii)ランダムに選択されたタプルを前記一様ランダ
    ムサンプルから削除するステップと、 (iii)前記結合データサンプルから前記ランダムに
    選択されたタプルに関連する結合データサンプルタプル
    を削除するステップとを含むことを特徴とする請求項3
    4に記載の媒体。
  37. 【請求項37】 前記削除は、 前記タプルの関係を判定するステップと、 前記タプルが既存のランダムサンプル内にある場合、 (a)前記既存のランダムサンプルから前記タプルを削
    除するステップと、 (b)前記関連する結合データサンプルから前記タプル
    に関連する結合データサンプルタプルを削除するステッ
    プとを含み、 前記複数のランダムサンプルのうちのいずれかが所定の
    最小要求サイズより小さくなった場合、 前記所定の最小要求サイズより小さくなった各ランダム
    サンプルを、前記データベースからの新規タプルで再充
    填するステップを含むことを特徴とする請求項35に記
    載の媒体。
  38. 【請求項38】 前記削除は、 前記タプルの関係を判定するステップと、 前記タプルが既存の一様ランダムサンプル内にある場
    合、 (a)前記既存の一様ランダムサンプルから前記タプル
    を削除するステップと、 (b)前記関連する結合データサンプルから前記タプル
    に関連する結合データサンプルタプルを削除するステッ
    プとを含み、 前記複数の一様ランダムサンプルのうちのいずれかが所
    定の最小要求サイズより小さくなった場合、 前記所定の最小要求サイズより小さくなった各一様ラン
    ダムサンプルを、前記データベースからの新規タプルで
    再充填するステップを含むことを特徴とする請求項36
    に記載の媒体。
  39. 【請求項39】 グループのテーブルにリストされた各
    グループ内のタプルの個数であるサンプルサイズのカウ
    ントを少なくとも含む、生じたグループのテーブルを保
    持するステップと、 所定の最小サイズより小さいサイズのグループに対して
    該グループのサイズが前記所定の最小サイズ以上になる
    まで該グループのサンプリングレートが増大するよう
    に、前記グループのサイズに基づいて各グループのサン
    プリングレートを選択するステップと、 関係に挿入される新規タプルを前記グループのうちの1
    つに追加するステップとを実行するコンピュータ実行可
    能な命令を有するコンピュータ読み取り可能な媒体。
  40. 【請求項40】 前記追加は、 前記関係に挿入される新規タプルがどのグループに属す
    るかを判定するステップと、 前記新規タプルが既存のグループ内にある場合、 (a)前記既存のグループのカウントをインクリメント
    するステップと、 (b)前記既存のグループのサンプリングレートに基づ
    いて前記新規タプルを追加するステップとを含み、 前記新規タプルが新規グループに入る場合、 (a)前記グループのテーブルに新規グループを、カウ
    ントを1として追加するステップと、 (b)前記既存のグループのサンプリングレートに基づ
    いて前記新規タプルを追加するステップとを含み、 全サンプルサイズが所望のしきい値を超過した場合、 (a)前記既存のグループのそれぞれの新規目標サンプ
    ルサイズを計算するステップと、 (b)前記既存のグループのサイズが前記新規目標サン
    プルサイズ以下になるまで前記既存のグループのそれぞ
    れからランダムタプルを除くステップとを含むことを特
    徴とする請求項39に記載の媒体。
  41. 【請求項41】 生じたグループの個数が所望のしきい
    値を超過した場合、前記グループの個数が該しきい値以
    下になるまで、前記グループのテーブルからグループを
    ランダムに除去するステップをさらに有することを特徴
    とする請求項40に記載の媒体。
  42. 【請求項42】 前記除去は、カウントの小さいグルー
    プの除去のほうが高い確率になるような確率に従って実
    行されることを特徴とする請求項41に記載の媒体。
JP11139178A 1998-05-20 1999-05-19 デ―タベ―スの問合せに応答する方法 Pending JPH11353331A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8166098A 1998-05-20 1998-05-20
US09/081660 1998-05-20

Publications (1)

Publication Number Publication Date
JPH11353331A true JPH11353331A (ja) 1999-12-24

Family

ID=22165570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11139178A Pending JPH11353331A (ja) 1998-05-20 1999-05-19 デ―タベ―スの問合せに応答する方法

Country Status (3)

Country Link
EP (1) EP0965928A2 (ja)
JP (1) JPH11353331A (ja)
CA (1) CA2266990A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516313A (ja) * 2004-10-05 2008-05-15 ビジュアル サイエンシーズ,エルエルシー クエリー結果の一連の近似を算出するためのシステム、方法及びコンピュータプログラム
JP2016532938A (ja) * 2013-07-09 2016-10-20 ロジックブロックス, インコーポレイテッドLogicblox, Inc. クエリサイズ推定のための顕著性サンプリング
JP2018519578A (ja) * 2015-05-29 2018-07-19 ルッカー データ サイエンシズ インコーポレイテッド ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを選択的に取得するための方法およびシステム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434557B1 (en) 1999-12-30 2002-08-13 Decode Genetics Ehf. Online syntheses programming technique
US7016910B2 (en) 1999-12-30 2006-03-21 Decode Genetics Ehf. Indexing, rewriting and efficient querying of relations referencing semistructured data
US6418427B1 (en) * 1999-12-30 2002-07-09 Decode Genetics Ehf Online modifications of dimension structures in multidimensional processing
US6356900B1 (en) * 1999-12-30 2002-03-12 Decode Genetics Ehf Online modifications of relations in multidimensional processing
US6757677B2 (en) * 2001-09-28 2004-06-29 Ncr Corporation Providing a join plan using group-by operator
US7529716B1 (en) * 2002-06-20 2009-05-05 Welsh Thomas M Mail arbitrator
AU2003284118A1 (en) * 2002-10-14 2004-05-04 Battelle Memorial Institute Information reservoir
US7343367B2 (en) * 2005-05-12 2008-03-11 International Business Machines Corporation Optimizing a database query that returns a predetermined number of rows using a generated optimized access plan
US9818141B2 (en) 2014-01-13 2017-11-14 International Business Machines Corporation Pricing data according to provenance-based use in a query
US10496643B2 (en) 2016-02-08 2019-12-03 Microsoft Technology Licensing, Llc Controlling approximations of queries
CN108984633B (zh) * 2018-06-21 2020-10-20 广东顺德西安交通大学研究院 一种基于节点上下文向量空间的rdf近似答案查询方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008516313A (ja) * 2004-10-05 2008-05-15 ビジュアル サイエンシーズ,エルエルシー クエリー結果の一連の近似を算出するためのシステム、方法及びコンピュータプログラム
JP2016532938A (ja) * 2013-07-09 2016-10-20 ロジックブロックス, インコーポレイテッドLogicblox, Inc. クエリサイズ推定のための顕著性サンプリング
US10719513B2 (en) 2013-07-09 2020-07-21 Infor (US) Inc. Salient sampling for query size estimation
JP2018519578A (ja) * 2015-05-29 2018-07-19 ルッカー データ サイエンシズ インコーポレイテッド ピボットテーブルに組み入れるための限定されたデータセットを提供するためにデータを選択的に取得するための方法およびシステム

Also Published As

Publication number Publication date
CA2266990A1 (en) 1999-11-20
EP0965928A2 (en) 1999-12-22

Similar Documents

Publication Publication Date Title
US6801903B2 (en) Collecting statistics in a database system
US6477534B1 (en) Method and system for generating a statistical summary of a database using a join synopsis
US6912524B2 (en) Join synopsis-based approximate query answering
Haas Data-stream sampling: Basic techniques and results
CN108292315B (zh) 储存和检索数据立方体中的数据
US6865567B1 (en) Method of generating attribute cardinality maps
US7469241B2 (en) Efficient data aggregation operations using hash tables
CN105989194B (zh) 表数据比较的方法和系统
CN108369587B (zh) 创建用于交换的表
US7213012B2 (en) Optimizer dynamic sampling
CN109241093B (zh) 一种数据查询的方法、相关装置及数据库系统
US6850925B2 (en) Query optimization by sub-plan memoization
US7233944B2 (en) Determining query cost based on subquery filtering factor
CN113711197A (zh) 查询计划中自适应聚合操作符和属性的放置
US20170116271A1 (en) Static data caching for queries with a clause that requires multiple iterations to execute
US6549895B1 (en) Method and apparatus for analyzing data retrieval using index scanning
US20050033741A1 (en) Efficient processing of relational joins of multidimensional data
CN104781812A (zh) 策略驱动的数据放置和信息生命周期管理
WO2009089190A2 (en) Multiple dimensioned database architecture
JPH11353331A (ja) デ―タベ―スの問合せに応答する方法
Gibbons et al. AQUA: System and techniques for approximate query answering
CA2433377A1 (en) Computing frequent value statistics in a partitioned relational database
CN101405727B (zh) 数据库系统中的统计视图的管理
US9158815B2 (en) Estimating a number of unique values in a list
Tsois et al. Cost-based optimization of aggregation star queries on hierarchically clustered data warehouses.