1 / 43

Efficient Computation of Iceberg Cubes with Complex Measures

Efficient Computation of Iceberg Cubes with Complex Measures. 2001/8/11 龍 浩志. Jiawei Han, Jian Pei, Guozhu Dong, Ke Wang ACM SIGMOD, pp.1-12, 2001. 1. Introduction. データキューブ Iceberg Cube 論文のテーマ contributions. データキューブ( Data Cube). データウェアハウス データキューブ. 企業などで蓄積した明細データから、意思決定などに

avidan
Download Presentation

Efficient Computation of Iceberg Cubes with Complex Measures

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. Efficient Computation of Iceberg Cubes with Complex Measures 2001/8/11 龍 浩志 Jiawei Han, Jian Pei, Guozhu Dong, Ke Wang ACM SIGMOD, pp.1-12, 2001

  2. 1.Introduction • データキューブ • Iceberg Cube • 論文のテーマ • contributions

  3. データキューブ(Data Cube) • データウェアハウス • データキューブ 企業などで蓄積した明細データから、意思決定などに 役立てるように統合したデータベース 複数の次元をもった多次元データベース OLAPツール 分析 Materialization (precomputation) 整理、統合 Data Cube 明細データ データウェアハウス

  4. データキューブの構成 • 次元(dimension)に沿って並べたデータセル(cell)の集合 福岡   東京 大阪 データセル Dimension:属性 Measure:集約値 10 テレビ  カメラ パソコン 例:3次元の売上キューブ 月:3月 商品:テレビ 場所:大阪 売上:10 1月2月3月 Dimension 月、商品、場所 Measure 売上額

  5. 月 都市 商品 売上 materialization • 集約値を前もって計算しておく データキューブはGROUP BYによって構築できる 福岡   東京 大阪 SELECT 月、都市、商品、sum(売上) FROM 売上テーブル GROUP BY 月、都市、商品 テレビ  カメラ パソコン 売上テーブル 1月2月3月 GROUP BYの全ての組み合わせにより データキューブが構成される 3次元キューブ (月)、(都市)、(商品)、(月、都市)、(月、商品)、(商品、都市) ()、(月、都市、商品)

  6. データキューブの構築 • 高次元のデータキューブの構築は、時間、記憶容量の面で高価 一般にd次元のキューブの場合2d個のキューブが必要 これまでに提案されている解決策 ●selective materialization 全てのデータキューブを生成するのではなく、選択的に    キューブを構築 ●Iceberg Cubeのみの構築 集約値がある基準値を超えるセルのみによってキューブ を構成

  7. Iceberg Cube • 月(M),都市(C),商品(P)の3次元の例 Iceberg Cube ある基準値以上の値をもつセル のみによりキューブを構成 none M C P 低いレベルでは集約値は 小さくなる Lower Level MC CP MP Iceberg Cubeに格納しない 集約値 Sum(売上) MCP 効果:  ●処理時間、ディスクスペースの節約  ●分析という観点で重要な   データを格納している MCP:GROUP BY M,C,P     により構成されるキューブ

  8. Iceberg Cubeに関する既存の研究 • count,sumのようなanti-monotonicな特性を持つmeasureを取り扱っている anti-monotonic キューブMP       キューブM 月(M) 都市(P) sum(売上) 1 A 10 1 B 30 2 A 20 2 B 40 月(M) sum(売上) 1 40 2 60 ある条件がAで成り立たな ければBでも成り立たない ●Count,sum等 上位のキューブで  条件を満たさないなら  下位でも満たさない 条件sum>=65 キューブMP       キューブM 月(M) average(売上) 1 20 2 30 月(M) 都市(P) average(売上) 1 A 10 1 B 30 2 A 20 2 B 40 ●Average non-anti monotonic 条件average()>=35

  9. Anti-monotonicな場合 • 特性を利用してpruningによりIceberg Cubeの構築に関して効率化を図れる P内のあるセル none P内のあるセルが基準値 を満たさなければ、その 下位セルも条件は満たさないので 集約値を計算する必要がない M C P MC CP MP MCP MP内にある Pの下位セル

  10. 論文のテーマ • Averageのようなnon-anti monotonicな集約値に関する効率的なIceberg Cubeの計算 項目数がk以上かつAVGがv以上のセルのみ を選択してテーブルからIceberg Cubeを構成する SELECT 月、都市、商品、AVG(売上)、count(*) FROM 売上テーブル CUBE BY 月、都市、商品 HAVING AVG(売上)>= v AND COUNT(*)>=k Iceberg Cubeはキューブ全体をHAVING句によりrestrictionしたもの

  11. Contributions • Non-anti monotonic特性をtop-k average条件を用いてanti-monotonic特性へ変換 • 既存の手法、Apriori,BUC(Bottom Up Computing)をtop-k Apriori,top-k BUCへ拡張 • 性能の改良のためHyper tree構造(H-Tree)を設計し、新しいIceberg Cubeの手法(top-k H-Cubing)を提案

  12. 2.Iceberg Cubes with the Average Measure • 定義

  13. セル表現 • Dimension • measure Month,city,costmer-group Measure Dimension セル:(Jan, Toronto, Edu, 500) Price Group By Month (Jan,Toronto,Edu,500) (Jan,Montreal,Busi,1100) (Jan,* ,* , 1600)

  14. セルに関する定義 • m-d セル • Base セル Dimension属性のうち、属性値が*でないdimension数がm であるセル (jan, * , * , 400) (feb, * , Edu , 300) 1-dセル 2-dセル *を含まないセル (jan, Toronto, Edu, 500) Base セル(3-dセル) m-dセルのmの値が小さいほど上位のセル

  15. Back ground Cube • 全てのGROUP BYにより生成される全体のデータキューブ SELECT 月、都市、商品、AVG(売上)、count(*) FROM 売上テーブル CUBE BY 月、都市、商品 HAVING AVG(売上)>= v AND COUNT(*)>=k

  16. Iceberg Cubeのanti-monotonic特性 • Iceberg Cube(ICube)がanti-monotonicであるということは Background(ICube)内のセルのうち、HAVING句の制約 を満たさないセルはその下位の全てのセルでも HAVING句を満たさないということ Count制約に関するICube Average制約に関するICube anti-monotonic non-anti monotonic

  17. ICubeの単純な計算 • まずBackground(ICube)を計算 • HAVING句を満たすセルを選択 HAVING句 GROUP BY テーブル Background(ICube) 一般に実際に得られる結果は少量なのに 中間で大量のセル計算が行われるため非効率

  18. 3.Exploration of Weaker, Anti-monotonic Conditions • Anti-monotonic特性をもつIceberg CubeはApriori特性を利用することにより効率的な計算が可能 しかし、今考えているのはnon-anti monotonicなaverageに 関するIceberg Cube Non-anti monotonicをanti-monotonicにするような手法 を適用し、Apriori特性を利用する

  19. 3.1 Top-k average • 以下のように構築できるIceberg Cube(AvgI)を考える AvgI SELECT A1,A2,…,Am, AVG(M), COUNT(*) FROM T CUBE BY A1,A2,…,Am HAVING AVG(M) >= v AND COUNT(*) >= k

  20. Top-k Averageの定義 • あるセルcのtop-k average(=avgk(c)と表す)は、cの下位のbase セルのうち値が大きい方からk個の平均値 セルc:(a1, *, * ,200) cのBaseセル (a1,1,A,100) (a1,1,B,200) (a1,2,A,100) (a1,2,B,400) k=2の場合 Avgk(c)=300

  21. Top-k Apriori 条件avgk(c) >= vと HAVING句のavg(c) >= v AND count(*) >= k を組み合わせることによりpruningを行う ●定理 Background(Icube)内のセルcがavgk(c ) >= vを   満たさなければ、cの下位セルc’もavgk(c’ ) >= v を満たさない Anti-monotonic特性が利用できる

  22. A binning techinique for top-k average • 各々のセルについて上位k個の値を保持しておくにはオーバヘッドが生じる 記憶容量とtop-k averageの計算のコストを減らすため Binnig technicを利用する bin: top-k の値の情報を効率的に格納する

  23. Bin 値の集合に対し、max,min,count,sumをbinに格納 • Large value • Small value Top-kのk個の値のうち、v以上であるもの Large valueはbin1に格納する Large valueでない値はbini(i>1)に格納 更に、値の範囲によってbin2からbin5に分けておく

  24. Binによるavgk(c )の算出 • Binを用いて、以下の式よりavgk(c )の近似値avg’k(c )を計算 上位m個のbinのcountの合計がk以上であるようなm ●定理 avgk(c )<=avg’k(c ) よってavg’k(c )<vならばcの下位のセルは HAVING句の条件を満たさない

  25. 4.Extension of Apriori and BUC for Iceberrg Cube with Average • quant-info 各セルについて、sum,count,top-k binsの3情報を quant-infoとして格納 Quant-infoを用いて、    ● Top-k Apriori ● Top-k BUC を実現

  26. Top-k Apriori • breadth-first 上位レベルから順にレベルごと に処理を行う None:1 各セルについてquant-infoを 収集 M:2 C:3 P:4 途中でHAVING句を満足する セルがあった場合は出力 MC:5 CP:6 MP:7 MCP:8 Avg’k(セル)>=vであるセルについて のみ下位セルを調査 M,C,Pの3次元の Background(Icube)

  27. Top-k BUC • depth-first GROUP BYを左の順で 実行していく None:1 M:2 C:6 P:8 各セルについてquant-infoを 収集 MC:3 CP:5 MP:7 途中でHAVING句を満足する セルがあった場合は出力 MCP:4 Avg’k(セル)>=vであるセルについて のみ下位セルを調査 M,C,Pの3次元の Background(Icube)

  28. 5.Top-k H-Cubing • Top-k BUCは有用な手法 更に性能の改善のためHyperTree(H-Tree)を 用いてIceberg Cubeを計算

  29. H-Tree(Hyper Tree)の概念 • レベルの概念 ●ルートからの深さが同じノード(レベル)には、意味的  に同じキー値(属性)が格納される ルート レベルごとにキー値の種類が異なる 月 ●ルートから葉ノードまで  のパスによりひとつのオブ  ジェクトが決定される 1月 2月 商品 パソコン パソコン 都市 福岡 (1月、パソコン、福岡)

  30. H-Treeの適用 • H-Treeの構築 ●3次元の例(Month(M),City(C),Cust-group(G),price) ①ルートノードは“null”とする。 Dimensionの順序を決  める(G,M,C) ②Quant-infoを格納する ヘッダテーブルを生成 Header table ROOT Edu sum:400 ; Jan sum:400 ; Toront sum:400 ; Edu Jan Toront ③最初のタプルとして、   (Edu,Jan,Toront,400)を挿入 葉ノードとヘッダテーブルにquant-info Sum:400 Cnt;1

  31. ④次のタプル(Household,jan,Toront,200)を追加 葉ノードの同じラベルにはリンクをはる ROOT Header table Edu sum:400 Household sum:200 ; Jan sum:400 ; Toront sum:400 ; household Edu Jan Jan Toront Toront Sum:400 Cnt;1 Sum:200 Cnt;1

  32. H-Treeの例

  33. H-Treeの特性 • リレーションを一回スキャンするだけで構築可能 • H-TreeとヘッダテーブルはIceberg Cubeを計算するのに必要な情報を全て保持 • テーブル内の次元数m,全タプル数nとすると、ノードの数はn*m+1以下

  34. Iceberg Cubeの計算(STEP1) • 次元Cに関するセルの計算 H-Tree内のquant-info情報により、(*,*, c)の型のセルが avgk(price),avg(price)を満足するかどうかを判定 Avg(price)を満たすセルは出力 Avgk(price)を満たすセルの下位のセルは調査

  35. Iceberg Cubeの計算(STEP2) • 次に次元Mに関するセルの計算 • 次元Gに関するセルの計算 葉ノードのquant-infoを親ノードへmergeする 子ノード(葉ノード)がavg’k(child)>=vを満たせば 親ノードに“top-k OK”のチェックをつける チェックのつけられたノードに対してのみ、 STEP1と同様の処理を行う

  36. Top-k H-Cubingの効率 • Space cost キューブ計算の間に必要なヘッダテーブルは 次元数ー1 次元数M,ヘッダのエントリ数E,1エントリ当たりS とすると、ヘッダサイズはM2*E*S 20次元、エントリ数100、1エントリ20byteのときSize=800KB メモリ内で保持可能

  37. Scan and tree traverse • Data manipulation 1回のみのデータベーススキャンでH-Treeを構成できる 残りの操作は、main memory-basedの木の走査と、 ヘッダテーブルやside-linkの更新 主なデータ操作は、side-linkの調整とquant-infoの Merge,copying Top-k BUCはソートとquant-infoの収集に大部分を費やす

  38. Pruning and optimization Top-k BUC,Top-k H-Cubingとも同じpruning technique を利用するが、Top-k H-Cubingでは、“Top-k OK”の チェックによりquant-info の計算負荷が少ない

  39. 6.性能解析 • Apriori手法はBUC手法に劣るためTop-k H-CubingとTop-k BUCの比較を行う

  40. Countのみの比較 Countの基準値をデータ数の 0.1%から0.008%まで変化 基準値が小さいとき、 両者に差が見られる 1セルあたりの処理時間 Top-k H-Cubingはセル計算 によるオーバヘッドが少ない

  41. Averageに関する計算 Averageの基準値を変えて 比較 80を超えるとほぼ同等の性能だが ゼロ付近では、2.5倍の性能差が 生まれている Tree操作はあまり減らない BUCはソートの数が非常に減るから

  42. Top-k 手法の評価 Avg(c )とAvgk(c )の差をあらわ しているが差は小さい Top-k averageがよい見積もり をあたえており、pruningに 強力である。

  43. 7.Conclusion • Averageのような複雑な値に関するIceberg Cubeの効率的な計算 • Top-k averageによる効果的なpruning Iceberg Cube計算の新たな手法として H-Tree構造を用いたTop-k H-Cubingが有用である

More Related