Bounded Redo Log for In-Memory Table Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Standard redo logs in computer systems are unbounded, leading to complex and error-prone garbage collection processes, which are inefficient in managing the size of redo log entries for in-memory table restoration.

Innovation Solution

Implementing a bounded redo log using a circular queue or circular buffer structure, where updates are logged in a cached redo log segment with separate regions for recent and historical entries, and flushing to disk when size thresholds are reached, ensuring a finite number of entries for efficient persistence.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a standard redo log is used to restore the in-memory table state, then the restoration capability is provided, but the redo log size becomes unbounded leading to complex and error-prone garbage collection

Engineering Contradiction:
Improverestoration capabilityVSAvoidgarbage collection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The redo log is divided into fixed-size segments that are written sequentially to persistent storage. Each segment has a predetermined size, creating natural boundaries that simplify management and eliminate the need for complex garbage collection. The segmentation principle is applied by dividing the continuous redo log into discrete, manageable units with fixed capacities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the size parameter of the redo log from unbounded to bounded by implementing fixed-size segments. This parameter change transforms the redo log structure into a manageable form where each segment has a defined capacity, preventing unbounded growth and simplifying the restoration process while maintaining reliability.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If redo log entries are retained to ensure complete restoration, then restoration accuracy is improved, but storage space is consumed

Engineering Contradiction:
Improverestoration accuracyVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary actions by writing redo log segments to persistent storage at fixed intervals before they are needed for restoration. This preliminary action ensures that sufficient restoration information is already available on disk without requiring all possible redo log entries to be retained in memory, thus balancing restoration accuracy with storage efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the essential restoration information into fixed-size segments that are stored on persistent storage. By taking out only the necessary redo log entries into these bounded segments, the system maintains restoration accuracy while preventing excessive consumption of storage space that would occur with unbounded redo logs.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the redo log size is increased to capture all changes, then completeness of restoration is improved, but the complexity of managing the log increases

Engineering Contradiction:
Improvecompleteness of restorationVSAvoidlog management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The redo log management complexity is reduced by segmenting the log into fixed-size units. Each segment is independently managed with clear boundaries, simplifying the tracking and management processes. This segmentation allows the system to maintain complete restoration information while avoiding the complexity of managing a single large unbounded log.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies parameter changes by transforming the redo log from an unbounded structure to a bounded segmented structure. This parameter change fundamentally simplifies log management by introducing fixed size constraints, making it easier to track, manage, and restore data while maintaining completeness through the segmented architecture.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9892004B2Space efficient persistence of an in-memory table
Publication Date: 2018.02.13 VMWARE INC
  • US9892004B2 patent drawing
  • US9892004B2 patent drawing
  • US9892004B2 patent drawing

AI summary

Techniques for efficiently storing the state of an in-memory table to persistent storage are described. In one embodiment, one or more requests to update an entry in an in-memory table with one or more values are received, wherein the in-memory table is stored in non-persistent memory. The one or more entries in the in-memory table are then updated with the one or more values and one or more recent redo log entries that correspond to the one or more entries and one or more values are generated. One or more historical entries in the table are selected and one or more historical redo log entries that correspond to the one or more historical entries are generated. The recent redo log entry and the one or more historical redo log entries are saved to a bounded redo log, wherein the bounded redo log is stored in persistent storage.