2001 8 11 2
This presentation is the property of its rightful owner.
Sponsored Links
1 / 47

2001 年 8 月 11 日 ( 土 ) 天野研究室 修士 2 年 松本 秀夫 PowerPoint PPT Presentation


  • 41 Views
  • Uploaded on
  • Presentation posted in: General

Applying the Golden Rule of Sampling for Query Estimation Yi-Leh Wu, Divyakant Agrawal, Amr El Abbadi Department of Computer Science University of California, Santa Barbara Proc. of ACM SIGMOD, pp.449-460, 2001. 2001 年 8 月 11 日 ( 土 ) 天野研究室 修士 2 年 松本 秀夫. 研究背景. データベース管理システムのクエリ最適化 → クエリサイズの評価

Download Presentation

2001 年 8 月 11 日 ( 土 ) 天野研究室 修士 2 年 松本 秀夫

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


2001 8 11 2

Applying the Golden Rule of Sampling for Query EstimationYi-Leh Wu, Divyakant Agrawal, Amr El AbbadiDepartment of Computer ScienceUniversity of California, Santa BarbaraProc. of ACM SIGMOD, pp.449-460, 2001

2001年8月11日(土)

天野研究室 修士2年

松本 秀夫


2001 8 11 2

研究背景

  • データベース管理システムのクエリ最適化→クエリサイズの評価

  • リレーションの要素からクエリを評価

  • 例:AQUAシステムの「タプル・サンプリング」

    • データベースからランダムにタプルを抽出

    • 元のリレーションを縮小したコピーを作成

    • コピーからクエリの結果を取得


2001 8 11 2

クエリ評価アルゴリズム

  • ランダム・サンプリング(標本抽出)

    • タプル・サンプリング

    • 領域サンプリング

  • ヒストグラム

    • リレーションの属性値の分布を集約

      →評価の際に余分な情報を削減


2001 8 11 2

クエリ評価の課題

  • データ容量の削減

    • パラメータ依存

      • データ分布が未知の場合正確さに劣る

    • 非パラメータ依存

      • ツリー/ヒストグラムの変形やクラスタ・ベース

  • 未知のデータ分布を評価する場合


2001 8 11 2

研究目的

  • クエリ評価の課題に対処

    • データ容量を削減

    • 未知のデータ分布でもより正確に評価

  • Golden Estimatorを提案

    • データサンプリングの黄金律(golden rule)


2001 8 11 2

単属性領域のクエリ評価

  • リレーションR、属性A

    →A上のクエリサイズを評価

  • 離散領域 D={d0,d1,d2,…,dN}

  • クエリ q (a≦A≦b)

  • 頻度分布による領域サンプリング→頻度分布サンプリング


2001 8 11 2

頻度分布関数

  • 頻度 fi

    • t.A=di であるようなタプル t∈R の数

    • どの t も t.A≠diなら fi=0 (ゼロ周期)

  • 頻度分布関数fdf (frequency distribution function)

    • fdf={<d0, f0>,<d1, f1>,<d2, f2>,…,<dN-1, fN-1>}

    • クエリqのサイズは a≦t.A≦bである t∈Rの数∴


2001 8 11 2

fdfの問題点

  • より良い近似を得るにはより多くの容量が必要

  • 多くの商用システムではヒストグラムを利用

    • fdfやタプルサンプリングを元に

→限られた容量でより良い近似を得る


2001 8 11 2

ランダム・サンプリング

  • データベースを評価する最も簡潔な方法の1つ

  • 対象領域から標本(サンプル)をランダムに選択し、格納

    • 本研究では周期領域(fdf)から<di, fi>

    • 値の幾つかはゼロの場合もある

  • クエリ q(a≦X≦b) が与えられたとき値域 [a:b] に相当する標本から評価結果  を計算


2001 8 11 2

ランダム・サンプリング

  • 評価結果 と実際の結果 s との誤差

  • 絶対誤差Eabs

  • 相対誤差Erel


2001 8 11 2

サンプリングの例

  • 図のfdfから標本集合Sfdfを取得

    • 例:Sfdf={<2,0>,<5,0>,<8,5>}の時


2001 8 11 2

サンプリングの例

  • クエリの範囲が q(2≦X≦7)

    → 標本<2,0>,<5,0>を評価に使用


2001 8 11 2

サンプリングの例

  • 値の分布は一様であると仮定

    • 標本に近い属性の値は標本と同じ

      ∴属性値3,4,6,7の頻度は全て0

→ クエリサイズの評価は0

実際のクエリサイズは13

∴Erel=|13-0|/13×100=100%


2001 8 11 2

先ほどの問題点

  • 頻度の多くは小さな値

    • 標本集合のうち2つが頻度0

  • 値の分布が一様であるという仮定

    • 一般的ではない

    • 標本集合内の値から付近の不明な値を類推するのは不適当


2001 8 11 2

累積分布関数

  • 累積頻度 ci

    • t.A≦di であるようなタプル t∈R の数

      ∴ ci =

  • 累積分布関数 cdf (cumulative distribution function)

    • {<d0, c0>,<d1, c1>,<d2, c2>,…,<dN-1, cN-1>}

  • クエリ q(a≦A≦b) についてタプル tの数 Tab=cb-ca


2001 8 11 2

サンプリングの例・改

  • 図のcdfから標本集合Scdfを取得

    • 例:Scdf={<2,2>,<5,14>,<8,20>}の時


2001 8 11 2

サンプリングの例・改

  • クエリの範囲が q(2≦X≦7)


2001 8 11 2

サンプリングの例・改

  • 範囲内のクエリサイズは 7- 2

    • iは実際の値 ciを評価したもの

  • 標本集合より 2=c2=2

  • 7をどう評価するかが重要


2001 8 11 2

サンプリングの例・改

  • 最も近い標本を当てはめる

    • 例では c8=20=7

    • クエリサイズの評価は7- 2=20-2=18

    • 相対誤差ErelはErel=|13-18|/13×100≒38.5%


2001 8 11 2

サンプリングの例・改

  • 2つの標本<dlow,clow>,<dhigh,chigh>から計算

    • dlowはd≦diである最大のd

    • dhighはd≧diである最小のd

    • 例では<dlow,clow>=<5,14>,<dhigh,chigh>=<8,20>


2001 8 11 2

サンプリングの例・改

  • 2つの標本<dlow,clow>,<dhigh,chigh>から計算

    • 例では<dlow,clow>=<5,14>,<dhigh,chigh>=<8,20>

    • 7=14+(20-14)×(7-5)/(8-5)=18

    • クエリサイズの評価は16

    • 相対誤差ErelはErel=|13-16|/13×100≒23%

fdfよりも良い結果が得られる


2001 8 11 2

先ほどの問題点

  • クエリ q(0≦X≦3)の時は評価0

    • d0もd3も最も近い標本は<2,2>

    • 集合に<3,14>があれば大幅に軽減

何が問題か?

元となるデータ分布を反映した方法で

データサンプリングを行うべき


2001 8 11 2

解決法

  • 頻度のより高いものを多くサンプリング

  • データ分布が前もって判っていないと困難

  • fdfなら頻度によって整列が可能

データ分布が前もって判らなくても

あらかじめ頻度によって整列しなくても

頻度のより高いものを抽出する手法を提案


2001 8 11 2

サンプリングの黄金律

  • 1947年、von Neumannによって提案

    • Los Alamos Science, p.135, June 1987

  • 連続確率分布に対して定義→離散分布用に修正して適用


2001 8 11 2

サンプリングの黄金律

  • 一様でない確率分布関数 f(x)

  • 確率分布関数 pdf (probability distribution function)

  • 単調増加変換関数 y(x)

    • xについて変数 がdx内に存在する確率がyについて変数 がdy内に存在する確率と等しい事を保証

    • どの x に対しても y は存在

    • 全ての x に対して dy/dx>0

    • x と y は1対1の関係


2001 8 11 2

サンプリングの黄金律

  • pdfの定義から、f(x)およびg(y)についてf(x)dx=prob(x≦≦x+dx)g(y)dy=prob(y≦≦y+dy)

    • 但し、g(y)はy(x)の確率分布

  • y(x)の定義から

    f(x)dx=g(y)dy∴ g(y)=f(x)/[dy/dx]


2001 8 11 2

サンプリングの黄金律

  • 先の条件を満足するものにcdfがある

  • この場合 dy/dx=f(x) となり

    g(y)=1, 0≦y≦1

このcdfは[0,1]の一様分布

pdf f(x)とは独立


2001 8 11 2

サンプリングの黄金律(まとめ)

  • pdf f(x)が与えられると、cdf F(x)が生成される

  • [0,cN-1]の範囲(cdfの値域)から乱数 y を生成し、cdfに代入 : y=F(x)

  • cdfの逆関数からxを求める : x=F-1(y)

f(x)の分布を反映した

標本が取得可能


2001 8 11 2

probability

x

黄金律の例

  • cdfについてランダムな一様分布標本を取る(y軸に一様)

  • 標本値はf(x)の分布を反映

  • それぞれの標本についてF(x)の逆関数を計算

F(x)

f(x)


2001 8 11 2

c(i+1)

cumulative frequency

c(i)

d(i)

d(i+1)

attribute value

離散分布への適用

  • 問題点

    • cdfが1対1写像ではない→cdfは単調非減少ステップ関数

    • 3つの標本がいずれも同じd(i+1)

どのように適当な

標本を見つけるか


Golden estimator

Golden Estimator

  • 最初にdi≦≦di+1である  を選択→<di,ci>を標本として選択

  • 次にdi≦≦di+1である  を選択 →<di+1,ci+1>を標本として選択

  • 3番目にdi≦≦di+1である  を選択 →標本とせずに他を取得

diの頻度fiが充分に大きい時サンプリングされやすくなる


2001 8 11 2

Golden Estimatorのアルゴリズム

PROCEDUREGoldenEstimator (noOfSampleNeeded, cdf)

BEGIN

sampleSet = NULL; //標本を記録

sampleCount = 0; //標本取得回数を記録

s = 0; //ランダムな標本(候補)

xLo = 0; //低いほうの属性値

xHi = 0;//高いほうの属性値

WHILEsampleCount <= noOfSampleNeeded

s = a random number between 0 and cn-1 in cdf;

xLo = Max(xi), where ci <= s, 0 <= i <= n-1;

xHi = Min(xi), where ci >= s, 0 <= i <= n-1;

IF<xLo,cxLo> not in sampleSetTHEN

add <xLo,cxLo> to sampleSet; sampleCount ++;

ELSE

IF<xHi,cxHi> not in sampleSetTHEN

add <xHi,cxHi> to sampleSet; sampleCount ++;

END;

END;

END;

RETURN sampleSet; //標本集合を返す

END;


2001 8 11 2

クエリ評価のアルゴリズム

PROCEDUREqueryEstimate (a, b, sampleSet)

BEGIN //a,bはクエリの範囲 q(a≦X≦b)

c’a, c’b; //ca及びcbの評価値

dLo, dHi; //属性値

cLo, cHi; //累積頻度値

cLo = Max(ci), dLo = Max(di),

where di <= a, <di,ci> in sampleSet;

cHi = Min(ci), dHi = Min(di),

where di >= a, <di,ci> in sampleSet;

c’a = cLo + (cHi – cLo) * (a-dLo) / (dHi-dLo);

//c’aを同定

cLo = Max(ci), dHi = Min(di),

where di <= b, <di,ci> in sampleSet;

cHi = Min(ci), dHi = Min(di),

where di >= b, <di,ci> in sampleSet;

c’b = cLo + (cHi – cLo) * (b-dLo) / (dHi-dLo);

//c’bを同定

RETURN c’b-c’a; //クエリ評価値を返す

END;


2001 8 11 2

多次元領域への拡張

  • 平面領域でのみ適用→多次元領域へ拡張

  • まず2次元の場合(空間データベース)を考察


2001 8 11 2

2次元領域のクエリ評価

  • リレーションR、属性X,Y

  • 離散領域 Dx={x0,x1,x2,…,xN-1}, 及び    Dy={y0,y1,y2,…,yM-1}

  • クエリ q (a≦X≦b) ∧ (c≦Y≦d)

  • fdf ={<d(0,0), f(0,0)>,…,<d(i,j), f(i,j)>, …,<d(N,M), f(N,M)>}

  • cdf :{<d(0,0), c(0,0)>,…,<d(i,j), c(i,j)>, …,<d(N,M), c(N,M)>}


2001 8 11 2

2次元領域のクエリ評価

  • 2次元のcdfについて考えると

  • 問題点

    • g(y)=1(0≦y≦1)にならない

    • cdf が fdf に1対1の写像を行わない


2001 8 11 2

解決法

  • 2次元領域を平面領域に変換→変換後の領域にgolden estimatorを適用

  • 変換は1対1の写像

どうやって適切な変換を行うか?

2次元→1次元 1次元→2次元


2 golden estimator

2次元領域でのGolden Estimator

  • 2次元データセット fdf 2 に対して2次元→ 1次元変換 F2d→1d を適用→1次元の fdf 1 を取得

    • 2次元→1次元変換の例

      • row-major ordering

      • z-ordering

      • Hilbert curve

      • Gray orderingetc…


2 golden estimator1

2次元領域でのGolden Estimator

  • fdf1から1次元の cdf1 を生成

  • cdf 1から標本集合S1cdf を取得

  • S1cdf のそれぞれの標本についてF(x)の逆関数F-1(x)を計算→標本集合S1fdf を取得


2 golden estimator2

2次元領域でのGolden Estimator

  • S1fdfのそれぞれの標本に1次元→2次元変換F-12d→1dを適用→2次元の標本集合S2fdfを取得

  • S2fdfのそれぞれに標本について累積頻度を計算→S2cdf→クエリ評価を実行

Golden Estimatorのアルゴリズムは変更無


2001 8 11 2

更なる課題

  • どの2→1次元変換を用いても同じ結果が得られるか?→1次元標本集合(cdf 1, fdf 1)は異なるが2次元標本集合(cdf 2, fdf 2)はほぼ同じ

  • 最適な2→1次元変換は?→現在研究中

  • 更に多次元の領域に対しては?→常にfdf 1が取得可能→次元変換が出来れば評価可能


2001 8 11 2

平面領域での性能比較実験

  • 4つの手法によるクエリ評価

    • Golden Estimator

    • MaxDiff ヒストグラム

    • ウェーブレット・ベース技術

    • タプル・サンプリング技術

  • 対象となる分布

    • Zipf分布

    • Alexandria Digital Library(ADL)のデータセット


2001 8 11 2

平面領域での性能比較実験

  • 2つの方法で実験

    • 選択性を変化

      • 選択性 sel : q (a≦X≦b) のとき sel = (b-a)/N

    • データ容量を変化

      • サンプル数など


2001 8 11 2

平面領域での性能比較実験

  • 選択性を変えたとき

    • 選択性の増加につれて相対誤差は減少

    • 特にGolden Estimatorが誤差が小さい

  • データ容量を変えたとき

    • 容量の増加につれて相対誤差は減少

      • Golden Estimatorとウェーブレット・ベース技術で顕著

    • 特にGolden Estimatorが誤差が小さい


2001 8 11 2

空間領域での性能比較実験

  • 4つの手法によるクエリ評価

    • Golden Estimator

    • 修正 Min‐Skew ヒストグラム

    • ウェーブレット・ベース技術

    • 空間ランダムサンプリング

  • 対象となる分布

    • 2-dガウス分布

    • ADLのデータセット

    • TIGER/Line Files のデータセット


2001 8 11 2

空間領域での性能比較実験

  • 全ての分布に対して常にGolden Estimatorが最も相対誤差が小さい

どのようなデータベースにおいても

Golden Estimatorが最良である


2001 8 11 2

まとめ

  • Golden Estimatorを用いたクエリの評価

    • 評価値の正確さ

    • 評価にかかるデータ容量の削減

    • 平面・空間データベースでの評価

  • 課題:3次元以上の領域における評価


  • Login