Unified Transaction Manager for Multi-Database Coordination
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing database systems face challenges in efficiently handling transactions across different database types, such as in-memory relational databases and disk-based databases, requiring complex coordination and separate processing, which complicates data access and manipulation.
Innovation Solution
A system where a first transaction manager coordinates transactions across multiple databases, including in-memory and disk-based databases, by initiating commits, precommits, postcommits, or aborts, and utilizing callbacks to ensure data persistence across both database types, supporting both transaction isolation and statement isolation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If separate and distinct queries are used to access data within respective database types, then data access accuracy is improved, but system complexity increases
Solution Approach 1:
The patent implements a universal query interface that can handle multiple database types (relational, document, key-value, graph) through a single standardized query mechanism. The query processor translates standardized queries into type-specific operations, eliminating the need for separate query syntax for each database type while maintaining precise data access capabilities.
Solution Approach 2:
The patent introduces a query processor as an intermediary layer between the client and diverse database types. This mediator translates standardized queries into database-specific operations, allowing accurate data access across different database types without requiring clients to understand or implement separate query mechanisms for each database type.
2Quantity of substance
If data is stored across multiple distributed databases, then data storage capacity is improved, but transaction coordination complexity increases
Solution Approach 1:
The patent segments transaction coordination into localized components at each database node, with each node independently managing its own transaction state and validation. The distributed transaction manager coordinates these segmented transactions through standardized protocols, enabling scalable data storage across multiple nodes without proportionally increasing coordination complexity.
Solution Approach 2:
Each database node autonomously manages its transaction state, validation, and commit/abort decisions without requiring centralized control for every operation. The distributed transaction manager provides coordination frameworks, but individual nodes self-manage their transaction processing, reducing overall system complexity while maintaining data integrity across distributed storage.
3Stability of the object's composition
If synchronous transaction handling is used across multiple databases, then data consistency is improved, but processing speed decreases
Solution Approach 1:
The patent implements preliminary local commits at each database node before final distributed commit confirmation. Transactions are pre-committed locally with version stamps and validation rules, allowing fast local processing while maintaining the option to abort or confirm based on overall distributed transaction outcomes, thus balancing consistency with processing speed.
Solution Approach 2:
The system dynamically adjusts transaction handling modes based on data size, database type, and consistency requirements. For small, critical transactions, synchronous handling ensures consistency; for large or non-critical transactions, asynchronous or eventual consistency models improve processing speed. The transaction manager adapts its coordination strategy in real-time based on system conditions.
Data Source
AI summary
A query is received from a client that specifies at least one database operation implicating data within a first database and within a second database. The first database has a first transaction manager and the second database has a second transaction manager. Thereafter, a plurality of transactions responsive to the query are initiated to access the data within the first database and the second database. Execution of the plurality of transactions are coordinated using the first transaction manager such that commits for both of the first database and the second database are handled by the first transaction manager. Data responsive to the query can then be provided to the client. Related apparatus, systems, techniques and articles are also described.


