Dynamic Database Node Discovery via Message Broker

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed database systems, clients face challenges in determining the primary database node among multiple replication hosts to ensure consistent data access, especially when the primary node changes due to errors, failures, or maintenance, without maintaining any state or registry.

Innovation Solution

A database status identification platform dynamically discovers database nodes and their replication states within a cloud environment by querying metadata via an API, establishing connections with each node, and providing the necessary information to clients, allowing them to identify and connect to the appropriate primary node in real-time without maintaining any state or registry.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a client maintains state or registry of database nodes to determine the primary node, then the client can reliably identify the primary database node, but the system complexity and resource consumption increase

Engineering Contradiction:
Improveprimary node identification reliabilityVSAvoidclient state management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The database nodes autonomously publish their own status information to the topic exchange without requiring client-side state management. Each node self-advertises its role (primary/replica) and availability, allowing clients to passively receive updates without maintaining registries or state about node configurations

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

A message broker with topic exchange acts as an intermediary between database nodes and clients. The broker receives status publications from nodes and delivers them to clients, eliminating the need for direct client-node state management while ensuring reliable primary node identification through published status information

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the system dynamically discovers database nodes without maintaining state, then the system scalability and ease of operation improve, but the difficulty of detecting and measuring node status increases

Engineering Contradiction:
Improvedynamic node discovery capabilityVSAvoidnode status detection difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

Database nodes continuously publish status updates to the topic exchange, creating a feedback mechanism where current node states (primary/replica role, availability) are automatically communicated to clients. This real-time feedback eliminates detection difficulties by ensuring clients always have access to current node status information without manual querying

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Nodes pre-register themselves with the message broker and establish publication subscriptions before actual database operations begin. This preliminary setup ensures that when nodes join or change status, clients already have the infrastructure in place to receive notifications, simplifying dynamic discovery without requiring complex detection mechanisms

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the system uses multiple replication hosts for redundancy, then the system reliability improves, but the complexity of determining which node is primary increases

Engineering Contradiction:
Improvedatabase availability redundancyVSAvoidprimary node selection complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each replication host self-advertises its current role (primary or replica) by publishing status information to the topic exchange. This eliminates the complexity of primary node selection for clients, as nodes automatically provide this information rather than requiring clients to implement selection logic or maintain state about which node is primary

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system separates the concerns of node status management from client applications. The message broker segments the information flow by receiving publications from all nodes and delivering filtered status information to clients, reducing client-side complexity while maintaining reliability through multiple replication hosts

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11500893B2System and method for dynamically finding database nodes and replication state
Publication Date: 2022.11.15 SALESFORCE INC
  • US11500893B2 patent drawing
  • US11500893B2 patent drawing
  • US11500893B2 patent drawing

AI summary

Methods, computer readable media, and devices for dynamically finding database nodes and replication state within a database cluster deployed within a cloud environment are provided. A method may include receiving a database cluster request from a client, retrieving a set of database cluster metadata, establishing a connection with at least one database node of a database cluster via which a status of the database node may be requested and received, and sending the set of database cluster metadata and the status of the database node to the client. In various implementations, the database cluster request may include an identifier for the database cluster, the database cluster may include a plurality of database nodes, and the database cluster may be deployed within a cloud environment.