Reciprocal Delta Tables for Scalable Database Concurrency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional cooperative processing systems face scalability issues due to contention for shared resources and data incoherency, leading to diminished processing power and throughput as more processors are added.
Innovation Solution
Implementing reciprocal delta tables with a 'revert' role that allows for self-validation and algebraic combination, enabling concurrent processing without locking the initial dataset, thereby reducing contention and incoherency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple processors are added to increase processing power, then processing capacity is improved, but contention and coherency delays increase causing diminishing returns
Solution Approach 1:
The patent segments the database update process into two independent phases: validation phase (where delta tables are validated against the state table without locking it) and execution phase (where changes are applied). This segmentation allows multiple processors to work concurrently on validation without contention, eliminating the bottleneck that previously limited scaling.
Solution Approach 2:
The patent performs validation of delta tables against the state table in advance, before the state table is locked for execution. By completing the validation phase preliminarily without acquiring locks, the system eliminates wait time and allows subsequent execution to proceed immediately without coherency delays, enabling processors to work in parallel efficiently.
2Reliability
If the state table is locked during validation and execution to ensure data consistency, then data integrity is improved, but processor scalability deteriorates
Solution Approach 1:
The patent divides the transaction process into two separate phases with different locking requirements: validation phase (no lock needed on state table) and execution phase (lock acquired on state table). This segmentation allows validation to proceed without locking, enabling multiple processors to access the state table concurrently for validation purposes, thereby improving scalability while maintaining data integrity through the subsequent locked execution phase.
Solution Approach 2:
The patent introduces delta tables as an intermediary structure that contains the proposed changes before they are applied to the state table. By validating these intermediary delta tables against the state table without locking the state table, the system enables concurrent validation while preserving data integrity through the structured validation process, and only acquires locks during the actual execution phase.
3Stability of the object's composition
If processors wait for the state table to unlock before accessing data, then data consistency is improved, but system throughput deteriorates
Solution Approach 1:
The patent performs the validation action preliminarily in a separate phase before the state table is locked for execution. By completing validation work in advance without requiring the state table to be unlocked, processors can continue working concurrently without waiting, eliminating the throughput bottleneck while maintaining data consistency through the subsequent execution phase.
Solution Approach 2:
The patent enables continuous useful action by allowing multiple processors to continuously validate delta tables against the state table without interruption or waiting for locks. The validation phase operates continuously and independently, and only the brief execution phase requires locking, thereby maintaining high system throughput and continuous productivity while ensuring data consistency.
Data Source
AI summary
Methods and systems are described for increasing scalability in cooperative processing systems by reducing issues due to contention (e.g., waiting or queueing for shared resources) and coherency (e.g., delay for data to become consistent) using reciprocal delta tables. The system allows for both proposing and committing changes to a state table without the changes being executed on the state table via recording changes in a series of transactions with delta tables. By eliminating a need to wait for unlocking of a state table as changes are executed, downtime for a client will reduce and processing can be more efficient.


