Distributed Database Primary Node Write Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional distributed database systems face challenges in achieving a balance between consistency, availability, and scalability, particularly in handling failures and ensuring data durability across nodes.

Innovation Solution

The implementation of a distributed database system that uses replica sets with a primary node and secondary nodes, where write operations are restricted to the primary node and asynchronously replicated to secondary nodes, allowing automatic failover and ensuring data durability by committing writes only after a majority of nodes acknowledge, thereby maintaining consistency and scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple nodes are used to process write requests for scalability, then system throughput and availability improve, but data consistency and reliability deteriorate due to conflicting transactions

Engineering Contradiction:
Improvesystem throughputVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments write processing authority by designating one node as primary and others as secondary. This segmentation resolves the contradiction by allowing multiple nodes to participate in the system (improving throughput) while only the primary node processes writes (maintaining consistency), eliminating conflicting transactions that would arise from multiple write-capable nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The primary node acts as an intermediary between client write requests and the distributed database. All write requests are directed to the primary node, which then manages replication to secondary nodes. This intermediary role ensures that writes are coordinated centrally, maintaining consistency while still enabling distributed architecture for scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data is replicated across multiple nodes for fault tolerance, then system availability improves, but system complexity increases due to reconciliation logic and vector clocks

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of allowing all nodes to process writes independently and then reconciling conflicts (the conventional approach that increases complexity), the system inverts the approach by designating a single primary node to handle all writes. This inversion eliminates the need for complex reconciliation logic and vector clocks while maintaining fault tolerance through replication to secondary nodes.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The system extracts the write processing function from the distributed node set and concentrates it in a single primary node. This extraction removes the complexity of distributed write coordination, conflict resolution, and vector clock management from the system, while replication to secondary nodes maintains fault tolerance.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If write operations are committed immediately for high availability, then system responsiveness improves, but data durability deteriorates in case of node failures

Engineering Contradiction:
Improvewrite responsivenessVSAvoidwrite durability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary action by requiring the primary node to successfully replicate write operations to a majority of secondary nodes before committing the write. This preliminary replication ensures durability is established before the write is considered complete, while the system maintains responsiveness by immediately acknowledging the write to the client once the majority threshold is reached.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by monitoring replication status and only committing writes when a majority of nodes have successfully received and acknowledged the data. This feedback mechanism ensures durability without significantly impacting responsiveness, as the system can quickly determine when the majority threshold is met and proceed with the commit.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10846305B2Large distributed database clustering systems and methods
Publication Date: 2020.11.24 MONGODB INC
  • US10846305B2 patent drawing
  • US10846305B2 patent drawing
  • US10846305B2 patent drawing

AI summary

Systems and methods are provided for managing asynchronous replication in a distributed database environment, while providing for scaling of the distributed database. A cluster of nodes can be assigned roles for managing partitions of data within the database and processing database requests. In one embodiment, each cluster includes a node with a primary role to process write operations and mange permit asynchronous replication of the operations to at least one secondary node. Each cluster or set of nodes can host one or more partitions of database data, and grouping of the clusters can be implemented a shard cluster that hosts the data of the distributed database. Each shard can be configured to manage the size of any hosted partitions, splitting database partitions, migrated partitions, and managing expansion of shard clusters to encompass new systems.