In-Memory Spatial Object Filtering via Bounding Box Materialization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database management systems face inefficiencies in spatial data filtering due to the need for frequent recalculation of minimum bounding box information and the requirement to maintain materialized bounding box columns on disk, which reduces performance and increases the risk of user error in mixed-type queries.
Innovation Solution
The implementation of in-memory columnar units and expression units that materialize minimum bounding box data, allowing for efficient spatial filtering without the need for indexes on geometry-type data and eliminating the need for repeated calculations, by using pre-computed results stored in memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If minimum bounding box information is materialized on disk, then spatial filtering performance is improved, but storage requirements increase and user error risk increases
Solution Approach 1:
The patent transitions bounding box data from persistent disk storage to volatile memory storage, changing the dimensional aspect from permanent to temporary. This allows the data to be readily accessible for fast filtering operations while avoiding the pitfalls of disk-based materialization, as the data can be freely discarded and regenerated when needed.
Solution Approach 2:
The system pre-computes and materializes minimum bounding box information in memory before query execution, but unlike disk-based materialization, this preliminary action is transient. The bounding box data is prepared in advance in the memory buffer, enabling fast filtering without requiring permanent storage infrastructure.
2Speed
If indexes are created over SDO data, then spatial operation performance is improved, but computing resources required for index creation and maintenance increase
Solution Approach 1:
The patent extracts only the essential minimum bounding box information from the full spatial data objects and stores this simplified representation in memory. This extracted subset provides sufficient information for efficient filtering operations without requiring the overhead of maintaining complete spatial indexes, thereby reducing computational resource requirements while preserving performance benefits.
3Measurement precision
If expressions defining virtual columns are calculated repeatedly, then data accuracy is maintained, but processing time increases
Solution Approach 1:
The system performs the expression calculation for bounding box values in advance and stores the results in memory buffers. This preliminary computation eliminates the need for repeated calculations during query execution, significantly reducing processing time while maintaining data accuracy through controlled refresh mechanisms when underlying data changes.
Solution Approach 2:
The patent changes the state of bounding box data from dynamic (requiring repeated calculation) to static (pre-computed and stored). By transforming the parameter from a frequently recalculated value to a pre-materialized attribute in memory, the system achieves both speed improvement and acceptable accuracy through selective refresh operations.
Data Source
AI summary
Techniques are introduced herein for maintaining geometry-type data on persistent storage and in memory. Specifically, a DBMS that maintains a database table, which includes at least one column storing spatial data objects (SDOs), also maintains metadata for the database table that includes definition data for one or more virtual columns of the table. According to an embodiment, the definition data includes one or more expressions that calculate minimum bounding box values for SDOs stored in the geometry-type column in the table. The one or more expressions in the metadata maintained for the table are used to create one or more in-memory columns that materialize the bounding box data for the represented SDOs. When a query that uses spatial-type operators to perform spatial filtering over data in the geometry-type column is received, the DBMS replaces the spatial-type operators with operators that operate over the scalar bounding box information materialized in memory.


