Volatile Database Caching for Crash Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Combined transactional and analytical database management systems face significant overhead due to the need for maintaining persistent recovery logs, which slows down processing and performance, especially in systems like the IBM DB2 Analytics Accelerator (IDAA) architecture.

Innovation Solution

A method for crash recovery in linked databases that synchronizes selected portions of the source database content with the target database using a recovery log file, eliminating the need for the target database to maintain its own transaction and recovery logs, and allowing queries to be redirected or delayed during recovery, optimizing performance by leveraging the source database's logs for reconstruction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the target database maintains its own transaction and recovery logs to ensure ACID properties, then reliability is improved, but device complexity and processing overhead increase significantly

Engineering Contradiction:
ImproveACID property guaranteeVSAvoidlogging overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the logging function from the target database (accelerator) and centralizes it in the source database (mainframe). The target database no longer maintains its own recovery logs, instead relying on the source database's logs for crash recovery. This eliminates the dual logging overhead while preserving ACID properties through the source database's logging mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The source database's logging system serves a dual purpose: it logs transactions for the source database itself and simultaneously provides recovery information for the target database. This universal logging approach eliminates redundant logging infrastructure in the target database while maintaining recovery capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If data is synchronized incrementally from source to target database, then data freshness is improved, but processing speed deteriorates due to continuous logging requirements

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent removes the logging overhead from the data synchronization path. By extracting the logging function to the source database only, incremental data changes can be propagated to the target database without the performance penalty of writing to separate target database logs, thus improving processing speed while maintaining consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If the target database uses persistent storage to maintain recovery logs, then crash recovery capability is improved, but performance degradation occurs due to slow disk I/O

Engineering Contradiction:
Improvecrash recovery capabilityVSAvoidprocessing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the persistent logging storage requirement from the target database. The target database operates with in-memory data structures without maintaining persistent recovery logs, achieving high performance. Crash recovery capability is preserved by relying on the source database's persistent logs, which are accessed only when needed for recovery, not during normal processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11500733B2Volatile database caching in a database accelerator
Publication Date: 2022.11.15 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11500733B2 patent drawing
  • US11500733B2 patent drawing
  • US11500733B2 patent drawing

AI summary

A computer-implemented method for a crash recovery for linked databases may be provided. The linked databases comprise a source database and a related target database, and selected portions of content of tables of the source database are synchronized with respective portions of the content of the tables of the target database. Thereby, selected queries against a database management system comprising the source database are transferred to a database management system comprising the target database for processing. And the method also comprises synchronizing the portions of the content of the selected tables in the target database with the portions of the content of the selected tables in the source database by reading entries of a recovery log file relating to the source database and applying the read entries to the target database.