100 likes | 232 Views
Spatial Join Index に関する論文. 2001年10月12日 長野 英彦. spatial Join Index 研究動向. [1] Doron Rotem: ” Spatial Join Indices ” ,Proc. of the 7th Intr. Conf. on Data Engineering, Kobe, Japan, pp.500-509, 1991
E N D
Spatial Join Indexに関する論文 2001年10月12日 長野 英彦
spatial Join Index 研究動向 [1] Doron Rotem:”Spatial Join Indices”,Proc. of the 7th Intr. Conf. on Data Engineering, Kobe, Japan, pp.500-509, 1991 [2] Lu, W. and Han, J. :”Distance-associated join indices for spatial range search” , Proc. of the 9th Intr. conf. on Data Engineering, Vienna, 1992[3] Yun-Wu Huang and Ning Jing :”Spatial Joins Using R-trees: Breadth-First Traversal with Global Optimizations”, Proc. of the 23rd VLDB Conf., Athens, Greece, 1997
[3]のspatial join indexのデータ構造 R-tree Rのノードを指すitem (oidRとする)と R-tree Sのノードを指すitem (oidSとする)の2つの属性を持つタプル<oidR, oidS>の集合 論文中のjoin indexの例
oidS oidR 2 1 2 2 oidS oidR 5 6 6 6 5 4 Breadth-First R-tree Join • [3]での spatial joinの概要 高さ2のR-tree R 高さ2のR-tree S node同士で join level 0 (root) level 0 (root) 1 2 1 2 oid 0 oid 0 intermediate Join Index at level 0 node同士で join level 1 (leaf) level 1 (leaf) 3 4 5 6 3 4 5 6 oid 2 oid 1 oid 2 oid 1 candidate set
grid grid region region grid grid region grid file [4] • データをgridに分けて管理 • 複数のgrid中のデータが同じページ(region)に格納されている • ページのキャパシティを超えてデータが挿入されると、1つのページ中のデータは、2つのページに分割される [4]: J. Nievergelt, H. Hinterberger, K.C. Sevcik, “The Grid File: An Adaptable, Symmetric Multikey File Structure”, ACM Transactions on Database Systems, Vol 9, 3, pp.369-391, 1984
[1]の研究内容 • 2つのgrid fileを使用したspatial joinで使用するspatial join index作成アルゴリズム • データが格納されたページ同士の関係を保持 • 各ページには点が格納されている • joinの条件を満たす可能性のあるページを関連付ける • grid line(空間をgirdに分けるline)の挿入アルゴリズム
4 0 1 2 3 E F G A B C D grid file と spatial join indexの関係 A A A A 3 2 1 1 2 3 3 B C D B C D B E D E B E F 0 0 4 1 0 4 G E F F G grid と ページの対応 grid と ページの対応 spatial join index B(V1, V2, E) V1:ページ E:枝 overlapしているgridのデータを収めたページ間を枝で結ぶ
spatial join indexの作成 • 既存のgrid fileを使ってjoin indexを作成 • joinでは、「互いの距離がε以内」のデータの組を求める • join indexでは データが格納されたページ同士を結びつける • 結び付けられたページにはjoinの条件を満たすデータの組が存在する可能性がある • 結び付けられていないページ間にはjoinの条件を満たすデータの組は存在しない • plane sweepアルゴリズムを使って、grid fileを走査し、join indexを作成 • x軸の小さい方から順に走査
spatial join indexの更新 • 新しいgrid lineが挿入されたときの、spatial join indexの更新アルゴリズム • データがページに入りきらなくなったときに、grid lineが挿入される • 1つのページを2つのページに分割 • girdの中心を通るglid lineを挿入することで、他のgrid fileとのgridの交差を少なくする • データの偏りについては考慮しない 左下のgrid にデータを追加 左下のgridがoverflow glidの中心を通るように glid lineを追加
join indexのサイズを小さくする • glid lineを挿入する2つの方法を実験で比較 • データを各ページになるべく均等に格納するようにlineを挿入する • gridの中心を通るlineを挿入する • 実験では、1より2の方がjoin indexのサイズ(枝の数で測定)が小さくなった • 挿入位置が決まっているため