Metadata-Based Data Pruning for Query Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data management systems face challenges in efficiently identifying and accessing relevant data subsets, leading to performance issues and high maintenance costs due to reliance on primary indices, secondary indices, table partitioning, and Min-Max indices.
Innovation Solution
The system employs metadata-based data pruning to efficiently manage data storage and retrieval by accessing metadata associated with files to identify irrelevant data and optimize queries, thereby reducing the need to access and process unnecessary data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If primary indices are used to organize data, then data retrieval speed is improved, but maintenance cost and complexity increase
Solution Approach 1:
The patent extracts only the essential metadata information needed for pruning decisions, rather than maintaining complete index structures. By taking out only the necessary statistics (min/max values, null counts) and storing them as compact metadata, the system achieves fast retrieval without the complexity of traditional index maintenance.
Solution Approach 2:
The patent uses inexpensive, easily regeneratable metadata objects that can be quickly rebuilt when data changes. Instead of maintaining complex, persistent index structures that require careful updates, the system uses simple metadata that can be regenerated from data files, reducing maintenance overhead and complexity.
2Speed
If secondary indices are created for quick access, then query performance improves, but disk and memory usage increase
Solution Approach 1:
The patent extracts only the essential statistics needed for query optimization (min/max values, null counts, data types) and stores them as compact metadata alongside data files. This extraction approach provides quick access information without the overhead of traditional secondary index structures, significantly reducing disk and memory usage while maintaining query performance.
3Productivity
If table partitioning is implemented, then data access efficiency improves, but system complexity and manual tuning requirements increase
Solution Approach 1:
The patent segments data into files or partitions and generates metadata for each segment independently. This allows the system to efficiently access only relevant segments during queries by comparing query predicates against segment metadata, achieving partitioning benefits without the complexity of managing partition schemas and boundaries.
Solution Approach 2:
The system automatically generates and maintains metadata for data segments without requiring manual configuration or tuning. The metadata generation process is self-service, automatically adapting to data characteristics and query patterns, eliminating the need for administrators to manually tune partitioning strategies.
4Measurement precision
If Min-Max indices are maintained for automatic statistics, then relevant data identification improves, but update maintenance becomes expensive
Solution Approach 1:
The patent uses inexpensive metadata objects that can be quickly regenerated when data updates occur. Instead of maintaining complex Min-Max index structures that require careful updates, the system uses simple statistical metadata that can be regenerated from data files at minimal cost, providing accurate statistics without expensive maintenance.
Data Source
AI summary
A system and method for pruning data based on metadata. The method may include receiving a query that includes a plurality of predicates and identifying one or more applicable files including database data satisfying at least one of the plurality of predicates. The identifying the one or more applicable files including reading metadata stored in a metadata store that is separate from the database data. The method further includes pruning inapplicable files including database data that does not satisfy at least one of the plurality of predicates to create a reduced set of files and reading the reduced set of files to execute the query.


