Assistant Nodes in Director-Based Database for Transactional Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud-based database systems face challenges in maintaining transactional consistency and performance due to the use of cheaper, less reliable hardware, which can lead to server slowdowns and transactional inconsistencies as the number of database nodes increases.
Innovation Solution
Implementing a system with worker nodes that interact with director nodes to ensure transactional consistency, where worker nodes send requests to a majority of director nodes for approval before proceeding with transactions, and using assistant nodes to mitigate the effects of slowdowns by providing responses on behalf of slow worker nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cheaper hardware is used in cloud infrastructure, then cost is reduced, but system reliability and performance consistency deteriorate due to random slowdowns
Solution Approach 1:
The system segments director nodes into multiple independent instances (first director node, second director node, third director node) that can operate autonomously. This segmentation allows the system to continue processing transactions even when individual director nodes experience slowdowns, as other segments can compensate and maintain overall system reliability.
Solution Approach 2:
The system changes the operational parameter of director node participation by allowing transactions to proceed with approval from a majority subset rather than requiring all director nodes. This parameter change enables the system to maintain productivity even when some director nodes are slow, as long as the required majority can be reached from the remaining responsive nodes.
2Reliability
If more director nodes are added to ensure transactional consistency, then consistency is improved, but system complexity and overhead increase
Solution Approach 1:
The system applies partial action by requiring approval from a majority subset of director nodes rather than all nodes for each transaction. This partial requirement maintains transactional consistency through majority consensus while reducing the complexity and overhead associated with coordinating every single director node for every transaction decision.
3Reliability
If worker nodes wait for approval from all director nodes before proceeding, then consistency is ensured, but system performance deteriorates due to slow nodes blocking transactions
Solution Approach 1:
The system requires approval from a majority subset of director nodes rather than all nodes to proceed with a transaction. This partial requirement ensures transactional consistency through majority consensus while preventing slow or unresponsive director nodes from blocking the entire system, thereby maintaining higher transaction throughput.
Solution Approach 2:
The system performs preliminary validation by having worker nodes send requests to multiple director nodes in advance and proceed once a majority approves. This preliminary action from a majority subset ensures consistency is established before transaction completion while avoiding the performance penalty of waiting for all director nodes.
Data Source
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.


