Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Spatial Databases

Similar presentations


Presentation on theme: "Introduction to Spatial Databases"— Presentation transcript:

1 Introduction to Spatial Databases
Donghui Zhang CCIS Northeastern University

2 What is spatial database?
A database system that is optimized to store and query spatial objects: Point: a hotel, a car Line: a road segment Polygon: landmarks, layout of VLSI Road Network Satellite Image VLSI Layout

3 Are spatial databases useful?
Geographical Information Systems e.g. data: road network and places of interest. e.g. usage: driving directions, emergency calls, standalone applications. Environmental Systems e.g. data: land cover, climate, rainfall, and forest fire. e.g. usage: find total rainfall precipitation. Corporate Decision-Support Systems e.g. data: store locations and customer locations. e.g. usage: determine the optimal location for a new store. Battlefield Soldier Monitoring Systems e.g. data: locations of soldiers (w/wo medical equipments). e.g. usage: monitor soldiers that may need help from each one with medical equipment.

4 Shortest-Path Query Fastest-Path Query
MapQuest.com

5 Driving directions as you go. Find nearest Wal-Mart or hospital.
NN Query

6 Range query ArcGIS 9.2, ESRI

7 Are spatial databases useful?
Geographical Information Systems e.g. data: road network and places of interest. e.g. usage: driving directions, emergency calls, standalone applications. Environmental Systems e.g. data: land cover, climate, rainfall, and forest fire. e.g. usage: find total rainfall precipitation. Corporate Decision-Support Systems e.g. data: store locations and customer locations. e.g. usage: determine the optimal location for a new store. Battlefield Soldier Monitoring Systems e.g. data: locations of soldiers (w/wo medical equipments). e.g. usage: monitor soldiers that may need help from each one with medical equipment.

8 Aggregation query

9 Are spatial databases useful?
Geographical Information Systems e.g. data: road network and places of interest. e.g. usage: driving directions, emergency calls, standalone applications. Environmental Systems e.g. data: land cover, climate, rainfall, and forest fire. e.g. usage: find total rainfall precipitation. Corporate Decision-Support Systems e.g. data: store locations and customer locations. e.g. usage: determine the optimal location for a new store. Battlefield Soldier Monitoring Systems e.g. data: locations of soldiers (w/wo medical equipments). e.g. usage: monitor soldiers that may need help from each one with medical equipment.

10 Optimal Location query

11 Are spatial databases useful?
Geographical Information Systems e.g. data: road network and places of interest. e.g. usage: driving directions, emergency calls, standalone applications. Environmental Systems e.g. data: land cover, climate, rainfall, and forest fire. e.g. usage: find total rainfall precipitation. Corporate Decision-Support Systems e.g. data: store locations and customer locations. e.g. usage: determine the optimal location for a new store. Battlefield Soldier Monitoring Systems e.g. data: locations of soldiers (w/wo medical equipments). e.g. usage: monitor soldiers that may need help from each one with medical equipment.

12 George NN(Bob) = George John Bob Bill Mike

13 Who will seek help from me?
George RNN(Bob) = {John, Mike} John Bob Bill Mike RNN query

14 And beyond the “space” …
2004 NBA dataset*: each player has 17 attributes “Spatial Data”: an object is a point in a 17-dimensional space Who are the best players? i.e. not “dominated” by any other player. Skyline query Name Points Rebounds Assists Steals …… Tracy McGrady 2003 484 448 135 Kobe Bryant 1819 392 398 86 Shaquille O'Neal 1669 760 200 36 Yao Ming 1465 669 61 34 Dwyane Wade 1854 397 520 121 Steve Nash 1165 249 861 74 *

15 And beyond the “space” …
2004 NBA dataset*: each player has 17 attributes “Spatial Data”: an object is a point in a 17-dimensional space Who are the best players? i.e. not “dominated” by any other player. Skyline query Name Points Rebounds Assists Steals …… Tracy McGrady 2003 484 448 135 Kobe Bryant 1819 392 398 86 Shaquille O'Neal 1669 760 200 36 Yao Ming 1465 669 61 34 Dwyane Wade 1854 397 520 121 Steve Nash 1165 249 861 74 *

16 And beyond the “space” …
2004 NBA dataset*: each player has 17 attributes “Spatial Data”: an object is a point in a 17-dimensional space Who are the best players? i.e. not “dominated” by any other player. Skyline query Name Points Rebounds Assists Steals …… Tracy McGrady 2003 484 448 135 Kobe Bryant 1819 392 398 86 Shaquille O'Neal 1669 760 200 36 Yao Ming 1465 669 61 34 Dwyane Wade 1854 397 520 121 Steve Nash 1165 249 861 74 *

17 And beyond the “space” …
2004 NBA dataset*: each player has 17 attributes “Spatial Data”: an object is a point in a 17-dimensional space Who are the best players? i.e. not “dominated” by any other player. Skyline query Name Points Rebounds Assists Steals …… Tracy McGrady 2003 484 448 135 Kobe Bryant 1819 392 398 86 Shaquille O'Neal 1669 760 200 36 Yao Ming 1465 669 61 34 Dwyane Wade 1854 397 520 121 Steve Nash 1165 249 861 74 *

18 And beyond the “space” …
2004 NBA dataset*: each player has 17 attributes “Spatial Data”: an object is a point in a 17-dimensional space Who are the best players? i.e. not “dominated” by any other player. Skyline query Name Points Rebounds Assists Steals …… Tracy McGrady 2003 484 448 135 Kobe Bryant 1819 392 398 86 Shaquille O'Neal 1669 760 200 36 Yao Ming 1465 669 61 34 Dwyane Wade 1854 397 520 121 Steve Nash 1165 249 861 74 *

19 And beyond the “space” …
2004 NBA dataset*: each player has 17 attributes “Spatial Data”: an object is a point in a 17-dimensional space Who are the best players? i.e. not “dominated” by any other player. Skyline query Name Points Rebounds Assists Steals …… Tracy McGrady 2003 484 448 135 Kobe Bryant 1819 392 398 86 Shaquille O'Neal 1669 760 200 36 Yao Ming 1465 669 61 34 Dwyane Wade 1854 397 520 121 Steve Nash 1165 249 861 74 *

20 Research goals in spatial databases
Support spatial database queries efficiently! range query, aggregation query, NN query, RNN query, optimal-location query, fastest-path query, skyline query, … Which statement is the best in a large spatial database? (a) Both an O(n2) algorithm and an O(n) algorithm are efficient. (b) An O(n2) algorithm is not efficient, but an O(n) algorithm is. (c) Neither an O(n2) algorithm nor an O(n) algorithm is efficient. Answer: (c)! Even a linear algorithm is not efficient!

21 Research goals in spatial databases
Example of a linear algorithm: to find my nearest Wal-mart, compare my location with all Wal-marts in the world. Example of a quadratic algorithm: to find the skyline of NBA players, compare every player against all other players (to see if it is dominated). Sample scenario: Disk page size: 8KB. Database size: 1GB = 131,072 disk page. Let each disk I/O be 10-3 second. O(n): 131 seconds  2 minutes. (Not efficient!) O(n2):  200 days! (Out of the question!)

22 How can you do better than O(n)?
Answer: use (disk-based) index structures! However, 1-dim index structures, e.g. the B+-tree, are not efficient. E.g. to search for hotels in Boston…

23 A 1-dim index is not good enough
Suppose a B+-tree exists on X.

24 A 1-dim index is not good enough
Suppose a B+-tree exists on X.

25 Content The R-tree NN Query Skyline Query Highlights of Our Research
Range Query Aggregation Query NN Query Skyline Query Highlights of Our Research

26 R-Tree Motivation Range query: find the objects in a given range.
y axis 10 m g h l 8 k f e 6 i j d 4 b a 2 c x axis 2 4 6 8 10 Range query: find the objects in a given range. E.g. find all hotels in Boston. No index: scan through all objects. NOT EFFICIENT!

27 R-Tree: Clustering by Proximity

28 R-Tree

29 R-Tree

30 Range Query E E Root E E 1 2 E E E E 1 E E 3 4 5 6 7 E 2 a b c d e f g
y axis 10 m g h l 8 k f e E 6 2 i j E d 1 4 b a 2 c x axis 2 4 6 8 10 Root E E 1 2 E E E E 1 E E 3 4 5 6 7 E 2 a b c d e f g h i j k l m E E E E E 3 4 5 6 7

31 Range Query E E Root E E 1 2 E E E E 1 E E 3 4 5 6 7 E 2 a b c d e f g
y axis 10 m g h l 8 k f e E 6 2 i j E d 1 4 b a 2 c x axis 2 4 6 8 10 Root E E 1 2 E E E E 1 E E 3 4 5 6 7 E 2 a b c d e f g h i j k l m E E E E E 3 4 5 6 7

32 Aggregation Query Given a range, find some aggregate value of objects in this range. COUNT, SUM, AVG, MIN, MAX E.g. find the total number of hotels in Massachusetts. Straightforward approach: reduce to a range query. Better approach: along with each index entry, store aggregate of the sub-tree.

33 Aggregation Query E E Root E :8 E :5 1 2 E E :3 E :2 E :3 1 E :3 E :2
y axis 10 m g h l 8 k f e E 6 2 i j E d 1 4 b a 2 c x axis 2 4 6 8 10 Root E :8 E :5 1 2 E E :3 E :2 E :3 1 E :3 E :2 3 4 5 6 7 E 2 a b c d e f g h i j k l m E E E E E 3 4 5 6 7

34 Aggregation Query Subtree pruned! E E Root E :8 E :5 1 2 E E :3 E :2
y axis 10 m g h l 8 k f e E 6 2 i j E d 1 4 Subtree pruned! b a 2 c x axis 2 4 6 8 10 Root E :8 E :5 1 2 E E :3 E :2 E :3 1 E :3 E :2 3 4 5 6 7 E 2 a b c d e f g h i j k l m E E E E E 3 4 5 6 7

35 Content The R-tree NN Query Skyline Query Highlights of Our Research
Range Query Aggregation Query NN Query Skyline Query Highlights of Our Research

36 Nearest Neighbor (NN) Query
Given a query location q, find the nearest object. E.g.: given a hotel, find its nearest bar. a q

37 A Useful Metric: MINDIST
Minimum distance between q and an MBR. It is an lower bound of d(o, q) for every object o in E1. E1 MINDIST(q, E1) q

38 NN Basic Algorithm Keep a heap H of index entries and objects, ordered by MINDIST. Initially, H contains the root. While H   Extract the element with minimum MINDIST If it is an index entry, insert its children into H. If it is an object, return it as NN. End while E1 q

39 NN Query Example E E E E E E query E y axis Action Heap Visit Root
10 E m E 2 7 g h Action Heap l 8 E 6 Visit Root E k E 1 1 f E 2 2 e 5 6 E i j 4 E d 1 query 4 E b 3 a 2 c x axis 2 4 6 8 10 Root E E 1 2 1 2 E E E E E E 1 3 4 5 6 7 E 9 5 13 2 5 2 a b c i j d e k f g h l m 2 10 13 E E E E E 3 4 5 6 7

40 NN Query Example E E E E E E query E y axis Action Heap Visit Root
10 E m E 2 7 g h Action Heap l 8 E 6 Visit Root E k E 1 1 2 f E 2 e 5 follow E E E E E 6 1 E 2 2 3 5 5 5 4 9 i j 4 E d 1 query 4 E b 3 a 2 c x axis 2 4 6 8 10 Root E E 1 2 1 2 E E E E E E 1 3 4 5 6 7 E 9 5 2 5 2 13 a b c i j d e f g k h l m 2 10 13 E E E E E 3 4 5 6 7

41 NN Query Example E E E E E E query E y axis Action Heap Visit Root
10 E m E 2 7 g h Action Heap l 8 E 6 Visit Root E k E 1 1 2 2 f E e 5 follow E E E E E 6 1 2 3 5 5 5 E 4 9 i j 2 4 E E d 1 follow query E E E E E 2 6 2 3 5 5 5 4 9 7 13 4 E b 3 a 2 c x axis 2 4 6 8 10 Root E E 1 2 1 2 E E E E E E 1 3 4 5 6 7 E 5 9 5 2 13 2 a b c i j d e k f g h l m 2 10 13 E E E E E 3 4 5 6 7

42 NN Query Example E E E E E E query E y axis Action Heap Visit Root
10 E m E 2 7 g h Action Heap l 8 E 6 Visit Root E k E f 1 1 E 2 2 e 5 follow E E E E E 6 1 2 3 5 5 5 4 9 E i j 2 4 E E 1 follow query E E E E E d 2 5 5 6 2 3 5 4 9 7 13 4 E follow E 3 i E E 6 E j E k b a 2 3 5 5 5 4 9 10 7 13 13 2 c x axis 2 4 6 8 10 Root E E 1 2 1 2 E E E E E E 1 3 4 5 6 7 E 9 5 13 2 5 2 a b c i j d e f g k h l m 2 10 13 E E E E E 3 4 5 6 7

43 NN Query Example E E E E E E query E y axis Action Heap Visit Root
10 E m E 2 7 g h Action Heap l 8 E 6 Visit Root E k E f 1 1 E 2 2 e 5 follow E 6 1 E E E E 5 E 2 2 3 5 5 4 9 i j 4 E follow E 1 query E E E E E d 2 6 2 3 5 5 5 4 9 7 13 4 E follow E i E E E j E k b 3 a 6 2 3 5 5 5 4 9 10 7 13 13 2 Report i and terminate c x axis 2 4 6 8 10 Root E E 1 2 1 2 E E E E E E 1 3 4 5 6 7 E 9 5 13 2 5 2 a b c i j d e f g k h l m 2 10 13 E E E E E 3 4 5 6 7

44 Content The R-tree NN Query Skyline Query Highlights of Our Research
Range Query Aggregation Query NN Query Skyline Query Highlights of Our Research

45 Skyline of Manhattan Which buildings can we see?
not dominated (further away and shorter)

46 A skyline example: best hotels
Which one is better? i or h? (i, because its price and distance dominate those of h) i or k?

47 A skyline example: best hotels
The skyline: a, i, k.

48 Branched and Bound Skyline (BBS)
Assume all points are indexed in an R-tree. mindist(MBR) = the L1 distance between its lower-left corner and the origin.

49 Branched and Bound Skyline (BBS)
Each heap entry keeps the mindist of the MBR.

50 Example of BBS Process entries in ascending order of their mindists.

51 Example of BBS

52 Example of BBS

53 Example of BBS

54 Example of BBS

55 Example of BBS

56 Content The R-tree NN Query Skyline Query Highlights of Our Research
Range Query Aggregation Query NN Query Skyline Query Highlights of Our Research

57 The Compressed Skycube [SIGMOD’06]
Goal: support skyline queries for an arbitrary subset of dimensions. Pre-computing all skylines: too much space expensive update The Compressed Skycube is a very compact representation of all skylines, with efficient query and update support.

58 The Optimal-Location Query [SSTD’05, VLDB’06]
The optimal location, of a potential new store, can be defined as a location which maximizes the number of customers who will be “attracted”, or maximizes the combined saving for the customers in their traveling distance to the nearest store. There seem to have infinite number of candidate locations to check. Efficient algorithms to find exact answers.

59 Continuous RNN Monitoring [ICDE’06, ICDE’07]
In a battlefield, the RNNs of a soldier with medical equipment are the soldiers that may need to receive help from him. To continuously monitor the RNNs in real time while all objects are moving is challenging. We proposed solution to the monochromatic case. Cooperated with Univ. of Minnesota to solve the bichromatic case.

60 Fastest-path computation [ICDE’06]
MapQuest provides driving directions without asking leaving time. During rush hour, the best route should be different. Suppose each road segment has a speed pattern. We provide solutions for finding the fastest path, with a leaving time INTERVAL. “I may leave for work some time between 7 and 9. Suggest all fastest paths, e.g. if leaving during [7:43, 8:06], take route A, otherwise take route B”.

61 Summary Spatial database has many practical applications.
Spatial database research aims to design efficient algorithms for various queries. The talk mentioned a few (range query, aggregation query, NN query, RNN query, optimal-location query, fastest-path query, and skyline query). There are much more -- an on-going research field.


Download ppt "Introduction to Spatial Databases"

Similar presentations


Ads by Google