# Roads Belong in Databases Jagan Sankaranarayanan and Hanan

```					Niveditha Baskar
4221457
 Increasing Queries in Real time
 Eg: Shortest route between two locations, nearest
objects like gas stations, restaurants.
 Popular services : Google Maps, Microsoft Bing and
Yahoo maps

Image Source: http://www.math.cornell.edu/~numb3rs/blanco/net_dif.png
 How the current system works? External Graph
processing module
 All operations are Graph operations
 Cannot be cast as relational operators => Cannot be
expressed using SQL
 Why expressing in SQL critical?
- Expressive and English-like language
- Easy to build applications
Current Trends and Challenges
 Road Network operations are expensive
 Algorithm used: Djikstra
   Better approach: Transit node routing
   But these involve searches on graphs during run time
   Computationally complex
   Unsuitable for real-time large scale system
   Current web services: Use Euclidean distance for
complicate d queries => Introducing approximation
errors
Solution?

PRE
COMPUTATION!
Pre Computation
 Graph data structure transformed to an alternate
representation called Oracle
 Pre computing shortest paths and distances between
every pair of vertices
 Resides in a database and SQL can be used
Is this feasible? Yes
 By investing upon sufficient time and hardware
resources
Problem 1: Computation
 New graph Algorithms like Henzinger
+ Hardware techniques like GPU, Parallel computing
= Linear time computation of Shortest Paths in a
graph
Problem 2: Storage
Storage of all shortest path is O(n3) space : All
vertices in a path stored

Storage of just the next hop between Source and
destination O(n2+k) space

Work of authors: Representation of the data in O(n)
space
More justifications for pre
computation
 Decouples the data from applications/domains
 Many data sets can use the pre computed network
 Road networks are static unlike mobile networks and
hence pre computation is a one time affair
 Relation representation: O(AB, c) and O(AB, dapx )

A: Group of source vertices
B: Group of destination vertices
c: Common Intermediate Vertex
dapx : Approximate distance between two groups

Can be combined as O(AB, c, dapx )
Operations on Oracle
R : Relation of Restaurants
Schema: (id, type, price)

Q: Set of Movie theaters
Schema: (id, movie_id)

p: Source; q: Destination
Z(p,q): Function that maps p,q to a group AB in Oracle
B-tree searches for AB in the Oracle
Operations
 Approximate Network distance: Given a source p
and destination q, obtain an approximate network
distance between them.
SELECT O. dapx FROM O WHERE O.AB = Z(p, q)

 Region Search: Given a query location q, obtain all
restaurants in R that are within 10 miles of q which
serve Italian cuisine
SELECT R.id, O.dapx FROM R, O WHERE O.AB = Z(q, R.id) and
R.type = “Italian” and O. dapx ≤ 10 miles
Operations
 k-Nearest Neighbor Search: Given a query location
q, determine the k closest restaurants in R to q which
serve Italian cuisine.
SELECT R.id, O.dapx FROM R, O WHERE O.AB = Z(q, R.id) and
R.type = “Italian” ORDER BY O.dapx LIMIT k

 Distance Join: Find the k closest pairs of restaurants
in R and movie theaters in Q, such that Q is playing a
movie of movie id m.
SELECT R.id, Q.id, O.dapx FROM R, Q, O WHERE O.AB = Z(R.id,
Q.id) AND Q.movie id = m ORDER BY O.dapx LIMIT k
Implementation 1: SILC Oracle
 SILC: Spatially Induced Linkage Cognizance
 Coloring operation on all vertices
Shortest Path Quad tree for a
vertex

Figure 3: (a) Example road network, (b) the shortest-
path quadtree of vertex s, and (c) the shortest-path
SILC Oracle
 Shortest path quadtree for each vertex is stored as
O(q, B, c, dapx )
 Storage requirement: O(n1.5)
 Two dimensional Indexing on q, B using B tree
 Retrieving intermediate vertex and dapx takes O(logn)
time
Approximation errors can be large
Implementation 2: Path-Distance
Oracle
 Uses path coherence
Path-Distance Oracle
 Partitioning: Done by WSP (Well – Separated Pair)
Decomposition
 (AB, c, dε )
- Linear storage
- No redundancy
- Quick Retrieval
Conclusions
   Alternative representation for road networks
   Resides in a database and supports SQL operations
   Scalable, Efficient, Database friendly
   Supports Real-time operations
   Linear time storage implementation using Path-
Distance Oracle
Related Papers from the authors
 Scalable network distance browsing in spatial
databases
 Efficient query processing on spatial networks
 Distance join queries on spatial networks
 Distance oracles for spatial networks
 Query processing using distance oracles for spatial
networks
 Path oracles for spatial networks
Future Directions
 Dynamic Oracles to deal with changing road
conditions
 Dynamic Oracles to also deal with Traffic conditions
 Query Optimization of operations involving Oracles

```
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
 views: 0 posted: 7/15/2013 language: Unknown pages: 25