Converter Branch Pruning for Snapshot Drop Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Dropping database snapshots in an in-memory database system is inefficient due to the need to iterate over multiple converters in parallel, leading to high I/O operations and potential negative impacts on other online operations, as well as prolonged processing times.

Innovation Solution

A method that improves performance by pruning tree branches in converters associated with database snapshots, involving the comparison of physical block numbers in converter streams and skipping subsequent traversal of corresponding subtrees when block numbers are equal, thereby optimizing the drop snapshot operation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple converters are iterated in parallel to compare converter entries, then snapshot dropping correctness is ensured, but I/O operations increase and processing time lengthens

Engineering Contradiction:
Improvesnapshot dropping correctnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts and compares only the critical discriminator (physical block number) from converter entries rather than iterating through entire converter structures. This selective extraction allows correct identification of unique blocks while dramatically reducing processing time and I/O operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the converter iteration process into discrete comparable units (physical block numbers) that can be efficiently compared across converters. By dividing the comparison task into smaller, focused operations on specific block numbers rather than full converter iterations, the system maintains correctness while improving performance.

Inventive Principle:
Principle #1Segmentation

2Reliability

If multiple converters are iterated in parallel to compare converter entries, then snapshot dropping correctness is ensured, but I/O operations increase

Engineering Contradiction:
Improvesnapshot dropping correctnessVSAvoidI/O operations
Core Design Contradiction:
ReliabilityVSObject-generated harmful factors

Solution Approach 1:

The patent extracts only the essential physical block number from converter entries for comparison purposes, avoiding unnecessary reading of other converter data. This extraction approach ensures correct identification of blocks to be dropped while minimizing harmful I/O operations on disk.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If converter size increases, then more snapshot data can be stored, but iteration time increases

Engineering Contradiction:
Improvesnapshot data capacityVSAvoiditeration time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent extracts and compares only physical block numbers from converter entries regardless of converter size. This approach allows the system to handle larger snapshot data capacities while maintaining constant-time comparison operations, as the extraction and comparison of block numbers does not scale with overall converter size.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11657046B1Performant dropping of snapshots by converter branch pruning
Publication Date: 2023.05.23 SAP SE
  • US11657046B1 patent drawing
  • US11657046B1 patent drawing
  • US11657046B1 patent drawing

AI summary

Computer-readable media, methods, and systems are disclosed for improving performance when dropping database snapshots in an in-memory database by pruning tree branches in one or more converters associated with a snapshot of an in-memory database. A request to compare at least two database snapshots is received. Physical pages associated with at least one of the two database snapshots are loaded. First and second converter streams are iterated. Physical block numbers of intermediate converter pages to which the first and second converter streams currently point are compared. If the physical page numbers are all non-equal, the physical pages referenced by the second converter stream are set to free. If any of the physical page numbers are equal, subsequent traversal of a corresponding converter subtree in the first and second converter streams may be skipped to improve performance.