Query Aggregation Pushdown for Faster Database Filtering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face limitations in processing speed due to hardware constraints, data storage methods, and restricted co-processing options, leading to inefficiencies in handling large volumes of data.
Innovation Solution
A database system utilizing a parallelized architecture with sub-systems for data input, storage, retrieval, and query processing, enabling independent and parallel execution of operations across multiple computing devices and processing core resources to manage and process massive data scales efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional sequential processing methods are used in database systems, then hardware resource usage is simplified, but processing speed and efficiency deteriorate when handling large volumes of data
Solution Approach 1:
The database system is divided into multiple independent processing core resources that can execute operations in parallel. Each processing core resource handles specific data processing tasks independently, enabling simultaneous execution of multiple queries and operations across different segments of the database system, thereby improving overall processing speed without requiring complete redesign of the hardware architecture.
Solution Approach 2:
The system transitions from sequential single-threaded processing to multi-dimensional parallel processing by utilizing multiple processing core resources that can execute operations simultaneously. This dimensional expansion from one-dimensional sequential execution to multi-dimensional concurrent execution enables the system to handle large volumes of data more efficiently by distributing the processing load across multiple cores.
2Productivity
If data is stored in traditional formats and structures, then storage implementation is straightforward, but processing efficiency and query performance deteriorate at massive data scales
Solution Approach 1:
Data is segmented into multiple partitions that can be processed independently by different processing core resources. This segmentation enables parallel query execution where different portions of the database can be accessed and processed simultaneously, improving query execution speed while maintaining manageable storage implementation through structured data partitioning.
Solution Approach 2:
Data is pre-processed and organized into optimized structures before queries are executed. This preliminary action includes data partitioning, indexing, and formatting that enables faster retrieval and processing during query execution, reducing the computational burden during actual query operations while maintaining straightforward storage implementation through structured organization.
3Productivity
If co-processing options are restricted to traditional methods, then system implementation is simpler, but processing capability and speed deteriorate
Solution Approach 1:
The processing core resources are designed to perform multiple functions including data retrieval, filtering, aggregation, and query execution. This multi-functionality enables a single parallelized architecture to handle various processing capabilities without requiring separate specialized hardware for each function, improving processing capability while controlling implementation complexity through universal resource utilization.
Data Source
AI summary
A database system operates by: generating an initial query operator execution flow for a corresponding query for execution that includes an extend operation for execution serially before an aggregation operation indicating grouping performance of a corresponding aggregation by new column values of a new column generated via the extend operation via performance of a corresponding extend function of at least one input column; converting the initial query operator execution flow into an updated query operator execution flow semantically equivalent to the initial query operator execution flow based on: generating an updated aggregation operation to group by input column values of the at least one input column, and pushing the updated aggregation operation for execution serially before the extend operation; and executing the corresponding query by applying the updated query operator execution flow based on: executing the updated aggregation operation upon a plurality of rows to generate a plurality of aggregation values for a plurality of row groups via grouping by the at least one input column, and executing the extend operation after performing the updated aggregation operation by generating the new column from the at least one input column.


