Predicate Pushdown and Partition Pruning in Distributed Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face inefficiencies in query processing due to the time-consuming and costly nature of processing large data sets, particularly when queries are limited in scope and directed to small subsets of data, leading to high processing costs and resource utilization.

Innovation Solution

The method involves determining critical points of a predicate based on data attributes, generating critical point ranges, evaluating and reducing the predicate, and matching these ranges with sorted partition ranges to identify qualified data partitions, thereby optimizing query processing and reducing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If queries are processed against the entire data set, then query completeness is ensured, but processing time and resource consumption increase significantly

Engineering Contradiction:
Improvequery completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the data set into multiple partitions based on partition keys, allowing the query to be processed against only the relevant partitions rather than the entire data set. This segmentation enables parallel processing and reduces the volume of data that needs to be scanned, thereby reducing processing time while maintaining query completeness through systematic partition evaluation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing and storing partition metadata, including partition keys and value ranges, in a cache memory. This preliminary preparation allows the query optimizer to quickly determine which partitions are relevant without scanning the entire data set, significantly reducing processing time while ensuring that all relevant partitions are identified for complete query results.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If data is stored in a distributed manner across multiple servers, then scalability and storage capacity are improved, but query processing complexity and coordination overhead increase

Engineering Contradiction:
Improvestorage capacityVSAvoidquery processing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component - the distributed query optimizer - that coordinates query processing across multiple servers. This optimizer receives the query, determines relevant partitions using cached metadata, and directs processing to the appropriate servers. This intermediary layer abstracts the complexity of distributed coordination from the query execution, managing the complexity overhead while enabling scalable storage and processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent adds a new dimension to query processing by introducing a metadata cache layer that stores partitioning information separately from the actual data. This dimensional separation allows the system to efficiently navigate the distributed data structure without increasing processing complexity, as the metadata layer provides a simplified view for query routing across the distributed architecture.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If partitioning is applied to enable selective data access, then query efficiency is improved, but data organization and maintenance complexity increase

Engineering Contradiction:
Improvequery efficiencyVSAvoiddata organization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal partitioning strategy where data is organized by partition keys that serve multiple functions: enabling efficient query routing, supporting parallel processing, and facilitating data maintenance operations. This multi-functional partitioning approach improves query efficiency while reducing organization complexity, as the same partitioning structure serves multiple operational needs rather than requiring separate organization schemes for different operations.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent utilizes parameter changes by dynamically adjusting query parameters based on partition metadata. The system changes the effective search space parameter from the entire data set to specific partition ranges identified through metadata evaluation. This parameter transformation enables efficient query execution on partitioned data without increasing organizational complexity, as the partitioning structure itself provides the mechanism for parameter-based optimization.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10223419B2System and method for predicate pushdown and partition pruning in a distributed database
Publication Date: 2019.03.05 FUTUREWEI TECHNOLOGIES INC
  • US10223419B2 patent drawing
  • US10223419B2 patent drawing
  • US10223419B2 patent drawing

AI summary

The disclosure relates to technology for facilitating query optimization in a distributed data processing system to efficiently and precisely compute predicate push down and partition pruning A query operation is performed to locate data in the data processing system, thereby generating a predicate. Critical points of the predicate are determined based on data stored in the system, and critical point ranges are formed from a sorted sequence of each of the critical points. The predicate is evaluated using the critical points to qualify the critical point ranges, and a reduction is applied to the predicate during partial evaluation to produce reduced predicates on the qualified critical point ranges. The qualified critical point ranges are compared and matched to range partitions of data stored in the distributed system to qualify the range partitions. The reduced predicate is processed against the data in the qualified range partitions to obtain a query result.