1 / 9

Size Separation Spatial Join

Size Separation Spatial Join. N. Koudas, K. C. Sevcik, Proceedings of the ACM SIGMOD Conference on Management of Data, pp.324-335, 1997. この論文を読んだ理由. 最新の spatial join の論文の調査 2つのデータセット両方に index が無い場合( selection の結果など)の spatial join アルゴリズム. Size Separation Spatial Join.

susan
Download Presentation

Size Separation Spatial Join

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. Size Separation Spatial Join N. Koudas, K. C. Sevcik,Proceedings of the ACM SIGMOD Conference on Management of Data, pp.324-335, 1997

  2. この論文を読んだ理由 • 最新のspatial joinの論文の調査 • 2つのデータセット両方にindexが無い場合(selectionの結果など)のspatial joinアルゴリズム

  3. Size Separation Spatial Join • 2つのデータセットA,Bに対し、Filter Treeを作成しjoinを行なう • size separation spatial joinの特徴: • データの複製(replication)がない • PBSMでは、データセットA,B両方にreplicationが起こる可能性がある • 重複する解が出力される可能性がある • SHJ(Spatial Hash Join)では、データセットB(後に処理する方のデータセット)にreplicationが起こる可能性がある

  4. level 0 A level 1 B level 2 level 3 Filter Tree • 階層構造でMBRをフィルタ • MBRが、空間を分割する線分(各軸を二分する)と交差しない最下位のlevelに格納 • 大きいオブジェクトほど上のlevelに格納される • 階層の深さ L は「データ中の最小のMBRの短い辺の長さが 2-Lより大きい」を満たす最小の L • 木の高さはあらかじめ決めておく Aはlevel 0にBはlevel 1に格納される

  5. filtering機能 • DSB(Dynamic Spatial Bitmap) • データセットAのデータからFilter Treeを作成するときに、どのgridにAのデータがあるかを記録しておく • あるlevel kでデータをフィルタする • 4K bitの配列を全て0で埋める • 各要素は各gridにデータがあるかを記録 • level kより下の階層にデータを格納するときは、データを格納するgridを部分空間とするgridをlevel k中で求め、対応するbitを1にする • level kより上の階層にデータを格納するときは、データを格納するgridの部分空間になっているgridをlevel k中で求め、対応するbitを全て1にする • データセットBのデータを分割するときにDSBが0となっているgridとその部分空間となっているgridにはデータを格納しない level k

  6. 0101 0110 1001 1010 01 10 0100 0111 1011 1000 0010 1101 0011 1100 00 11 0000 0001 1110 1111 level 2 level 1 Hilbert value • 2次元空間をgridに分割 • level kでは空間を2(2k-1)個の線分によって4k個に分割 • Hilbert curveでの順序で管理 • この順序で決めたbitの並びをHilbert valueと呼ぶ • 木の深さ(>0)をLとすると、Hilbert valueは2L+1bitで表わされる

  7. A C A 0111 B 0000C 1100 B B A C ソート 各levelでのデータの管理 • データはentity descriptorとして管理 • entity descriptorは以下の情報を持つ • オブジェクトのMBR (xl, yl), (xh, yh) • オブジェクトのMBRの中心点のHilbert value H(xc,yc) • オブジェクトへの参照 • 各levelにあるentity descriptorをH(xc,yc)でソート

  8. Filter Tree間でのjoin • SlFi(en, en+1) : entity descriptorの集合 • Filter Tree Fi中の level l のentity descriptorのうち、Hilbert valueがenからen+1までのもの • SlF1(en, en+1)はSl-iF2(en, en+1)とjoinを行なう • ここで i=0,…,l • SlF2(en, en+1)はSl-iF1(en, en+1)とjoinを行なう • ここで i=1,…,l

  9. Filter Tree間でのjoin • 特定の範囲のHilbert valueを持つgrid間でjoin • 最上位の階層まで繰り返しjoinを行なう 最上位のlevel Hilbert valueの下4bitを除いたものが等しい Hilbert valueの下2bitを除いたものが等しい Hilbert valueが等しい BのFilter Tree AのFilter Tree

More Related