Parallel Query Optimization via Semantic-Based Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems face inefficiencies in handling large data sets, particularly with complex SQL operations like joins, unions, and grouping, as existing partitioning strategies are limited and require data partitioning, which is not feasible for all operations.

Innovation Solution

A system and methodology for parallel query optimization using semantic-based partitioning, which dynamically partitions data during query processing, allowing for concurrent execution of subtasks across multiple resources without pre-partitioning the database tables, and generates optimal execution plans by selecting subplans with favorable execution costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing partitioning strategies are used, then data can be divided for processing, but they require pre-partitioning of database tables which is not feasible for all operations

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidapplicability to different SQL operations
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic partitioning where data is partitioned at query execution time rather than requiring static pre-partitioning of tables. The partitioning strategy adapts based on the specific query being executed, the available resources, and the data characteristics, allowing the system to handle diverse SQL operations including joins, unions, and grouping without requiring predetermined table partitioning schemes

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the query processing task by dynamically dividing the data into multiple partitions during query execution. This segmentation allows parallel processing of complex SQL operations by splitting the workload across multiple processors or nodes, achieving improved query performance without requiring the data to be pre-partitioned into fixed segments

Inventive Principle:
Principle #1Segmentation

2Speed

If parallel processing is implemented, then query execution speed improves, but system complexity increases

Engineering Contradiction:
Improvequery execution speedVSAvoidsystem architecture complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent introduces a query optimizer as an intermediary component that automatically manages the complexity of parallel processing. This optimizer analyzes incoming queries, determines the optimal partitioning strategy, generates appropriate execution plans, and coordinates the parallel execution across multiple processors. By centralizing these complex decisions in a dedicated optimizer module, the system achieves parallel query execution speed improvements while shielding users and application logic from the underlying system complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If data is dynamically partitioned during query processing, then parallel execution is enabled, but additional processing overhead is introduced

Engineering Contradiction:
Improveparallel query processing capabilityVSAvoidquery optimization overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary analysis during the query optimization phase to determine the most beneficial partitioning strategy before execution begins. The optimizer evaluates query characteristics, data distribution, and resource availability to pre-determine optimal partition boundaries and execution plans. This preliminary action allows the system to minimize runtime overhead by avoiding dynamic decision-making during actual query execution, thus enabling parallel processing while reducing the time loss associated with optimization

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8126870B2System and methodology for parallel query optimization using semantic-based partitioning
Publication Date: 2012.02.28 SYBASE INC
  • US8126870B2 patent drawing
  • US8126870B2 patent drawing
  • US8126870B2 patent drawing

AI summary

A system and methodology for parallel query optimization using semantic-based partitioning is described. In one embodiment, for example, in a database system comprising a database storing data in database tables, a method is described for improving query performance by dynamically partitioning the data, the method comprises steps of: receiving a query requesting data from the database; generating a plurality of subplans for executing the query, each subplan including one or more operators for performing relational operations; adding operators for partitioning data and performing a given relational operation in parallel to at least some of the plurality of subplans; and building a plan for execution of the query based, at least in part, upon selecting subplans having favorable execution costs.