Secondary Storage Cache Eviction Notifications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud-based database management systems, failover to a secondary storage server after a primary storage server failure leads to performance degradation due to empty caches and latency, as the secondary server services requests from slow-access persistent storage, and recovery of the primary server results in outdated or partially empty caches, affecting database management system and client performance.

Innovation Solution

Implementing a notification-based system where the secondary storage server receives eviction notifications from the primary server to load evicted data from persistent storage into its cache, reducing I/O operations and maintaining performance during failover and recovery by keeping caches warmed up with frequently accessed data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the secondary storage server is kept in synch with the primary storage server to ensure redundancy, then reliability is improved, but the secondary server's cache becomes empty during normal operation causing performance degradation during failover

Engineering Contradiction:
ImproveredundancyVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by having the secondary storage server proactively load and cache data from persistent storage before failover occurs. When the primary server is operational, the secondary server continuously pre-loads data into its cache, so that when failover happens, the cache is already populated and ready to service requests immediately, eliminating the performance degradation that would otherwise occur during failover.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the secondary storage server continuously caches data to maintain performance readiness, then productivity is improved, but I/O operations and system complexity increase

Engineering Contradiction:
Improveperformance readinessVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms where the secondary storage server receives notifications from the primary server about data evictions and cache status. Based on this feedback, the secondary server intelligently adjusts its data loading behavior, loading only the necessary data into cache rather than continuously caching all data, thereby maintaining performance readiness while controlling I/O operations and system complexity.

Inventive Principle:
Principle #23Feedback

3Reliability

If the primary storage server recovers and resumes operations, then reliability is improved, but the cache may be outdated or partially empty causing another performance setback

Engineering Contradiction:
ImproverecoveryVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system uses copying mechanisms where the secondary storage server maintains a copy of frequently accessed data in its cache while the primary server is operational. When the primary server recovers, instead of the cache being empty or outdated, the secondary server's pre-loaded cache copies are available to immediately service requests, preventing performance setbacks during recovery.

Inventive Principle:
Principle #26Copying

4Productivity

If eviction notifications are sent to the secondary server to load evicted data into cache, then productivity during failover is improved, but device complexity and I/O operations increase

Engineering Contradiction:
Improvefailover performanceVSAvoidnotification system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system introduces an intermediary notification mechanism where the primary storage server sends eviction notifications to the secondary server. This intermediary communication channel allows the secondary server to know which data to load into cache without requiring complex direct synchronization protocols, thereby improving failover performance while keeping the added complexity manageable through a standardized notification interface.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3861451B1Secondary storage server caching
Publication Date: 2022.12.14 ORACLE INT CORP
  • EP3861451B1 patent drawingFigure 1
  • EP3861451B1 patent drawingFigure 2
  • EP3861451B1 patent drawingFigure 3

AI summary

Techniques related to failover to the secondary storage server from a primary storage server of a database server without degrading the performance of servicing storage requests for client applications are provided. The secondary storage server's memory hierarchy includes a secondary cache and secondary persistent storage that stores copies of data blocks also stored on the primary storage server. In an embodiment, the primary storage forwards to the secondary storage cache eviction notification(s). The secondary storage loads the blocks set(s) referenced in the primary eviction notifications into the secondary cache from the secondary storage. After an interruption event, the second storage server's cache is up to date as of the last evicted block(s) from the primary cache and thus may retrieve blocks from the secondary cache avoiding retrieving those from the secondary persistent storage.