Database Server Transaction Reordering for Data Replication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data replication methods in computer systems, particularly in database environments, face challenges in efficiently integrating client and server processes for asynchronous and synchronous transaction handling, leading to suboptimal performance and error handling issues.
Innovation Solution
The integration of replication clients and servers allows for asynchronous replication of transactions by transmitting change records over an asynchronous stream, with the server processing and reordering these records for efficient execution, and synchronous replication by pausing and resuming transactions based on unsupported records, ensuring seamless integration and performance optimization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous connection with database server is used for data replication, then data consistency is ensured, but replication performance and speed deteriorate
Solution Approach 1:
The patent segments the replication process into two distinct modes: synchronous replication for supported transactions that ensure data consistency, and asynchronous replication for unsupported transactions that prioritize performance. This segmentation allows the system to apply different connection strategies based on transaction type, resolving the contradiction between consistency and performance
Solution Approach 2:
The system dynamically switches between synchronous and asynchronous replication modes based on whether the transaction is supported or unsupported. The replication client determines the appropriate mode for each transaction, allowing the system to adapt its behavior to optimize both consistency and performance under different conditions
2Manufacturing precision
If all transactions are replicated synchronously, then data accuracy is improved, but processing time and system latency increase
Solution Approach 1:
The patent applies partial synchronous action by only using synchronous replication for supported transactions that require high accuracy, while using asynchronous replication for unsupported transactions where some latency is acceptable. This partial application of synchronous action maintains data accuracy for critical operations without incurring the time penalty for all transactions
Solution Approach 2:
The system changes the replication parameter (synchronous vs asynchronous) based on transaction support status. Supported transactions use synchronous mode with strict accuracy requirements, while unsupported transactions use asynchronous mode with relaxed timing requirements, optimizing the balance between accuracy and processing time
3Stability of the object's composition
If replication client submits database commands over synchronous connection, then transaction integrity is maintained, but replication speed and throughput decrease
Solution Approach 1:
The patent segments transactions into supported and unsupported categories, applying different integrity mechanisms to each. Supported transactions use synchronous command submission with full integrity checks, while unsupported transactions use asynchronous change record transmission with reduced overhead, maintaining integrity where needed while maximizing throughput elsewhere
Solution Approach 2:
The patent introduces an intermediary mechanism (asynchronous change record transmission) for unsupported transactions that bypasses the strict synchronous command interface. This intermediary allows faster replication for certain transaction types while maintaining the synchronous interface for transactions requiring strict integrity, thus improving overall throughput without compromising necessary integrity
Data Source
AI summary
Techniques are provided for client and server integration for scalable replication. A replication client transmits change records to a database server over a stream. The database server determines at least one batch comprising change records for at least one transaction. The database server generates dependency data for at least one change record in a batch based on at least one constraint identifier for at least one column. The database server determines an ordered grouping of the change records based on an operation type of each change record and the dependency data of each change record, wherein change records sharing operation types are grouped together unless a division based on the dependency data is determined. The database server generates a reordered transaction comprising a plurality of reordered operations based on the ordered grouping of the change records of the particular batch.


