Floating-Point Compression Using Scaled Integer Encoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face inefficiencies in data storage and retrieval, particularly when handling large amounts of floating-point data, as existing methods do not effectively scale or encode these values for efficient compression and query processing.

Innovation Solution

A system that determines a scale value for floating-point data, converts it to integer representations, and applies an integer encoding scheme to encode and store the data, allowing for efficient compression and query processing by employing favorable encoding and compression schemes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If floating-point values are stored directly in database systems, then the data can be processed with high precision, but the storage space required is large and query processing is inefficient

Engineering Contradiction:
Improvefloating-point precisionVSAvoidstorage space
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent transforms floating-point values into integer values by applying a scale factor, changing the data representation parameter from floating-point to integer format. This parameter change enables more efficient storage and compression while maintaining the ability to recover the original precision through the stored scale factor

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces a scale factor as an intermediary element that mediates between the original floating-point values and their integer representations. The scale factor allows conversion to compact integer format for storage while enabling accurate recovery of the original floating-point precision when needed for queries

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If floating-point values are stored directly in database systems, then the data maintains its original format, but query processing speed is slow

Engineering Contradiction:
Improvedata format maintenanceVSAvoidquery processing speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent performs preliminary scaling and integer conversion during the data storage phase, before queries are executed. By pre-transforming floating-point values to integers and storing the scale factor, the system prepares the data in an optimized format that enables faster query processing without sacrificing the ability to maintain original precision when needed

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If floating-point values are compressed using existing methods, then some storage space is saved, but the compression and decompression efficiency is insufficient

Engineering Contradiction:
Improvestorage space reductionVSAvoidcompression efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent changes the data type parameter from floating-point to integer representation, which fundamentally alters how the data can be compressed. Integer values enable more efficient compression algorithms to be applied, achieving better compression ratios and faster compression/decompression speeds compared to existing floating-point compression methods

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11138151B2Compression scheme for floating point values
Publication Date: 2021.10.05 SAP SE
  • US11138151B2 patent drawing
  • US11138151B2 patent drawing
  • US11138151B2 patent drawing

AI summary

Some embodiments provide a non-transitory machine-readable medium that stores a program. The program determines a scale value based on a plurality of floating point values. The program further scales the plurality of floating point values based on the scale value. The program also converts the plurality of floating point values to a plurality of integer values. The program further determines an integer encoding scheme from a plurality of integer encoding schemes. The program also encodes the plurality of integer values based on the determined integer encoding scheme.