RLE Query Execution Prioritization in Parallel Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing query optimization techniques in database management systems are inefficient when dealing with compressed data, particularly when using run length encoding (RLE), as they do not effectively prioritize processing of RLE data, leading to suboptimal query execution times.

Innovation Solution

Implementing a query optimizer that recognizes and prioritizes the processing of RLE data on parallel processing systems like GPUs, executing query operations involving RLE data parameters first and optimizing the order of predicate applications to reduce computational costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If existing query optimization techniques are used on compressed data, then general query processing is maintained, but query execution time increases due to inefficient handling of RLE data

Engineering Contradiction:
Improvequery execution timeVSAvoiddata processing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The query optimizer performs preliminary identification of RLE-compressed columns before executing the query plan. By detecting RLE data in advance and preparing optimized execution strategies beforehand, the system avoids time-consuming runtime conversions and directly applies efficient processing methods, thereby reducing overall query execution time

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different processing strategies to different data types within the same query. Specifically, RLE-compressed columns receive specialized optimization treatment (such as RLE-aware join algorithms and predicate pushdown) while non-RLE columns use standard processing methods, allowing each data type to be handled with the most appropriate technique

Inventive Principle:
Principle #3Local quality

2Use of energy by moving object

If RLE data is processed without prioritization, then standard query processing flow is maintained, but computational costs increase

Engineering Contradiction:
Improvecomputational costVSAvoidquery optimization complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The system changes the processing parameters for RLE data by applying RLE-aware algorithms that operate directly on compressed representations. This includes using RLE-safe join algorithms that work with run-length encoded data without full decompression, and optimizing predicate evaluation to leverage the compressed format, thereby reducing computational overhead

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The query optimization process is segmented into distinct phases: RLE column identification, RLE-aware plan generation, and specialized execution. This segmentation allows the system to apply complex optimization techniques only where needed (on RLE columns) while keeping the overall process manageable and modular

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250139098A1System and Method for Accelerating Query Execution
Publication Date: 2025.05.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US20250139098A1 patent drawing
  • US20250139098A1 patent drawing
  • US20250139098A1 patent drawing

AI summary

A method, computer program product, and computing system for optimizing query operations on run length encoding (RLE) data in a parallel processing computing system. Data is received in a plurality of columns of an input table of a parallel processing computing system for query execution; the system determines that at least a portion of the received data in a first number of columns is compressed according to run length encoding (RLE), thereby comprising RLE data columns including RLE data and that the received data in a second number of columns is not compressed according to run length encoding (RLE), thereby comprising non-RLE data columns including non-RLE data. A query operation is executed on the RLE data and the non-RLE data by prioritizing processing of the RLE data columns over processing of the non-RLE data columns.