Conditional Commit Transaction Blocks Without Database Locking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conditional commit databases face inefficiencies due to transaction invalidation requiring reruns when transactions are not locked, leading to processing inefficiencies.
Innovation Solution
Implement transaction block processing that evaluates each transaction block's condition expression to determine if associated action sets should be executed, allowing for conditional commits without locking, thereby segmenting transactions into blocks with their own conditions to ensure validity and reduce inefficiencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If locking is used to prevent transaction conflicts, then data access safety is improved, but processing efficiency deteriorates
Solution Approach 1:
The patent segments transactions into multiple transaction blocks, each with its own condition expressions and action sets. This allows selective execution of individual blocks based on conditions, avoiding the need for locking while maintaining data consistency. The segmentation enables parallel processing of independent blocks, improving efficiency without sacrificing reliability.
2Productivity
If multiple transactions are processed without locking, then processing efficiency is improved, but transaction invalidation increases
Solution Approach 1:
The patent applies preliminary action by evaluating condition expressions before executing action sets. Each transaction block includes condition expressions that are checked in advance to determine whether the block should be executed. This preliminary evaluation prevents invalid transactions from being processed, maintaining reliability while enabling efficient concurrent processing without locking.
3Reliability
If transactions are segmented into blocks with conditions, then transaction validity is improved, but processing complexity increases
Solution Approach 1:
The patent divides transactions into manageable blocks, each with its own condition expressions and action sets. This segmentation makes the complex transaction processing more organized and easier to manage. The database system can process blocks independently and in parallel, reducing the overall processing complexity while maintaining high transaction validity through condition evaluation.
Data Source
AI summary
A database system includes an interface and a processor. The interface is configured to receive a transaction request comprising one or more transaction blocks in an order. The processor is configured to evaluate each transaction block of the one or more transaction blocks in the order by: determining in the order whether a condition expression of a transaction block of the one or more transaction blocks is true; and in response to the condition expression of the transaction block being true, adding in the order one or more associated action sets of the transaction block to a transaction context; and in response to each of the transaction blocks being evaluated, cause the transaction context to be executed as an atomic transaction.


