Two-Dimensional Database Partitioning for Location-Based Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current location-based services (LBS) face inefficiencies in searching for the nearest items, such as restaurants, due to inadequate database search techniques, which result in slow performance and high latency, especially when dealing with large datasets.
Innovation Solution
The proposed solution involves organizing a database into two tables, partitioning one table along a first dimension and indexing along a second dimension, allowing for efficient data retrieval by selecting the nearest data partitions and records based on a starting location, thereby reducing latency and improving user experience.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional database searching methods are used for location-based services, then the system can handle basic queries, but the search performance is slow and latency is high when dealing with large datasets
Solution Approach 1:
The database is divided into multiple partitions along a first dimension (e.g., latitude ranges), allowing the search to focus only on relevant partitions rather than scanning the entire database. This segmentation dramatically reduces the search space and improves query performance for location-based services.
Solution Approach 2:
The patent introduces a two-dimensional indexing structure where data is partitioned along one dimension (e.g., latitude) and indexed along another dimension (e.g., longitude). This dimensional approach enables efficient nearest-neighbor searches by systematically exploring partitions in order of proximity to the query location, reducing both search time and latency.
2Reliability
If the entire database is scanned to find nearest items, then all possible results are found, but the number of disk operations increases and performance deteriorates
Solution Approach 1:
The database performs preliminary organization of data into partitions and indexes before queries are executed. This pre-processing structure allows the search algorithm to quickly identify and access only the relevant partitions containing nearest items, ensuring search completeness while minimizing disk operations and improving productivity.
3Device complexity
If data is stored without partitioning, then the database structure is simple, but data access time increases and latency is high
Solution Approach 1:
The database implements partitioning along a first dimension and indexing along a second dimension, creating a structured organization that balances complexity with performance. This segmentation enables efficient data access by directing queries to specific partitions, significantly reducing access latency while maintaining manageable structural complexity through systematic organization.
Data Source
AI summary
Systems and methods are disclosed for efficiently searching a database including a table. The table is partitioned along a first dimension, such as latitude. Indexes in each of the partitions are built along a second dimension, such as longitude. The table may also be clustered according to an index to improve performance. When a processor receives a database query term and a starting location, the processor selects, from the table, a data partition within a first offset to the starting location along the first dimension. The processor selects, from the selected data partition, a first number of first data records related to the query term and within a second offset to the starting location along the second dimension.


