410 likes | 518 Views
This study presents an efficient approach for network distance browsing in spatial databases, focusing on real-time shortest path queries on static networks with variable search criteria. The proposed method includes efficient path encoding and retrieval techniques to enhance scalability and response time. Key concepts covered include spatial networks, nearest network neighbors, and quad trees. Evaluation involves micro benchmarks and real data sets.
E N D
Scalable Network Distance Browsing in Spatial DatabaseSamet, H., Sankaranarayanan, J., and Alborzi H. Proceedings of the 2008 ACM SIGMOD international Conference on Management of Data Presented by: Don Eagan Chintan Patel http://www-users.cs.umn.edu/~cpatel/8715.html
Outline • Motivation • Problem Statement • Proposed Approach • Other Approaches • Evaluation • Our Comments • Questions
Motivation • Growing Popularity of Online Mapping Services
Motivation • Real Time Shortest Paths
Motivation • Static Network, Variable Queries • Find Gas Stations, Hotels, Markets etc.
Motivation • Static Network, Variable Queries • Find Gas Stations, Hotels, Markets etc.
Problem Statement • Input: • Spatial Network S, Node q from S • Output: • k-nearest neighbors of q • Objective: • Facilitate “fast” shortest path queries based on different search criteria's • Constraints/ Assumptions: • Static spatial network • Contiguous (connected) regions
Challenges • Real-time response • Calculating all pairs shortest path is costly • Storing pre-computed naïvely doesn’t solve the problem • Scalability
Contribution • Efficient path encoding • Efficient retrieval • Abstracting shortest path calculation from domain queries
Key Concepts • Spatial Networks • Nearest Network Neighbor • Quad Tree • Morton Blocks • Decoupling • Scalability • Pre-computing
Spatial Networks • Graph with spatial components represented as nodes/ edges • Most Transportations are modeled as graph • Intersection – Node/ vertex • Roads – Edge • Time/ Distance – Edge Weight
Shortest Path • Dijkstra’s algorithm • Doesn’t work for real-time queries • Computationally expensive
Proposed Approach • Pre-compute shortest paths • Store and Retrieve Efficiently N = Number of vertices, M = Number of edges, s = Length of the shortest path
Path Encoding • Path coherence • Vertices in close proximity share portion of the shortest paths to them from distant sources
Path Encoding • Path coherence • Vertices in close proximity share portion of the shortest paths to them from distant sources
Path Encoding • Path coherence • Vertices in close proximity share portion of the shortest paths to them from distant sources
Path Encoding • Path coherence • Vertices in close proximity share portion of the shortest paths to them from distant sources
Path Encoding • Quadtree: Decompose until all vertices in block have same color
How is space reduced? • Capturing boundaries !
Path Retrieval • Retrieve quadtree corresponding to s
Path Retrieval • Find connected node t in the quadtree containing d
Path Retrieval • Repeat the process
K-nearest Neighbor • Set of objects • Pre-computed paths (quadtree)
K-nearest Neighbor • K = 2
K-nearest Neighbor • Queue1: m a b • Queue2: a b
K-nearest Neighbor • Queue1: a g e b f • Queue2: a g
K-nearest Neighbor • Queue1: a g e • Queue2: a g
K-nearest Neighbor • Return a and g
Other Approaches • IER: Incremental Euclidian Restriction • Based on Euclidian distance • Dijkstra’s algorithm to get network distance • INE: Incremental. Network Expansion • Dijkstra'salgorithm with a buffer L containing the k nearest neighbors seen so far in terms of network distance
Evaluation • Micro benchmark • Synthetic Data
Evaluation • Real Data Set: Major Road of the USA
Our Comments • We Liked: • Decoupling shortest path and neighbor calculation • Space reduction approach • Scalable • Correctness proofs • Detailed discussion about KNN variants
Our Comments • What we didn’t like: • Experiments: • No comparison with other approaches (e.g. hierarchical, dynamic etc.) • No performance graphs/ discussion with real dataset
Discussion • Other use cases? • Real Application: How to overcome assumptions?
Questions ? ? ?