Distributed Database Read Method for DRCC Anomaly Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed database systems, the distributed read committed-committing (DRCC) anomaly occurs due to inconsistencies in transaction states across nodes, where data committed by one node cannot be read while another node is still committing, leading to inconsistent transaction readings.
Innovation Solution
A data read method that determines tuples based on global transaction statuses and commit times, ensuring that only committed data is readable by obtaining and synchronizing global transaction statuses across nodes, and using a decentralized management mechanism to maintain and synchronize transaction statuses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If cross-node write operations are implemented to support node crossing in distributed database systems, then the system's operational flexibility and data distribution capability are improved, but transaction consistency of data reading deteriorates due to the distributed read committed-committing anomaly
Solution Approach 1:
The patent introduces a global transaction status as an intermediary mechanism that coordinates read and write operations across multiple nodes. This global status acts as a mediator that ensures reads only access committed data by checking the transaction status, thereby preventing the DRCC anomaly while maintaining cross-node write operations.
Solution Approach 2:
The system implements feedback mechanisms where global transaction statuses are continuously updated and synchronized across nodes. Read operations receive feedback about the commit status of transactions before accessing data, ensuring that only committed data is readable. This feedback loop maintains transaction consistency without restricting cross-node write capabilities.
2Ease of operation
If data is made readable across multiple nodes during transaction committing, then read accessibility is improved, but data integrity deteriorates due to reading uncommitted data from some nodes
Solution Approach 1:
The patent applies preliminary action by requiring that data be fully committed across all nodes before it becomes readable. The system performs the commit operation preliminarily on all nodes before allowing any read access, ensuring that reads only access committed data. This preliminary commitment action prevents reading uncommitted data while maintaining read accessibility to committed data.
Solution Approach 2:
A global transaction status intermediary is introduced to coordinate read accessibility with data integrity. This intermediary mechanism checks the commit status of transactions before allowing reads to access data from any node, ensuring that reads only access data that has been committed across all nodes. This maintains both read accessibility and data integrity.
3Reliability
If global transaction statuses are synchronized across all nodes to prevent DRCC anomalies, then transaction consistency is improved, but system complexity increases due to the synchronization mechanism
Solution Approach 1:
The global transaction status mechanism serves multiple functions simultaneously: it tracks commit status, coordinates read-write operations, and prevents the DRCC anomaly. By making this synchronization mechanism universal and multi-functional, the patent reduces the need for separate complex mechanisms, thereby improving transaction consistency without proportionally increasing system complexity.
Solution Approach 2:
The patent applies homogeneity by using a uniform global transaction status structure across all nodes in the distributed system. Each node maintains and synchronizes the same type of transaction status information in a consistent format, simplifying the synchronization mechanism compared to node-specific complex protocols. This homogeneous approach improves transaction consistency while keeping the synchronization mechanism relatively simple.
Data Source
AI summary
In a data read method a plurality of tuples meeting a read condition are determined in a case that the data read request is received and according to a read condition carried in the data read request. Global transaction statuses of a plurality of global transactions corresponding to the plurality of tuples are obtained. Global commit times of the plurality of global transactions according to the global transaction statuses of the plurality of global transactions are obtained. Then a target tuple from the plurality of tuples is determined based on the global commit times of the plurality of global transactions, the target tuple being visible relative to the data read request.


