1 / 19

ラウンドロビン法で分割された分散地理データベースの並列 Spatial Join 演算の高速化

ラウンドロビン法で分割された分散地理データベースの並列 Spatial Join 演算の高速化. 九州大学大学院システム情報科学府 九州大学大学院システム情報科学研究院* 田村 慶一, 金子 邦彦*, 牧之内 顕文*. Spatial Join. 2つの空間データの集合をある空間的な関係で結びつける演算. (11,( x1,y1),(x2,y2),…). 土地利用. 降水量. (‘ Forest1’,100,(x1’,y1’)). 概要. 並列 Spatial Join [ 従来手法] Partition Parallelism – データを分割

clarke
Download Presentation

ラウンドロビン法で分割された分散地理データベースの並列 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. ラウンドロビン法で分割された分散地理データベースの並列Spatial Join演算の高速化 九州大学大学院システム情報科学府 九州大学大学院システム情報科学研究院* 田村 慶一, 金子 邦彦*, 牧之内 顕文*

  2. Spatial Join • 2つの空間データの集合をある空間的な関係で結びつける演算 (11,(x1,y1),(x2,y2),…) 土地利用 降水量 (‘Forest1’,100,(x1’,y1’))

  3. 概要 • 並列Spatial Join [従来手法] • Partition Parallelism –データを分割 • 分割したデータ毎にR*-treeを作成 [提案手法] • Partition Parallelism –データを分割 • すべてのデータのR*-treeを1つ作成

  4. 内容 • 2つの手法の比較 • 条件によりどちらが良い(仮説) • 応答時間 • 測定環境に左右されてしまう • コスト(ページアクセス数) • 測定環境が違っても同じ値 • ページアクセス数での比較 • ページ数は,データ数とオブジェクト数で見積もり可 • ページアクセス数が小さければ応答時間も小さい

  5. 従来研究 • Paradiseプロジェクト [SIGMOD 1997][ACM GIS 2000] • Partition Parallelism • データを分割し,複数のサイトが分割したデータに対してoperationを実行 • 空間分割 ネットワーク サイト1 サイト2 データベース 分割 パーティション1 パーティション2 パーティション1 パーティションN

  6. Paradiseでの並列Spatial Join • 分割したデータ毎にR*-treeを持つ • 他のパーティションが必要であれば取りにいく ネットワーク サイト1 サイト2 polygonデータ R*-tree Object R*-tree pointデータ Object パーティション1 パーティション2 パーティションN

  7. 提案手法 ネットワーク サイト1 サイト2 R*-tree R*-tree Object R*-tree R*-tree Object パーティション1 パーティション2 パーティションN

  8. Queryの例 Polygonの実際の形状 と交差するpointを求める Refinement R*-treeを使用し PolygonのMBRと交差 するpointを求める Spatial Join Filter 土地利用番号11の Polygonの識別子 Selection pointデータのR*-tree polygonデータのB+ツリー 「土地利用番号11のpolygonデータと交差するすべての pointデータのペアを求める」

  9. 分割したデータ毎のpointのR*-tree 1 Refinementへ Filter 2 Filter 3 Filter 4 Filter 1 2 Merge 3 土地利用番号11の Polygonの識別子 4 select 分割したpolygonの B+-tree 方式(1)

  10. すべてのデータで作成したpointのR*-tree Filter Refinementへ Filter 1 2 3 Filter 4 select Filter 分割したpolygonの B+-tree 土地利用番号11の Polygonの識別子 方式(2)

  11. 実験環境 • Sun Ultra/5 Workstation × 4 • Processor 177Mhz ×1,Memory 128Mbyte • Disk 30GB • Sun Ultra/10 Workstation× 1 • Processor 440Mhz ×1,Memory 1024Mbyte • Disk 100GB • Network 100M-Ethernet Switch • DBMS 出世魚 • Extended Sequoia 2000 Benchmark • カリフォルニア州(米国) 1600Km × 2400km • Pointデータ 約24万個 • Polygonデータ 約37万個

  12. ページアクセス数の見積もり               (各サイト)ページアクセス数の見積もり               (各サイト) PR - アクセスしたpointのR*-treeのページ数 PB - アクセスしたpolygon(MBR)のページ数 C - B+ツリー およびRefinement Stepでのページアクセス数 n - サイト数

  13. (1) PB > PRの時、 •  方式(1)の方がページアクセス数が大 • PB = 約 polygonの数/(1ページに格納されているpolygonの数=4) • PR = 約 pointの数/(R*-treeの1ノードのエントリ数=150) • polygonの数が10000個以上の時, PB>PRが成り立つ • (2) PB < PRの時、 •  方式(2)の方がページアクセス数が大 • polygonの数が10000個以下の時, PB<PRが成り立つ • 但し,(1)(2)ともにR*-treeにすべてアクセスすることが前提の見積もり

  14. すべてのデータで作成した R*-treeを使用 分割毎にR*-treeを作成 したものを使用

  15. すべてのデータで作成した R*-treeを使用 分割毎にR*-treeを作成 したものを使用

  16. 考察 • 提案手法が良い場合と従来手法が良い場合の2つがある • ページアクセス数の見積もりはすべての実験値とは一致しなかった • 原因 R*-treeのページアクセス数の見積もりの誤差 • ページアクセス数が大きい方が応答時間が大きくなる

  17. これからの展開 • ページアクセス数 • 見積もりを立てやすい • 測定環境に左右されない • 応答時間を裏付ける • Queryの実行時にページアクセス数を使って,どちらを選択するかを決める方法 • 複数の実行方法が考えられる並列地理DBのQueryを実行時に最適な方法を選択する

  18. 方式(1)

  19. 方式(2)

More Related