Relaxing Transaction Serializability in Statement-Based Data Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data replication techniques face challenges in maintaining transaction serializability, which is expensive and inhibits transaction concurrency and throughput, especially in statement-based data replication systems that require determinism and serializability constraints.
Innovation Solution
The method involves a subordinate replication node receiving transaction start and commit messages from a master node, mapping transaction identifiers to preserve order, and using multi-version database concurrency control to execute data modification statements, thereby relaxing the need for transaction serializability and achieving consistent database states across nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If transaction serializability is enforced in statement-based data replication, then data consistency is maintained, but transaction concurrency and throughput are inhibited
Solution Approach 1:
The patent segments the transaction execution process into independent statement-level operations that can be processed in parallel across multiple replication nodes. Each statement is assigned a unique identifier and processed independently, allowing concurrent execution while maintaining consistency through the statement identifier ordering mechanism.
Solution Approach 2:
The patent performs preliminary assignment of statement identifiers and establishes the execution order before actual transaction processing. By pre-defining the sequence of statement execution through identifier assignment, the system enables parallel processing of statements while ensuring they are applied in the correct logical order, thus improving throughput without sacrificing consistency.
2Loss of time
If data modification statements are transmitted to replicated copies, then replication latency is reduced, but the complexity of maintaining determinism and serializability increases
Solution Approach 1:
The patent extracts the serializability constraint from the replication process by transmitting complete data modification statements rather than relying on change capture and application. This allows the replicated database to apply statements independently without needing to maintain complex serializability protocols, reducing replication latency while managing complexity through statement-based processing.
Solution Approach 2:
The patent uses copying by transmitting the actual data modification statements from the master database to replicated copies. Each replicated database receives and applies these statements locally, creating independent copies that can process transactions without waiting for coordination with other nodes, thereby reducing replication latency.
3Productivity
If weaker transaction isolation levels are used, then transaction concurrency is improved, but consistency concerns require corrective action in the application
Solution Approach 1:
The patent introduces an intermediary mechanism at the database level that automatically handles consistency concerns through statement identifier tracking and ordering. This intermediary layer between the transaction isolation mechanism and the application logic ensures consistency without requiring application-level corrective actions, thus maintaining high concurrency while reducing application complexity.
Data Source
AI summary
Consistency of replicated data copies with statement-based replication is provided without requiring transaction serializability. At a subordinate replication node, a transaction start message, replicated data modification statements, and a transaction commit message are received for a next committed transaction from a master replication node, wherein the transaction start message carries a master transaction identifier, an invisibility list consisting of identifiers of other master transactions that had started and not yet committed when this master transaction started, and an earliest invisible master transaction identifier. The master transaction identifier, invisibility list, and earliest invisible transaction identifier are mapped to subordinate transaction identifiers to preserve an order of transaction identifiers from the master replication node. A subordinate transaction is started with the mapped subordinate transaction identifier and with an invisibility list consisting of the mapped subordinate transaction identifiers for the master invisibility list for execution of the received data modification statements.


