Cross-Domain Database Transaction Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face challenges in processing concurrent transactions across different domains in a safe and performant manner, particularly in avoiding deadlocks and ensuring transactional consistency across disparate storage platforms.
Innovation Solution
The implementation of a concurrency control mechanism combining multi-version concurrency control (MVCC) for read operations and locking for write operations, along with a targeted isolation level and a two-level transaction hierarchy, enables safe and efficient execution of concurrent transactions across different domains.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If concurrent transactions are processed across different domains, then productivity is improved, but reliability deteriorates due to potential deadlocks and transactional inconsistency
Solution Approach 1:
The patent introduces a transaction coordinator as an intermediary component that manages cross-domain transactions. This coordinator orchestrates the transaction lifecycle across multiple storage platforms, ensuring atomicity and consistency without requiring direct peer-to-peer coordination between domains, thus resolving the reliability issue while maintaining productivity
Solution Approach 2:
The patent segments transactions into domain-specific sub-transactions, allowing independent processing within each domain while maintaining overall transaction coherence through the coordinator. This segmentation enables parallel processing across domains (improving productivity) while each segment maintains its own consistency guarantees (preserving reliability)
2Reliability
If strict locking mechanisms are used for write operations, then reliability is improved by preventing deadlocks, but productivity deteriorates due to reduced concurrency
Solution Approach 1:
The patent applies different concurrency control strategies to different domains based on their specific characteristics. Some domains use optimistic concurrency control allowing higher throughput, while others use pessimistic locking where deadlocks are more likely. The transaction coordinator adapts the strategy locally to each domain's requirements, balancing reliability and productivity
Solution Approach 2:
The patent implements dynamic deadlock detection and resolution mechanisms that activate only when necessary. The system monitors transaction progress and detects potential deadlocks dynamically, then resolves them through timeout mechanisms or transaction prioritization, rather than using static locking protocols that would reduce throughput
3Adaptability or versatility
If cross-domain transaction support is added, then adaptability is improved, but device complexity increases due to additional coordination mechanisms
Solution Approach 1:
The transaction coordinator is designed as a universal component that can handle multiple types of storage platforms (relational, NoSQL, cloud-based) through a standardized interface. This multi-functionality allows the same coordination mechanism to work across different domains without requiring domain-specific customizations, thus improving adaptability while controlling complexity
Solution Approach 2:
The system implements feedback mechanisms where the transaction coordinator receives status information from various domains and adjusts its coordination strategy accordingly. This feedback loop enables automatic adaptation to different domain capabilities and states, providing cross-domain support without manual configuration complexity
Data Source
AI summary
The subject technology sends a first statement to an execution node for executing the first statement on first storage using micro-partitions. The subject technology sends a second statement to the execution node for executing the second statement on linearizable storage. The subject technology sends a request to prepare a commit of a cross domain transaction associated with the first statement and the second statement. The subject technology generates a new version of a set of tables that were modified by the cross domain transaction and updating first metadata in a metadata database to indicate the new version. The subject technology finalizes the commit of the cross domain transaction and updates second metadata that the cross domain transaction has been committed.


