In-Memory Cache Failover for Database High Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database systems are susceptible to single points of failure due to network issues or hardware failures, leading to increased downtime and reduced availability, and require costly redundant hardware for backup.

Innovation Solution

Implementing an in-memory cache as a database at the application layer to serve as a backup, pre-populating it with predicted user data, and switching to this cache when the primary database goes offline, thus eliminating the need for additional hardware and ensuring continuous system availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a cluster of storage nodes is set up to eliminate single point of failure, then system availability is improved, but hardware cost and operational complexity increase

Engineering Contradiction:
Improvesystem availabilityVSAvoidhardware complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The in-memory cache server performs multiple functions: it serves as both a performance optimization cache and a backup database. When the primary database is accessible, the cache improves read performance by serving cached data. When the database becomes unavailable, the same cache infrastructure automatically transitions to serve as the backup database, eliminating the need for separate standby hardware.

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

Solution Approach 2:

The system implements automatic failover detection and switching without requiring manual intervention or complex orchestration. The application server continuously monitors database availability and automatically switches between primary database and cache-based backup mode, then automatically synchronizes data back when the primary database recovers, making the failover process self-managing.

Inventive Principle:
Principle #25Self-service

2Reliability

If additional hardware is added to act as failover nodes, then reliability is improved, but cost increases

Engineering Contradiction:
Improvedatabase availabilityVSAvoidhardware resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The in-memory cache server performs multiple functions: it serves as both a performance optimization cache and a backup database. When the primary database is accessible, the cache improves read performance by serving cached data. When the database becomes unavailable, the same cache infrastructure automatically transitions to serve as the backup database, eliminating the need for separate standby hardware.

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

Solution Approach 2:

Instead of maintaining expensive redundant hardware copies of the database, the system creates a functional copy using the existing in-memory cache infrastructure. The cache maintains a copy of frequently accessed data that can serve as a functional backup, providing database availability without the cost of duplicating full database hardware.

Inventive Principle:
Principle #26Copying

3Reliability

If the database goes down due to network issues or hardware failure, then system downtime increases, but this is the conventional behavior that needs to be changed

Engineering Contradiction:
Improvecontinuous availabilityVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-populating the in-memory cache with database data during normal operation. This preparation ensures that when the primary database fails, the cached data is already available in memory and can immediately serve requests, eliminating the downtime that would otherwise occur while attempting to restore database connectivity or activate backup systems.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The in-memory cache acts as an intermediary layer between the application and the primary database. When the database becomes unavailable, this intermediary automatically intercepts database requests and serves them from cached data, preventing the application from experiencing downtime. The intermediary handles the failover transparently without requiring application changes or user awareness.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12547545B2System and method for supporting high availability by using in-memory cache as a database
Publication Date: 2026.02.10 ORACLE INT CORP
  • US12547545B2 patent drawing
  • US12547545B2 patent drawing
  • US12547545B2 patent drawing

AI summary

Systems, methods, and other embodiments for supporting high availability by using in-memory cache as a database are disclosed. In one embodiment, a system includes an application server that is configured to select a sub-set of data from a remote database that is predicted to be accessed by an application server, wherein the application server includes an in-memory cache. The sub-set of data is reformatted to reduce the size. The in-memory cache is configured to act as a backup database by pre-populating the reformatted sub-set of data into the in-memory cache. In response to detecting the remote database is in an off-line state: the in-memory cache is assigned as a primary database to replace the remote database and subsequent data requests are re-directed from being processed using the remote database to being processed using the in-memory cache.