Database Proxy Failover for High Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in scaling to meet increasing user demands and are vulnerable to failures in master-slave architectures, leading to service disruptions and complex management due to high connection numbers.

Innovation Solution

Implementing a database system with a first and second compute node, each equipped with a database proxy, where the system monitors for failure events and initiates a failover procedure by redirecting access requests from a failed proxy to a secondary proxy, ensuring continuous service and reduced connection loads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a master-slave architecture is used to scale the database system, then the processing capacity can be increased, but the system becomes vulnerable to failure of individual compute nodes

Engineering Contradiction:
Improveprocessing capacityVSAvoidsystem availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The database system is segmented into multiple independent compute nodes, each capable of handling database access requests autonomously. This segmentation allows the system to scale processing capacity while maintaining reliability, as each node operates independently and can continue serving requests even if other nodes fail.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Multiple compute nodes are merged into a unified database system architecture where nodes can serve both as primary and backup for different user shares. This combining approach enables load distribution across nodes while providing redundancy, thus increasing both processing capacity and system availability simultaneously.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If multiple compute nodes are used to serve different user shares, then the processing capacity scales with user base, but the architecture becomes vulnerable to service failure when individual nodes fail

Engineering Contradiction:
Improveprocessing capacityVSAvoidservice continuity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system pre-configures compute nodes with the capability to serve multiple user shares and implements a sharing mechanism where nodes can be dynamically reassigned. This preliminary preparation ensures that when a node fails, its user shares can be quickly transferred to other nodes without service interruption, maintaining both scalability and reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes the operational parameters of compute nodes based on failure events. When a node fails, the system modifies the configuration to reassign its user shares to other nodes, changing the system state from a vulnerable multi-node architecture to a resilient reconfigured architecture that maintains service continuity.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If a master-slave architecture is implemented, then database access can be facilitated, but the management becomes complex due to large numbers of connections

Engineering Contradiction:
Improvedatabase access facilitationVSAvoidmanagement complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Each compute node is designed with multi-functionality, capable of serving as a primary node for some user shares and as a backup node for others. This universal design simplifies management by eliminating the need for separate master and slave node configurations, reducing connection management complexity while maintaining ease of database access.

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

Solution Approach 2:

The system uses configuration copying where the same compute node software image and configuration templates are replicated across multiple nodes. This copying approach standardizes node management, reducing complexity by ensuring all nodes have identical capabilities and configurations, while still allowing flexible assignment to different user shares.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11567841B1Database system
Publication Date: 2023.01.31 FRESHWORKS INC
  • US11567841B1 patent drawing
  • US11567841B1 patent drawing
  • US11567841B1 patent drawing

AI summary

The present disclosure relates to a method of operating a database system. The database system comprises: a database; a first compute node comprising a first database proxy; and a second compute node comprising a second database proxy. The method comprises receiving and processing, at the first database proxy, a first plurality of access requests to access the database; receiving and processing, at the second database proxy, a second plurality of database access requests to access the database; monitoring for a failure event associated with the first database proxy; and, in response to the monitoring indicating a failure event, initiating a failover procedure between the first database proxy and the second database proxy. The failover procedure comprises: redirecting the first plurality of access requests to the second database proxy; and processing, at the second database proxy, the first plurality of access requests.