1 / 47

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

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 年 松本 秀夫. 研究背景. データベース管理システムのクエリ最適化 → クエリサイズの評価

kagami
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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年 松本 秀夫

  2. 研究背景 • データベース管理システムのクエリ最適化→クエリサイズの評価 • リレーションの要素からクエリを評価 • 例:AQUAシステムの「タプル・サンプリング」 • データベースからランダムにタプルを抽出 • 元のリレーションを縮小したコピーを作成 • コピーからクエリの結果を取得

  3. クエリ評価アルゴリズム • ランダム・サンプリング(標本抽出) • タプル・サンプリング • 領域サンプリング • ヒストグラム • リレーションの属性値の分布を集約 →評価の際に余分な情報を削減

  4. クエリ評価の課題 • データ容量の削減 • パラメータ依存 • データ分布が未知の場合正確さに劣る • 非パラメータ依存 • ツリー/ヒストグラムの変形やクラスタ・ベース • 未知のデータ分布を評価する場合

  5. 研究目的 • クエリ評価の課題に対処 • データ容量を削減 • 未知のデータ分布でもより正確に評価 • Golden Estimatorを提案 • データサンプリングの黄金律(golden rule)

  6. 単属性領域のクエリ評価 • リレーションR、属性A →A上のクエリサイズを評価 • 離散領域 D={d0,d1,d2,…,dN} • クエリ q (a≦A≦b) • 頻度分布による領域サンプリング→頻度分布サンプリング

  7. 頻度分布関数 • 頻度 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の数∴

  8. fdfの問題点 • より良い近似を得るにはより多くの容量が必要 • 多くの商用システムではヒストグラムを利用 • fdfやタプルサンプリングを元に →限られた容量でより良い近似を得る

  9. ランダム・サンプリング • データベースを評価する最も簡潔な方法の1つ • 対象領域から標本(サンプル)をランダムに選択し、格納 • 本研究では周期領域(fdf)から<di, fi> • 値の幾つかはゼロの場合もある • クエリ q(a≦X≦b) が与えられたとき値域 [a:b] に相当する標本から評価結果  を計算

  10. ランダム・サンプリング • 評価結果 と実際の結果 s との誤差 • 絶対誤差Eabs • 相対誤差Erel

  11. サンプリングの例 • 図のfdfから標本集合Sfdfを取得 • 例:Sfdf={<2,0>,<5,0>,<8,5>}の時

  12. サンプリングの例 • クエリの範囲が q(2≦X≦7) → 標本<2,0>,<5,0>を評価に使用

  13. サンプリングの例 • 値の分布は一様であると仮定 • 標本に近い属性の値は標本と同じ ∴属性値3,4,6,7の頻度は全て0 → クエリサイズの評価は0 実際のクエリサイズは13 ∴Erel=|13-0|/13×100=100%

  14. 先ほどの問題点 • 頻度の多くは小さな値 • 標本集合のうち2つが頻度0 • 値の分布が一様であるという仮定 • 一般的ではない • 標本集合内の値から付近の不明な値を類推するのは不適当

  15. 累積分布関数 • 累積頻度 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

  16. サンプリングの例・改 • 図のcdfから標本集合Scdfを取得 • 例:Scdf={<2,2>,<5,14>,<8,20>}の時

  17. サンプリングの例・改 • クエリの範囲が q(2≦X≦7)

  18. サンプリングの例・改 • 範囲内のクエリサイズは 7- 2 • iは実際の値 ciを評価したもの • 標本集合より 2=c2=2 • 7をどう評価するかが重要

  19. サンプリングの例・改 • 最も近い標本を当てはめる • 例では c8=20=7 • クエリサイズの評価は7- 2=20-2=18 • 相対誤差ErelはErel=|13-18|/13×100≒38.5%

  20. サンプリングの例・改 • 2つの標本<dlow,clow>,<dhigh,chigh>から計算 • dlowはd≦diである最大のd • dhighはd≧diである最小のd • 例では<dlow,clow>=<5,14>,<dhigh,chigh>=<8,20>

  21. サンプリングの例・改 • 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よりも良い結果が得られる

  22. 先ほどの問題点 • クエリ q(0≦X≦3)の時は評価0 • d0もd3も最も近い標本は<2,2> • 集合に<3,14>があれば大幅に軽減 何が問題か? 元となるデータ分布を反映した方法で データサンプリングを行うべき

  23. 解決法 • 頻度のより高いものを多くサンプリング • データ分布が前もって判っていないと困難 • fdfなら頻度によって整列が可能 データ分布が前もって判らなくても あらかじめ頻度によって整列しなくても 頻度のより高いものを抽出する手法を提案

  24. サンプリングの黄金律 • 1947年、von Neumannによって提案 • Los Alamos Science, p.135, June 1987 • 連続確率分布に対して定義→離散分布用に修正して適用

  25. サンプリングの黄金律 • 一様でない確率分布関数 f(x) • 確率分布関数 pdf (probability distribution function) • 単調増加変換関数 y(x) • xについて変数 がdx内に存在する確率がyについて変数 がdy内に存在する確率と等しい事を保証 • どの x に対しても y は存在 • 全ての x に対して dy/dx>0 • x と y は1対1の関係

  26. サンプリングの黄金律 • 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]

  27. サンプリングの黄金律 • 先の条件を満足するものにcdfがある • この場合 dy/dx=f(x) となり g(y)=1, 0≦y≦1 このcdfは[0,1]の一様分布 pdf f(x)とは独立

  28. サンプリングの黄金律(まとめ) • pdf f(x)が与えられると、cdf F(x)が生成される • [0,cN-1]の範囲(cdfの値域)から乱数 y を生成し、cdfに代入 : y=F(x) • cdfの逆関数からxを求める : x=F-1(y) f(x)の分布を反映した 標本が取得可能

  29. probability x 黄金律の例 • cdfについてランダムな一様分布標本を取る(y軸に一様) • 標本値はf(x)の分布を反映 • それぞれの標本についてF(x)の逆関数を計算 F(x) f(x)

  30. c(i+1) cumulative frequency c(i) d(i) d(i+1) attribute value 離散分布への適用 • 問題点 • cdfが1対1写像ではない→cdfは単調非減少ステップ関数 • 3つの標本がいずれも同じd(i+1) どのように適当な 標本を見つけるか

  31. Golden Estimator • 最初にdi≦≦di+1である  を選択→<di,ci>を標本として選択 • 次にdi≦≦di+1である  を選択 →<di+1,ci+1>を標本として選択 • 3番目にdi≦≦di+1である  を選択 →標本とせずに他を取得 diの頻度fiが充分に大きい時サンプリングされやすくなる

  32. 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;

  33. クエリ評価のアルゴリズム 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;

  34. 多次元領域への拡張 • 平面領域でのみ適用→多次元領域へ拡張 • まず2次元の場合(空間データベース)を考察

  35. 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)>}

  36. 2次元領域のクエリ評価 • 2次元のcdfについて考えると • 問題点 • g(y)=1(0≦y≦1)にならない • cdf が fdf に1対1の写像を行わない

  37. 解決法 • 2次元領域を平面領域に変換→変換後の領域にgolden estimatorを適用 • 変換は1対1の写像 どうやって適切な変換を行うか? 2次元→1次元 1次元→2次元

  38. 2次元領域でのGolden Estimator • 2次元データセット fdf 2 に対して2次元→ 1次元変換 F2d→1d を適用→1次元の fdf 1 を取得 • 2次元→1次元変換の例 • row-major ordering • z-ordering • Hilbert curve • Gray orderingetc…

  39. 2次元領域でのGolden Estimator • fdf1から1次元の cdf1 を生成 • cdf 1から標本集合S1cdf を取得 • S1cdf のそれぞれの標本についてF(x)の逆関数F-1(x)を計算→標本集合S1fdf を取得

  40. 2次元領域でのGolden Estimator • S1fdfのそれぞれの標本に1次元→2次元変換F-12d→1dを適用→2次元の標本集合S2fdfを取得 • S2fdfのそれぞれに標本について累積頻度を計算→S2cdf→クエリ評価を実行 Golden Estimatorのアルゴリズムは変更無

  41. 更なる課題 • どの2→1次元変換を用いても同じ結果が得られるか?→1次元標本集合(cdf 1, fdf 1)は異なるが2次元標本集合(cdf 2, fdf 2)はほぼ同じ • 最適な2→1次元変換は?→現在研究中 • 更に多次元の領域に対しては?→常にfdf 1が取得可能→次元変換が出来れば評価可能

  42. 平面領域での性能比較実験 • 4つの手法によるクエリ評価 • Golden Estimator • MaxDiff ヒストグラム • ウェーブレット・ベース技術 • タプル・サンプリング技術 • 対象となる分布 • Zipf分布 • Alexandria Digital Library(ADL)のデータセット

  43. 平面領域での性能比較実験 • 2つの方法で実験 • 選択性を変化 • 選択性 sel : q (a≦X≦b) のとき sel = (b-a)/N • データ容量を変化 • サンプル数など

  44. 平面領域での性能比較実験 • 選択性を変えたとき • 選択性の増加につれて相対誤差は減少 • 特にGolden Estimatorが誤差が小さい • データ容量を変えたとき • 容量の増加につれて相対誤差は減少 • Golden Estimatorとウェーブレット・ベース技術で顕著 • 特にGolden Estimatorが誤差が小さい

  45. 空間領域での性能比較実験 • 4つの手法によるクエリ評価 • Golden Estimator • 修正 Min‐Skew ヒストグラム • ウェーブレット・ベース技術 • 空間ランダムサンプリング • 対象となる分布 • 2-dガウス分布 • ADLのデータセット • TIGER/Line Files のデータセット

  46. 空間領域での性能比較実験 • 全ての分布に対して常にGolden Estimatorが最も相対誤差が小さい どのようなデータベースにおいても Golden Estimatorが最良である

  47. まとめ • Golden Estimatorを用いたクエリの評価 • 評価値の正確さ • 評価にかかるデータ容量の削減 • 平面・空間データベースでの評価 • 課題:3次元以上の領域における評価

More Related