Page IO Pipeline for Faster Database Query Execution
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 query execution.
Innovation Solution
A database system architecture that employs a parallelized data input, storage, and query processing system, utilizing segment-based data partitioning, optimized query planning, and independent execution of administrative and configuration operations to enhance processing efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional sequential query processing is used, then system simplicity is maintained, but query execution time increases and productivity decreases
Solution Approach 1:
The patent segments data into columnar formats and organizes it into logical and physical segments that can be independently processed. This segmentation enables parallel query execution across multiple compute nodes, significantly improving query execution speed while maintaining manageable system complexity through modular architecture
Solution Approach 2:
The patent introduces a new dimension of parallel processing by implementing multi-level query pipelines (snapshot generation pipeline, segment selection pipeline, row filtering pipeline) that operate simultaneously across distributed nodes. This dimensional expansion from sequential to parallel processing transforms query execution efficiency without proportionally increasing complexity
2Speed
If hardware resources are increased to improve processing speed, then query execution time decreases, but system cost and complexity increase
Solution Approach 1:
By segmenting data storage into columnar formats and logical/physical segments, the system enables efficient distributed processing across multiple nodes. Each node processes specific segments independently, achieving high processing speed without requiring each individual node to have excessive hardware resources
Solution Approach 2:
The system implements automatic query plan generation and optimization that selects appropriate pipelines and segments without manual intervention. The query optimizer automatically determines the most efficient execution path, reducing the need for complex manual hardware configuration and optimization
3Productivity
If data is stored in traditional row-based format, then storage simplicity is maintained, but query processing efficiency decreases
Solution Approach 1:
The patent divides data into columnar segments organized by logical and physical boundaries. This segmentation allows the system to retrieve and process only the specific columns and segments needed for each query, dramatically improving processing efficiency while managing storage complexity through systematic organization
Solution Approach 2:
Different segments are optimized for different access patterns and query types. The system applies local quality by storing data in columnar format with specific compression and encoding strategies tailored to segment characteristics, enabling efficient processing without uniformly complicating the entire storage system
4Speed
If co-processing options are restricted, then system simplicity is maintained, but execution speed and performance decrease
Solution Approach 1:
The patent implements a universal query execution framework that can handle multiple query types and workloads through a common pipeline architecture. The system provides adaptability by dynamically selecting and combining different processing pipelines (snapshot generation, segment selection, row filtering) based on query requirements, achieving high execution speed across diverse workloads without requiring specialized co-processing options for each case
Data Source
AI summary
A query and results sub-system of a database system includes a first processing module operable to receive an initial query including a plurality of sets of code terms regarding a dataset stored as a plurality of pages. A first page includes a first set of row-oriented data. The first processing module is operable to identify a set of input/output (IO) code terms to produce an optimized set of IO code terms, and for at least a portion of the first page: determine a first IO pipeline element operable to format at least a portion of the first set of row-oriented data into a first set of column-oriented data, determine remaining IO pipeline elements operable to execute the optimized set of IO code terms on the at least the portion of the first page, and optimize the first set of IO pipeline elements to produce a first IO pipeline.


