Database Failover via Abstraction Layer and Replication Locks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Failover operations in replicated distributed database systems often result in data inconsistencies and prolonged downtime due to the need to completely transfer current data to a new cluster, leading to potential information loss and outdated or erroneous data access.

Innovation Solution

A method and system that block new access requests to the original database cluster, complete any ongoing requests, wait for data replication to a secondary cluster, and then allow access to the new cluster, utilizing a database abstraction layer and lock servers to manage the failover process and ensure access invariance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data is completely transferred from the original distributed database cluster to the new cluster during failover, then data consistency is improved, but failover time increases substantially

Engineering Contradiction:
Improvedata consistencyVSAvoidfailover time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by continuously replicating data changes from the original distributed database cluster to the new cluster before the failover operation is initiated. This ongoing replication ensures that when failover occurs, the new cluster already contains most current data, eliminating the need for a complete data transfer after switching clusters. The replication process runs in advance, so when the failover trigger occurs, only minimal additional synchronization is needed, dramatically reducing failover time while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If software processes are forced to abort and restart during failover, then access to the original cluster is stopped, but service disruption increases

Engineering Contradiction:
Improveaccess controlVSAvoidservice disruption
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of a database abstraction layer that sits between software processes and the distributed database cluster. This abstraction layer intercepts access requests and manages the failover process transparently. When failover is triggered, the abstraction layer redirects access to the new cluster without forcing software processes to abort or restart. The intermediary handles the cluster switching at a lower level, allowing applications to continue operating with minimal awareness of the underlying infrastructure change, thereby reducing service disruption.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of information

If data replication is ongoing during failover, then data freshness is improved, but risk of data loss during transition increases

Engineering Contradiction:
Improvedata freshnessVSAvoiddata integrity during transition
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent implements feedback mechanisms through lock servers that continuously monitor the replication status between the original and new distributed database clusters. These lock servers track which data changes have been successfully replicated and provide real-time feedback on replication progress. During failover, this feedback information is used to determine when it is safe to switch clusters - only after confirming that all necessary data changes have been replicated. This feedback-driven approach ensures data freshness while maintaining data integrity during the transition, as the system waits for replication confirmation before completing the failover.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8856583B1Failover operation on a replicated distributed database system while maintaining access invariance
Publication Date: 2014.10.07 GOOGLE LLC
  • US8856583B1 patent drawing
  • US8856583B1 patent drawing
  • US8856583B1 patent drawing

AI summary

Systems and methods are disclosed herein for performing a failover operation between a first distributed database cluster and a second distributed database cluster. In one aspect, the method includes blocking a plurality of software processes from making any new access requests to the first distributed database cluster and completing a current access request to the first distributed database cluster that was initiated by one of the plurality of software processes before the failover operation was initiated, waiting for data to replicate from the first distributed database cluster to the second distributed database cluster, wherein replicating includes any changes to the data from the current access request, and allowing the plurality of software processes to make the new access requests to the second distributed database cluster once the replicating has completed.