220 likes | 545 Views
R * -Tree を用いた部分空間での Join について. 2002/9/18 笹栗 茂. 前回までの実装. 木の構造、高さが同じ場合は Join + Restriction が可能 ⇒ 木の高さが違う場合について. 木の高さが違う場合の Join. 木の高さが同じ部分木同士を Join 高さが高い方の木を低い方の木の高さまでくだる 各ノードに 横のノードへの参照 を持たせ、それを辿り順次 Join. X. Y. Join. R. S. A. B. C. D. ①. ②. ③. ④. ⑤. ⑥. 1. 2. 3. 4. ①.
E N D
R*-Treeを用いた部分空間でのJoinについて 2002/9/18 笹栗 茂
前回までの実装 • 木の構造、高さが同じ場合はJoin + Restrictionが可能 ⇒木の高さが違う場合について
木の高さが違う場合のJoin • 木の高さが同じ部分木同士をJoin • 高さが高い方の木を低い方の木の高さまでくだる • 各ノードに横のノードへの参照を持たせ、それを辿り順次Join X Y Join R S A B C D ① ② ③ ④ ⑤ ⑥ 1 2 3 4 ① ② ③ ④ ⑤ ⑥ 高さが同じ部分木でJoin
実験 NN・BNN • データ数 木A2000 木B60000 • 用いるデータ キー値以外を一様分布 キー値は0.005~1(間隔0.005) 木Bに関してはこの値をランダムに発生 • 次元数 3 • 作成する木 木A 制御しない NN(1:1:1) 主キーの重要度高 HN(10:1:1) 主キーの重要度低 LN(1:10:10) 木B 制御しない BNN • 測定項目 • Restrictionなしのノードアクセス数 • キー値以外でのRestriction1次元、2次元をいれて100回試行した平均のノードアクセス数(Selctivity(幅)が10,20,30,40,50,60,70,80,90%) ここでのノードアクセス数は木Bのみ測定。 よって実際のノードアクセス数は約2倍となる Key HN Key LN Key
実験結果- ノードアクセス数(Restriction なし)
実験結果- ノードアクセス数(Restriction 1次元 木Aのみ)
実験結果- ノードアクセス数(Restriction 1次元 木Aのみ)
考察 • 全体を通して主キーの重要度を高くした場合が良い • 主キーの重要度低の場合、Selectivityが小さい時はRestriction無しに比べノードアクセス数の減少度大 • しかし全体的にノードアクセス数が多い • 同じノードを複数回訪れるため ⇒LNの場合影響大
ノードアクセス数を減らす手法(DFRJの論文より)ノードアクセス数を減らす手法(DFRJの論文より) • Restricting Search Space R∩Sと交差しないMBRは相手のノードのMBRとは交差しない R まずR∩Sと交差するMBRを見つけ、その後、相手のノードのMBRと交差判定を行なう S R,Sはノード中の全てのMBR を含むMBR この領域に含まれるエントリのみを 下位ノードで交差判定 これはノードアクセス数を減らすのではなく比較回数を減らす。
改良できる点 • □の部分を交差判定に用いる 同じレベルの部分木でJoinを行うので交差判定に 使われない X Y Join A B C D R S 1 2 3 4 ① ② ③ ④ ⑤ ⑥ ① ② ③ ④ ⑤ ⑥ 交差判定を行い、下位レベルでの 交差領域を絞り込む X Y A B C D R S 1 2 3 4 ① ② ③ ④ ⑤ ⑥ ① ② ③ ④ ⑤ ⑥
Joinについての今後 • 木Bも制御した場合について、TPC-Hデータでの実験 • Restricting Search Spaceの導入 • Join属性の片方は主キーなどをふまえた交差領域を減らす手法の考察 • BFRJについても考察