Variable-Size Undo Memory Chunk Allocation in DBMS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face inefficiencies in managing undo logs, leading to prolonged data retrieval times and inefficient memory and storage utilization, which affects performance and concurrency.

Innovation Solution

Implementing a method to dynamically allocate variable-sized undo memory chunks for undo information in a database management system, transferring data to persistent storage when a predetermined threshold is reached, to optimize memory usage and enhance concurrency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If undo information is stored in memory with fixed-size chunks, then memory allocation is simple, but memory utilization efficiency deteriorates due to fragmentation and wasted space

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Ease of manufactureVSLoss of energy

Solution Approach 1:

The patent implements dynamic chunk sizing where the size of undo memory chunks is adjusted based on the actual amount of undo information generated by transactions. Instead of allocating fixed-size chunks, the system allocates variable-sized chunks that match the actual storage needs, thereby improving memory utilization efficiency while maintaining allocation simplicity through automated size determination.

Inventive Principle:
Principle #15Dynamics

2Reliability

If undo information is stored in persistent storage, then data durability is improved, but data retrieval time deteriorates due to slower access speeds compared to memory

Engineering Contradiction:
Improvedata durabilityVSAvoiddata retrieval time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments undo information management into two distinct layers: a hot data layer in memory for frequently accessed undo information requiring fast retrieval, and a cold data layer in persistent storage for archival purposes. This segmentation allows the system to maintain data durability through persistent storage while achieving fast data retrieval for active transactions through memory storage, effectively resolving the contradiction between durability and access speed.

Inventive Principle:
Principle #1Segmentation

3Device complexity

If memory is allocated for undo information without dynamic adjustment, then allocation overhead is reduced, but concurrency deteriorates due to memory exhaustion under high transaction loads

Engineering Contradiction:
Improveallocation overheadVSAvoiddatabase concurrency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism that continuously monitors the amount of undo information generated by transactions and the current memory usage state. Based on this feedback, the system dynamically adjusts the size of undo memory chunks and triggers transfer of less frequently accessed undo information to persistent storage. This feedback-driven approach allows the system to maintain high concurrency under varying transaction loads while managing memory resources efficiently without excessive allocation overhead.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11210281B2Technique for log records management in database management system
Publication Date: 2021.12.28 TMAXTIBERO CO LTD
  • US11210281B2 patent drawing
  • US11210281B2 patent drawing
  • US11210281B2 patent drawing

AI summary

Disclosed is a computer program stored in a computer-readable storage medium including encoded commands according to an exemplary embodiment of the present disclosure. When the computer program is executed by one or more processors, the computer program allows the one or more processors to perform a method for managing undo information in a database management system (DBMS). The method may include: forming undo information corresponding to an update request by a first transaction in response to the update request by the first transaction in the database management system (DBMS); determining an undo memory chunk to be allocated to the undo information from an undo memory pool on a memory, the undo memory chunk having a variable size; and maintaining the undo information on a space of the memory by using the determined undo memory chunk.