Decentralized Transaction Commit Protocol for Distributed Databases
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed database systems face challenges in ensuring transactional consistency and scalability of write operations across multiple nodes without incurring significant performance overhead due to frequent inter-node communication.
Innovation Solution
A distributed transaction protocol that employs snapshot isolation and monotonicity, reducing inter-node coordination through techniques like vectorized and incremental snapshot timestamp schemes, and optimizing commit latency by interleaving network operations with log persistency and early pruning of invisible record versions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If distributed database systems use frequent inter-node communication to ensure transactional consistency, then data accuracy is improved, but system performance deteriorates
Solution Approach 1:
The patent segments the traditional two-phase commit protocol into multiple incremental phases, allowing transactions to be committed in stages rather than requiring all nodes to be simultaneously available. This reduces the coordination overhead and network communication requirements while maintaining consistency across distributed nodes.
Solution Approach 2:
The patent implements preliminary actions by pre-coordinating transaction participants and preparing commit states before actual write operations. Nodes exchange commit timestamps and establish synchronization beforehand, reducing the need for frequent post-operation communication and improving overall system performance.
2Reliability
If distributed database systems increase coordination between hosts to ensure accurate write operations, then data accuracy is improved, but system scalability deteriorates
Solution Approach 1:
The patent divides the coordination process into independent segments that can operate autonomously. Each node maintains its own transaction state and can progress independently through commit phases, reducing the bottleneck effect of centralized coordination and enabling better horizontal scalability.
Solution Approach 2:
The patent allows partial commit actions where transactions can be committed at subsets of nodes without requiring full system-wide coordination. This partial action approach maintains data accuracy for committed portions while reducing the coordination overhead that would otherwise limit system scalability.
3Reliability
If distributed database systems use traditional commit protocols to ensure consistency, then transaction reliability is improved, but commit latency increases
Solution Approach 1:
The patent performs preliminary synchronization of commit timestamps and transaction states before actual commit operations. Nodes exchange and validate commit information in advance, allowing faster finalization of transactions and reducing overall commit latency while maintaining consistency.
Solution Approach 2:
The patent implements continuous transaction processing where nodes can proceed with commit operations without waiting for complete system-wide acknowledgments. The protocol maintains useful actions flowing continuously through the system, reducing idle time and lowering commit latency while preserving transaction reliability.
Data Source
Figure 1
Figure 2
Figure 3(a)~3(b)
AI summary
Technologies are described for facilitating transaction processing within a database environment having first, second, and third database system nodes. In the database system, the first database system node receives from the second database system node a request to precommit a first database transaction. The first database system node stores information for the first database transaction that includes an indication that the second database system node coordinates the committing of the first database transaction. The first database system node receives from the third database system node a request to precommit a second database transaction. The first database system node stores information for the second database transaction that includes an indication that the third database system node coordinates the committing of the second database transaction.