Workload-Aware Data Encoding for Database Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face challenges in efficiently accessing and processing large data sets due to limitations in volatile memory, where not all data can be cached, leading to performance penalties from disk storage access and wasteful data shuffling, and distributed systems introduce network latency.

Innovation Solution

A workload-aware data encoding technique that determines the optimal encoding format for data portions based on query workloads using machine learning models to minimize performance costs and maximize benefits, allowing for dynamic switching between original and mirror formats to reduce decoding overhead and network latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is compressed with high encoding before storing in volatile memory, then more data can be cached in volatile memory, but frequent decoding operations consume compute resources and slow down data operations

Engineering Contradiction:
Improveamount of data cached in volatile memoryVSAvoiddata operation speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by selectively encoding only specific data portions (columns or partitions) that benefit most from compression, rather than uniformly encoding all data. The system evaluates each data portion's compressibility and access patterns, then applies encoding only where it provides net benefit, thereby maintaining high data operation speed for frequently accessed uncompressed data while maximizing cache capacity for compressible data.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics by dynamically adjusting encoding strategies based on workload characteristics and data access patterns. The system monitors query workloads and automatically reconfigures which data portions are encoded, allowing it to adapt to changing conditions and optimize the balance between cache capacity and operation speed in real-time.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If data is frequently accessed from disk storage, then operations can be performed on the data, but reading data from disk storage incurs significant performance penalty compared to data in volatile memory

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata operation performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies preliminary action by proactively identifying data that is likely to be accessed and pre-loading it into volatile memory based on predicted access patterns. The system analyzes query workloads to predict which data portions will be needed and prepares them in advance in volatile memory, thereby avoiding the performance penalty of disk reads when actual access occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements self-service by automatically managing data caching decisions without manual intervention. It monitors access patterns, predicts future needs, and autonomously decides which data to cache in volatile memory, thereby improving data accessibility and performance while reducing the operational burden.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If distributed systems are used to increase volatile memory capacity, then more data can be stored, but network latency increases due to data transfer overhead

Engineering Contradiction:
Improvetotal volatile memory capacityVSAvoidnetwork latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies segmentation by dividing data into distinct portions and strategically placing them across distributed memory resources. Instead of treating distributed memory as a monolithic pool, the system segments data placement decisions based on access patterns and workload requirements, keeping frequently accessed data in local volatile memory and using distributed storage only when necessary, thereby minimizing network latency.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If volatile memory is at full capacity and data replacement is performed, then more data can be loaded from disk storage, but computing resources are wastefully spent on shuffling data in and out of volatile memory

Engineering Contradiction:
Improvememory capacity utilizationVSAvoidcomputing resources spent on data shuffling
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent implements feedback by continuously monitoring data access patterns and cache performance metrics, then using this information to optimize data retention decisions. The system learns from actual workload behavior and adjusts which data portions to keep in volatile memory versus replace, thereby minimizing unnecessary data shuffling and the associated energy waste while maintaining effective memory capacity utilization.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11907250B2Workload-aware data encoding
Publication Date: 2024.02.20 ORACLE INT CORP
  • US11907250B2 patent drawing
  • US11907250B2 patent drawing
  • US11907250B2 patent drawing

AI summary

Techniques are described for executing machine learning models trained for specific operators with feature values that are based on the actual execution of a workload set. The machine learning models generate an estimate of benefit gain/cost for executing operations on data portions in the alternative encoding format. Such data potions may be sorted based on the estimated benefit, in an embodiment. Using cost estimation machine learning models for memory space, the data portions with the most benefits that comply with the existing memory space constraints are recommended and/or are automatically encoded into the alternative encoding format.