OLTP Database Block Compression Without Slowing Transactions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database management systems (DBMS) for online transaction processing (OLTP) cannot efficiently compress data due to the real-time nature of transactions, which makes compression delay response times and is not feasible for OLTP systems, unlike bulk load operations where data is readily available for compression.

Innovation Solution

Implementing a method where database blocks are initially filled with uncompressed data until a predetermined condition is met, allowing for periodic compression and re-compression, enabling real-time OLTP transaction processing without performance degradation, and utilizing separate transactions for compression to maintain responsiveness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is compressed in real-time during OLTP transactions, then storage efficiency is improved, but transaction response time deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidtransaction response time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The system performs compression in advance during bulk load operations before OLTP transactions begin. Data is compressed and stored in a compressed format in the database, so that when OLTP transactions occur, the data is already compressed and no real-time compression is needed during transaction processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system separates compression operations from transaction operations by using different transactions: bulk load transactions handle compression while OLTP transactions handle data access. This segmentation allows compression to occur independently without impacting transaction performance.

Inventive Principle:
Principle #1Segmentation

2Speed

If data is stored uncompressed, then transaction processing speed is improved, but storage space utilization deteriorates

Engineering Contradiction:
Improvetransaction processing speedVSAvoidstorage space utilization
Core Design Contradiction:
SpeedVSVolume of stationary object

Solution Approach 1:

Data is compressed in advance during bulk load operations before OLTP transactions begin. The compression is performed as a preliminary action, so that when OLTP transactions occur, the data is already in compressed form and can be accessed without additional compression overhead.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If compression is performed during every OLTP transaction, then storage efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system separates compression operations from transaction operations by using different transactions: bulk load transactions handle compression while OLTP transactions handle data access. This segmentation simplifies the system architecture by avoiding the need to integrate compression logic into every transaction path.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of compressing data in every OLTP transaction, the system performs compression only during bulk load operations. This partial action approach reduces system complexity while still achieving storage efficiency goals for the data that is compressed.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8943029B2On-line transaction processing (OLTP) compression and re-compression of database data
Publication Date: 2015.01.27 ORACLE INT CORP
  • US8943029B2 patent drawing
  • US8943029B2 patent drawing
  • US8943029B2 patent drawing

AI summary

A computer is programmed to compress data of a database in response to database modification language (DML) statements generated by on-line transaction processing (OLTP) systems. In several embodiments, data that is initially added to a database block is left uncompressed until a predetermined condition is satisfied, which happens infrequently (relative to OLTP transactions on the block). When satisfied, the computer automatically compresses all uncompressed data in the block, which increases the amount of unused space in the block. New data is thereafter added uncompressed to the partially compressed block, until satisfaction of a predetermined condition whereby the partially compressed block is again compressed, i.e. re-compressed. Adding of new data to a partially compressed block and its compression are repeated unless another predetermined condition is met, in response to which the block is not further re-compressed, thereby to recognize a limit on the benefit from compression.