Director-Based Database Transaction Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud providers' shift to cheaper, less reliable hardware leads to increased server slowdowns, which pose challenges for transactional database systems in maintaining transactional consistency and performance, especially when scaling with more database nodes, as existing solutions for non-transactional systems are not applicable.

Innovation Solution

Implementing a system with worker nodes that interact with director nodes to ensure transactional consistency through approval mechanisms, where worker nodes send requests to a majority of director nodes for approval before proceeding with transactions, and using assistant nodes to mitigate slowdown effects by observing and responding on behalf of slow worker nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If cloud providers use cheaper hardware to reduce costs, then device complexity is reduced and cost is lowered, but reliability deteriorates due to increased server slowdowns

Engineering Contradiction:
ImprovecostVSAvoidreliability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The system segments director nodes into multiple independent units, each capable of processing transaction requests separately. This segmentation allows the system to tolerate slowdowns or failures of individual director nodes while maintaining overall functionality through other healthy director nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Director nodes serve as intermediary components between worker nodes and the database system. They mediate transaction requests by checking for conflicts and coordinating commits, isolating worker nodes from the unpredictability of hardware performance while maintaining transactional consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the system requires approval from a majority of director nodes for transactional consistency, then transactional consistency is improved, but device complexity increases due to the coordination mechanism

Engineering Contradiction:
Improvetransactional consistencyVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Multiple director nodes are merged into a coordinated group that collectively provides transactional consistency guarantees. The system combines their individual conflict-checking capabilities through a majority-vote mechanism, achieving robust consistency without requiring complex centralized coordination.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

Each director node independently checks for conflicts and processes transaction requests without requiring complex inter-node communication protocols. The self-service approach allows director nodes to autonomously evaluate transactions against the history of approved records, reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

3Reliability

If worker nodes wait for approval from director nodes before proceeding with transactions, then transactional consistency is improved, but productivity decreases due to waiting time

Engineering Contradiction:
Improvetransactional consistencyVSAvoidproductivity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Director nodes perform preliminary conflict checks using the history of approved records before transactions are committed. This preliminary action identifies potential conflicts early, allowing worker nodes to proceed with non-conflicting transactions without unnecessary waiting and only coordinate when actual conflicts are detected.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback through the history of approved records that director nodes use to make quick conflict-detection decisions. This feedback mechanism allows director nodes to rapidly evaluate transactions without extensive communication, reducing waiting time while maintaining consistency guarantees.

Inventive Principle:
Principle #23Feedback

4Productivity

If the system scales with more database nodes to improve performance, then productivity is improved, but reliability worsens due to increased susceptibility to slowdowns

Engineering Contradiction:
ImproveperformanceVSAvoidreliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system segments the database into multiple worker nodes that can operate independently, each interacting with director nodes for transaction coordination. This segmentation allows the system to scale horizontally while maintaining reliability, as failures or slowdowns at one node do not propagate to other nodes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of director node quantity to be greater than one, creating a redundant architecture where multiple director nodes provide fault tolerance. This parameter change ensures that the system can tolerate slowdowns or failures of individual director nodes while maintaining transactional consistency through the majority-approval mechanism.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12189417B2Time proposals in director-based database system for transactional consistency
Publication Date: 2025.01.07 SALESFORCE INC
  • US12189417B2 patent drawing
  • US12189417B2 patent drawing
  • US12189417B2 patent drawing

AI summary

Techniques are disclosed relating to a database system includes worker nodes operable to perform transactions and director nodes operable to ensure transactional consistency for the transactions. A worker node may receive a request to perform a transaction involving writing a record. The worker node may then issue, to director nodes of the database system, a request for information that facilitates performance of an operation for the transaction. A director node may determine whether to approve the request based on whether the operation could cause transactional inconsistency in the database system. The worker node may proceed to perform the operation for the transaction in response to receiving approval responses from a majority of the director nodes, with none of the received responses indicating a disapproval of the transaction.