Asynchronous Transaction Conflict Resolution Without Rollbacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In database clusters, asynchronous transaction commitment on different nodes can lead to conflicts, necessitating the rollback or abortion of transactions, which affects transaction throughput.
Innovation Solution
A method involving a processor to apply transactions to a private in-memory database representation, capture commit job contents, send to a pending commit queue, update a cluster transaction counter, assign a transaction identification number, block for preceding transactions to be replayed, and continuously replay transaction log entries, detect conflicts, merge incoming transactions with the private in-memory state, and batch amendments with pending transactions into a single conflict resolution transaction.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If transactions are asynchronously committed in parallel on different nodes, then transaction throughput is improved, but transaction conflicts occur
Solution Approach 1:
The system performs preliminary actions by maintaining a pending commit queue that holds transactions before they are committed. The conflict detection mechanism operates on this queue in advance, identifying potential conflicts before they affect the committed state. This preliminary detection and resolution approach allows the system to maintain high throughput while ensuring consistency, as conflicts are resolved proactively rather than reactively.
Solution Approach 2:
The patent introduces an intermediary conflict resolution mechanism that acts as a mediator between parallel transaction commits. The pending commit queue serves as an intermediary structure where transactions are held and examined for conflicts before being applied to the database state. This intermediary layer enables the system to coordinate conflicting transactions without aborting them, thereby maintaining both throughput and consistency.
2Reliability
If conflicting transactions are aborted or rolled back to maintain consistency, then transaction consistency is preserved, but transaction throughput decreases
Solution Approach 1:
The system converts the harmful effect of transaction conflicts into a beneficial outcome by using conflicts as signals to trigger intelligent resolution mechanisms. Instead of simply aborting conflicting transactions, the system detects conflicts in the pending commit queue and applies resolution rules that can preserve both transactions if possible. This transforms the harm of conflicts (which would normally reduce throughput) into an opportunity for sophisticated conflict management that maintains both consistency and throughput.
Solution Approach 2:
The patent changes the parameter of conflict handling from binary (abort/commit) to a spectrum of resolution options. By introducing configurable conflict resolution rules and a pending commit queue with detection capabilities, the system can adjust its behavior based on the specific conflict scenario. This parameter change allows the system to preserve transactions that can coexist while only aborting truly conflicting ones, thereby maintaining higher throughput compared to universal abort policies.
3Reliability
If all preceding transactions are replayed before committing, then transaction consistency is ensured, but processing time increases
Solution Approach 1:
The system performs the replay and conflict detection actions preliminarily, before the actual commit operation. By maintaining a pending commit queue and replaying transactions into this queue first, the system prepares the state in advance and detects conflicts before they would affect the committed database state. This preliminary action approach ensures that when commits occur, they can proceed quickly with minimal waiting, as the consistency checks have already been performed.
Solution Approach 2:
The patent segments the commit process into distinct phases: replay phase, conflict detection phase, and actual commit phase. By separating these operations and using the pending commit queue as a buffer, the system can replay transactions and detect conflicts without blocking the commit operation itself. This segmentation allows concurrent execution of replay/detection and commit operations, reducing the overall time loss while maintaining consistency.
Data Source
AI summary
Methods and systems for resolving these transaction conflicts in a way that does not involve aborting or rolling back conflicting transactions.


