1 / 25

The DEDALE System for Complex Spatial Queries

The DEDALE System for Complex Spatial Queries. S.Grumback, P.Rigaux, and L.Segoufin In Proc. ACM SIGMOD Intl. Conf. on Management of Data, pp. 213-224, 1998. 2000年1月19日 金子研究室 修士課程1年 長野 英彦. この論文を発表する理由.

uriah
Download Presentation

The DEDALE System for Complex Spatial Queries

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. The DEDALE System for Complex Spatial Queries S.Grumback, P.Rigaux, and L.SegoufinIn Proc. ACM SIGMOD Intl. Conf. on Management of Data, pp. 213-224, 1998 2000年1月19日金子研究室 修士課程1年長野 英彦

  2. この論文を発表する理由 ・ 自分の研究 - 空間データベースシステムHawksに 個々の図形の位相構造(点や線など)のつながり方 を求めるOperatorを追加した・ この論文は、エキスパートなユーザでなくても複雑な 問い合わせを記述できる 問い合わせ言語 を提案 ・ Hawksに定義されているOperatorは、十分な記述力をもつ?

  3. 背景(1) • 空間データの量は著しく増大している • ・ 空間データの取り扱いは重要な研究分野の1つ • 一般的な使用を目的としたDBMSは 空間データを扱うには適さない ・ 空間データは複雑な構造を持つことが有る ・ 空間データのための問い合わせ機能が必要 • ・ 空間インデックスが用意されていない

  4. 背景(2) • 地理情報システムの分野 ・ 多くのシステムはリレーショナルDBMS上に実装 ・ 空間データを扱うための特別な機能を提供 ・ 例:ARC/INFO[S.Morehouse. The Architecture of ARC/INFO. In Proc. Intl. Symp. on Computer-Assisted Cartography(Auto-Carto 9), pages 266-277, 1989.]しかし、 ・ 空間データとそれ以外のデータの扱い方に大きな 違いがある - ARC/INFOでは空間データ用のデータベースと 空間データの属性用のデータベースに分かれている ・ ユーザがシステムのエキスパートでなければ、 高い性能を得ることが困難

  5. DEDALEシステムの目的(1) • 空間データとその他のデータを統一的に表現 ・ 1つのリレーションに空間データ、 文字列、数字を混在 ・ 空間データを一次方程式、一次不等式の集合で表現 ・ 入れ子型のリレーションを使用 (値として集合を許す) ・ relational algebraを空間データ用に拡張

  6. DEDALEシステムの目的(2) • 問い合わせ言語の設計 ・ エキスパートなユーザでなくても使用できる ・ 空間データが入れ子型になっていることを意識させない ・ 空間データの表現方法(図形が式の集合であること。DNFかCHNFで図形を現すこと)をユーザに意識させない ・ ユーザは空間データを式の集合として扱うのではなく 一つの値として扱う ・ operatorはDEDALE algebra(relational algebraを 空間データ用に拡張したもの)に容易に変換可能 ・ DEDALE algebraで問い合わせ最適化を行なうため

  7. 図形の表現 2種類の表現方法 ・ DNF ( disjunctive normal form ) - 互いに重なりのない凸図形の和集合 ・ CHNF( convex with holes normal form ) - 凸図形の差集合 1長1短ありどちらが優れているとは言えない ・ データ量の問題 ・ 計算量の問題 式(half-plane)の数に対して DNF : 和集合constant、差集合 quadratic CHNF: 和集合、積集合、直積、射影 quadratic 選択linear、差集合constant p2 p3 p1 DNF: p1∨p2∨p3 q1 q2 CHNF: q1ーq2

  8. データモデル(1) • 空間データは図形を構成する点集合 (有限個とは限らない) ・ 連立1次方程式、不等式(凸図形)の和集合(DNF)または差集合(CHNF)で表現 • 入れ子型(値として集合を許す)のリレーションを用いて、 空間データをデータベースに格納 • 文字列、数字は入れ子ではない属性 • 空間データは一次方程式、一次不等式の集合 • ユーザは空間データを文字列や数字のように1つの値として扱う • 空間データを1つの値として扱うこととデータモデルとは無関係 であると思う(このようなデータモデルでなくとも空間データを 1つの値として扱うことができるはず) select c.population, c.geo from c in Cities where c.name = “Fukuoka” geoは空間データ

  9. データモデル(2) GO-A GO-B GO={ [ name:string, ground-type:string, owner:string, geometry:{Q2} ] }

  10. relational algebra ・ リレーションに対するデータ操作を提供する代数演算子 を用いて、目的とするリレーションを導出 〇 基本的リレーショナル代数演算子 ・ union リレーションR(A1,...,An), S(B1,...,Bn)に対してR∪S={t|t∈R∨t∈S} ・ difference リレーションR(A1,...,An), S(B1,...,Bn)に対して R-S={t|t∈R∧¬t∈S} ・ cartesian product リレーションR(A1,...,An), S(B1,...,Bm)に対して R×S={t*u|t∈R∧u∈S} ・ projection リレーションR(A1,...,An)に対して πA1’,...,Am’(R)={t[A1’,...,Am’]|t∈R}ただし、 {A1’,...,Am’}⊆ {A1,...,An} ・ selection リレーションR(A1,...,An)に対して σF(R)={t|t∈R∧PF(t)}ただし、PF(t)はtが選択条件Fを満足するときに真となる述語 〇 その他のりれーしょなる代数演算子としてjoin, natural join, intersection, divisionがある

  11. DEDALE algebra (1) • relational algebraをDEDALE用に拡張したもの

  12. DEDALE algebra (2) MAPλX.[‘Alice’,X.2](R) R unionest i (R)

  13. 問い合わせ言語 • データモデルの複雑さを隠蔽 - 入れ子構造をユーザに意識させない 「入れ子型」:空間データを表わす属性値が 一次方程式、一次不等式の集合 - ユーザは空間データを一つの値として扱う 例えば、 のように population:数字, name:文字列, geo:空間データを 同じように扱わせる • DEDALE algebraへ容易に変換可能 - DEDALE algebraで最適化処理の設計を行なうため select c.population, c.geo from c in Cities where c.name = “Fukuoka”

  14. Algebraic Operator (1) g : 空間データ y=3 g2 g1 g2 g1 g2 g1 g g1 INTER g2 g1 UNION g2 g1 MINUS g2 RESTRICT g WITH(y>3)

  15. Algebraic Operator (2) g : 空間データR : リレーション R R g2 g2 g g1 g1 y=0 g3 g3 GROUP-INTER R ON a2 PROJ g ON ( x1 ) GROUP-UNION R ON a2

  16. Algebraic Operator (3)真偽を返すもの g : 空間データR : リレーション

  17. operator と DEDALE algebraの対応

  18. 問い合わせの例 97年9月22日月曜日にSt Maloから10km以内にあるボートを求めよ Boats = {[ name:string, traj:{Q3} ]}Cities = {[ name:string, geo:{Q2} ]} select s.namefrom s in Boats, c in CitieswhereDIST( PROJ( RESTRICT b.trajWITH( x3=‘ 22/09/97 ’ ))ON( x1, x2 ) , c.geo ) < ‘ 10KM ’and c.name = ‘ St Malo ’

  19. その他のOperator p1,p2,p3 : 点(空間データ)g : 空間データ p3 p3 p2 p2 p1 p1 MEDIAN(p1 ,p2 ,p3 ) AXIS(p1 ,p2 ,p3 )

  20. 問い合わせの例 それぞれのcityから最も近いwater-pointを求めよ Waterpoints = {[ name:string, geo:{Q2} ]}Cities = {[ name:string, geo:{Q2} ]} select s.name, w.name, w.geofrom c in Cities, w in Waterpointswhere c.geo INTER? GROUP-INTER( select MEDIAN( v.geo, w.geo, v.geo ) from v in Waterpoints) ON a1

  21. その他のOperator g, g1, g2 : 空間データ

  22. 発表のまとめ(1) • 空間データとその他のデータを統一的に表現 • ・ 入れ子になっている式の集合を一つの属性値として扱う • 例えば、 のように population:数字, name:文字列, geo:空間データを同じように扱う select c.population, c.geo from c in Cities where c.name = “Fukuoka”

  23. 発表のまとめ(2) ‐ 問い合わせ言語の設計 ・ ユーザは のオペレータを使用して問い合わせを記述 ・ 空間データがどのような形式で保存されているかを意識 する必要がない ・ 問い合わせの最適化はDEDALE algebraに変換して行なう ・ ユーザは問い合わせがどのような手順で行なわれるかを 意識する必要がない ・ ユーザは問い合わせの処理手順を決定できない INTER, UNION, MINUS, CROSS, RESTRICT WITH, PROJ ONGROUP-UNION ON, GROUP-INTER ON, IS NOT EMPTYINTER?, UNION? MINUS? CROSS? RESTRICT? WITH, PROJ? ONGROUP-UNION? ON, GROUP-INTER ON, AXIS, MEDIAN, DIST

  24. 発表のまとめ(3) • 問い合わせ言語を独自に開発 • ・ 問い合わせの空間データに関係のない部分はOQLとしてDBMSに渡すという処理を実装 • ・ 問い合わせをDEDALE algebraに変換する処理を実装 • ・ 空間データを処理する関数群を実装(詳細不明) • - 2つのアプリケーションをDEDALE上で動作させた • - IGNのデータ [http://www.ignfi.fr ] • - SEQUOIA projectのデータ [ http://s2k-ftp.cs.berkeley.edu:8000/index.html ] • - 問い合わせ処理の最適化部分は実装中

  25. 発表のまとめ(4) • DEDALE - 図形の構成要素のつながり方を求めるOperatorを 幾つか定義 ・ CONNECT? 、BOUNDARY?・ 解析幾何計算が必須 • 空間データベースシステムHawks - Hawksでは、C++埋込みOQLで問い合わせを記述 - 論文中のほとんどの問い合わせはHawksで記述可能 - Hawksに図形の構成要素のつながり方を求める メソッドを追加 ・ これらは解析幾何計算を行なわずに求める ことができる

More Related