Unique Transaction Identifier for Parallel NoSQL Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current transaction processing systems, particularly those using the two-phase commit protocol, face inefficiencies in error recovery and latency due to serial processing and coordinator bottlenecks, especially in handling multi-shard transactions across heterogeneous systems.
Innovation Solution
A computer-implemented method and system that generates a unique transaction identifier, processes data change requests in parallel, and uses a transaction status table to manage and verify the status of transactions across multiple sources, allowing for efficient data retrieval only when all sources are committed, thereby reducing latency and eliminating the need for serial processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the two-phase commit protocol is used to coordinate transactions across multiple sources, then transaction consistency (ACID guarantees) is ensured, but processing latency increases due to serial coordination and coordinator bottlenecks
Solution Approach 1:
The patent segments the transaction coordination process by assigning a unique transaction identifier to each source independently. Each source can process and verify transactions autonomously using its own identifier, eliminating the need for centralized serial coordination while maintaining transaction consistency through distributed verification.
Solution Approach 2:
The patent performs preliminary actions by pre-generating unique transaction identifiers and distributing them to all sources before the transaction execution. This allows sources to independently track and verify transaction status without waiting for coordinator commands, reducing latency while ensuring consistency.
2Device complexity
If serial processing is used through a coordinator to manage transactions, then transaction coordination is simplified, but system productivity decreases due to the coordinator bottleneck
Solution Approach 1:
The patent enables each source to serve itself by independently generating, tracking, and verifying transactions using unique transaction identifiers. Sources autonomously determine transaction completion status without coordinator intervention, eliminating the bottleneck while maintaining coordination through distributed identifier verification.
Solution Approach 2:
The patent segments the centralized coordination function into distributed independent operations at each source. Each source handles its own transaction processing with unique identifiers, transforming the serial coordinator model into parallel independent operations that increase throughput while reducing coordination complexity.
3Device complexity
If data change requests are sent to multiple sources sequentially, then transaction coordination is easier to manage, but processing time increases due to serial execution
Solution Approach 1:
The patent performs the action of distributing unique transaction identifiers to all sources preliminarily, before data change requests are executed. This enables sources to independently process and track transactions in parallel using their assigned identifiers, reducing processing time while maintaining coordination through the identifier system.
4Reliability
If the coordinator waits for status from each source sequentially, then transaction status verification is thorough, but latency increases due to waiting time
Solution Approach 1:
The patent enables each source to self-verify transaction status independently using unique transaction identifiers. Sources autonomously determine whether transactions are committed or aborted without the coordinator waiting for sequential status reports, maintaining verification accuracy while eliminating waiting time through parallel independent verification.
Data Source
AI summary
A computer-implemented method for processing a transaction may include, upon receiving a transaction change request, operating a coordinator to generate a unique transaction identifier for the transaction request, send a data change request along with the unique transaction identifier to sources having respective source identifiers, and store the unique transaction identifier along with the respective source identifiers in a transaction status table. The computer-implemented method may further include, upon receiving a query, operating a given source to determine from the transaction status table, any other sources associated with the unique transaction identifier, determine whether the unique transaction identifier is in each of the other sources, and when the unique transaction identifier is in each of the other sources, read data associated with the query from the given source and each of the other sources.


