Compression Units in Relational Database Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database storage methods face inefficiencies in managing large datasets due to limitations in data block size and compression techniques, which can lead to increased storage needs and reduced performance when handling extensive data.

Innovation Solution

The implementation of compression units that allow for the storage of compressed data across multiple data blocks, using metadata to manage and decompress only the necessary portions of data, maintaining compatibility with existing database formats and optimizing storage efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is stored in fixed-size data blocks, then storage structure is simple and access is efficient, but storage efficiency decreases when data does not fill entire blocks

Engineering Contradiction:
Improvestorage efficiencyVSAvoidstorage structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides a data block into multiple compression units, each capable of storing compressed data from one or more rows. This segmentation allows flexible allocation of space within a data block, enabling efficient storage of variable-sized compressed data without wasting space, while maintaining the overall simple data block structure for efficient access.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If compression is applied to reduce storage size, then storage requirements decrease, but decompression complexity and processing time increase

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

Solution Approach 1:

By organizing compressed data into discrete compression units within data blocks, the patent enables selective decompression of only the necessary portions. The compression unit structure includes metadata that facilitates targeted decompression operations, reducing overall decompression complexity compared to decompressing entire data blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables decompression of only the specific compression units containing required data rather than decompressing entire data blocks. This partial action approach reduces processing time and complexity while maintaining storage efficiency benefits of compression.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If entire data blocks are retrieved for access, then data access is simple, but unnecessary data is retrieved increasing I/O operations

Engineering Contradiction:
Improvedata access simplicityVSAvoidI/O operations
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent segments data blocks into compression units with associated metadata that enables the database system to identify and retrieve only the specific compression units containing required data. This maintains simple data access operations while reducing I/O operations by avoiding retrieval of unnecessary data blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary compression units from data blocks for retrieval and processing. The metadata structure enables identification and extraction of specific compression units containing required data, eliminating the need to retrieve entire data blocks and reducing unnecessary I/O operations.

Inventive Principle:
Principle #2Taking out (Extraction)

4Adaptability or versatility

If compression units are stored across multiple data blocks, then storage flexibility increases, but data retrieval complexity increases

Engineering Contradiction:
Improvestorage flexibilityVSAvoiddata retrieval complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments compression units into manageable portions that can be distributed across multiple data blocks. Each data block contains metadata identifying the compression units it stores, enabling efficient location and retrieval of complete compression units even when spanned across blocks, maintaining storage flexibility while managing retrieval complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11520743B2Storing compression units in relational tables
Publication Date: 2022.12.06 ORACLE INT CORP
  • US11520743B2 patent drawing
  • US11520743B2 patent drawing
  • US11520743B2 patent drawing

AI summary

A database server stores compressed units in data blocks of a database. A table (or data from a plurality of rows thereof) is first compressed into a “compression unit” using any of a wide variety of compression techniques. The compression unit is then stored in one or more data block rows across one or more data blocks. As a result, a single data block row may comprise compressed data for a plurality of table rows, as encoded within the compression unit. Storage of compression units in data blocks maintains compatibility with existing data block-based databases, thus allowing the use of compression units in preexisting databases without modification to the underlying format of the database. The compression units may, for example, co-exist with uncompressed tables. Various techniques allow a database server to optimize access to data in the compression unit, so that the compression is virtually transparent to the user.