In-Memory Database Invalidation Buffer for Consistent Read Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The overhead associated with converting temporal clones to row identifiers in database systems for identifying invalid items during past-state consistent-read queries is significant, especially as the size of the bitmap increases, leading to inefficient processing.

Innovation Solution

Caching row identifiers in an invalidation buffer instead of temporal clones allows direct identification of invalid rows, bypassing the conversion overhead and improving query efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If temporal clones are used to identify invalid items in IMCU, then memory usage is reduced, but conversion overhead to row identifiers increases significantly

Engineering Contradiction:
Improvememory usageVSAvoidconversion overhead
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent pre-computes and stores the mapping between temporal clones and row identifiers in a caching structure before queries are executed. This preliminary action eliminates the need to perform conversion during query processing, directly resolving the contradiction by reducing conversion overhead while maintaining efficient memory usage through the compact caching structure.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If temporal clones are converted to row identifiers for each query, then accurate invalid item identification is achieved, but query processing time increases

Engineering Contradiction:
Improveinvalid item identification accuracyVSAvoidquery processing speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The mapping between temporal clones and row identifiers is pre-computed and cached before query execution, so that during query processing, the system can directly use the cached mapping without performing conversion operations. This maintains accurate invalid item identification while eliminating the conversion time penalty.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a cached copy of the temporal clone to row identifier mapping relationship. This copy allows the system to avoid repeatedly performing the conversion operation during each query, thus maintaining measurement precision while significantly improving query processing speed.

Inventive Principle:
Principle #26Copying

3Reliability

If bitmap size increases to cover more rows, then coverage of invalid items improves, but conversion complexity increases

Engineering Contradiction:
Improveinvalid item detection coverageVSAvoidconversion complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent pre-computes the mapping between temporal clones and row identifiers and stores it in a caching structure. This preliminary computation handles the complexity of large bitmaps once, rather than during each query, thereby maintaining reliable invalid item detection coverage while reducing conversion complexity during query processing.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10437688B2Enhancing consistent read performance for in-memory databases
Publication Date: 2019.10.08 ORACLE INT CORP
  • US10437688B2 patent drawing
  • US10437688B2 patent drawing
  • US10437688B2 patent drawing

AI summary

Techniques are described for maintaining coherency of a portion of a database object mirrored in a particular node of a database. The techniques involve maintaining invalidation logs which identify transactions that have committed to a database. Based on the invalidation logs, the particular node generates invalid-row ID metadata which identifies, for each system change number, one or more rows that are not transactionally consistent with data stored in the database object as of said system change number.