Columnwise Spatial Aggregation via Grid Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Spatial aggregation in column-oriented databases is processor-intensive and time-consuming, hindering performance during data traversal and analysis, especially when navigating geographic data at coarse and fine-grained levels.
Innovation Solution
The solution involves processing spatial aggregation queries by receiving data specifying a maximum bounded rectangle, computing the number of points and center of gravity for each grid partition in parallel, and providing data characterizing these computations, leveraging a column store data layout for fast scan performance and reduced resource consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If spatial aggregation is performed using traditional row-oriented processing, then accurate spatial analysis results are obtained, but processing time increases and performance deteriorates
Solution Approach 1:
The patent divides the spatial aggregation process into two distinct phases: a preprocessing phase that computes and stores aggregated spatial data (centroids, counts, bounding boxes) for different grain levels, and a query phase that retrieves precomputed results. This segmentation allows expensive computations to be performed once during preprocessing rather than repeatedly during queries, significantly reducing processing time while maintaining accuracy.
Solution Approach 2:
The patent performs spatial aggregation computations in advance during a preprocessing phase, storing results for various grain levels (country, region, city, store) before they are needed for queries. This preliminary action ensures that when users request spatial analysis, the results are already computed and can be retrieved quickly, eliminating the time-consuming aspect of real-time spatial aggregation.
2Adaptability or versatility
If spatial aggregation is performed at multiple grain levels, then comprehensive data traversal capability is achieved, but processor intensity increases
Solution Approach 1:
The patent segments spatial data into a hierarchical structure with multiple grain levels (country, region, city, store), where each level has precomputed aggregation metrics. This segmentation allows the system to provide comprehensive data traversal capability across all levels while distributing processing requirements, as each level's aggregations are computed independently during preprocessing rather than requiring intensive processing during queries.
Solution Approach 2:
The patent changes the parameter of data organization from traditional row-oriented storage to a hierarchical aggregation structure with precomputed metrics at different grain levels. This parameter change enables versatile data traversal across multiple granularity levels while reducing processor intensity during query operations, as the system retrieves precomputed aggregation data rather than computing it in real-time.
3Reliability
If traditional spatial aggregation methods are used, then complete spatial analysis is achieved, but resource consumption increases
Solution Approach 1:
The patent performs complete spatial aggregation computations during an offline preprocessing phase, storing results for various grain levels and spatial hierarchies. This preliminary action ensures that comprehensive spatial analysis is achieved while minimizing online resource consumption, as the expensive computations are performed when system resources are more readily available rather than during user queries.
Solution Approach 2:
The patent creates aggregated copies of spatial data at different grain levels (country-level aggregations, region-level aggregations, etc.) that can be quickly retrieved without accessing the full detailed dataset. These copies maintain the essential spatial relationships and aggregation metrics needed for analysis while consuming fewer resources during query operations, as the system works with compact precomputed representations rather than raw detailed data.
Data Source
AI summary
A spatial aggregation query of a database is processed by receiving data specifying a maximum bounded rectangle for point data responsive to the query and specifying one or more grid partitions of the maximum bounded rectangle (in which at least one of the partitions is partially aggregated. Thereafter, for each partition, a number of points responsive to the query in each partition and a center of gravity of the points in each partition is computed. Data characterizing the corresponding computed number of points and center of gravity is then provided (e.g., persisted, loaded, transmitted, displayed, etc.). Related apparatus, systems, techniques and articles are also described.


