Parallel Uncompression of Partially Compressed Database Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face performance limitations when querying partially compressed tables, as they require the entire table to be uncompressed, incurring significant processor overhead and restricting the use of compression due to the inability to perform parallel uncompression of compressed portions during query execution.

Innovation Solution

A multiprocessing uncompression mechanism that leverages existing parallelism in database systems to dynamically uncompress portions of a partially compressed database table in parallel, using historical information and user-specified parameters to determine the appropriate number of tasks for parallel processing, thereby improving query performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the entire database table is uncompressed to allow querying, then query access is enabled, but processor overhead increases significantly and query performance decreases

Engineering Contradiction:
Improvequery accessVSAvoidquery performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent divides the database table into compressed and uncompressed portions, allowing queries to access only the necessary uncompressed data segments rather than requiring full table uncompression. This segmentation enables selective uncompression based on query requirements, improving both access efficiency and performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial uncompression of the database table, uncompressing only the portions of data needed for the current query rather than the entire table. This partial action reduces processor overhead while maintaining query functionality, directly addressing the performance bottleneck.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If the entire database table is uncompressed, then all data becomes accessible, but the cost in processor overhead becomes significant

Engineering Contradiction:
Improvedata accessibilityVSAvoidprocessor overhead
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The database table is segmented into compressed and uncompressed portions, allowing the system to maintain data accessibility for queried segments while avoiding the processor overhead of uncompressing the entire table. Each segment can be independently managed based on access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the database table have different compression states - frequently accessed portions remain uncompressed while less accessed portions stay compressed. This local quality differentiation optimizes the balance between data accessibility and processor resource consumption.

Inventive Principle:
Principle #3Local quality

3Productivity

If parallel uncompression is implemented, then uncompression speed increases, but system complexity increases

Engineering Contradiction:
Improveuncompression speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The uncompression process is divided into multiple parallel tasks that operate on different segments of the database table simultaneously. This segmentation enables parallel processing to increase uncompression speed while managing system complexity through structured task division.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7747585B2Parallel uncompression of a partially compressed database table determines a count of uncompression tasks that satisfies the query
Publication Date: 2010.06.29 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7747585B2 patent drawing
  • US7747585B2 patent drawing
  • US7747585B2 patent drawing

AI summary

A multiprocessing uncompression mechanism takes advantage of existing multiprocessing capability within a database to perform dynamic uncompression of portions of a partially compressed database table that satisfy a query using processes that may be executed in parallel. Historical information is gathered for each query. Uncompression advice includes user-specified parameters that determine how the multiprocessing uncompression mechanism functions. The multiprocessing uncompression mechanism processes the historical information and uncompression advice to determine an appropriate task count for performing uncompression in parallel processes. The existing multiprocessing capability within the database then processes the tasks that perform the uncompression in parallel.