Dual Snapshot Database Concurrency Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database latency issues arise due to exclusive locking of data during read-for-update transactions, preventing concurrent access and affecting overall system performance.
Innovation Solution
Implementing a dual snapshot system in a multi-version concurrency control database that allows concurrent access to uncommitted updated data by maintaining separate read-only and updatable snapshots, enabling read-only transactions to access uncommitted data without waiting for locks and reducing the need for time-consuming locks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If exclusive locking is used during read-for-update transactions, then data integrity and transaction safety are improved, but database latency and system responsiveness deteriorate
Solution Approach 1:
The patent segments data access into two independent paths: read-only transactions access data through one path while read-for-update transactions access through another path. This segmentation allows both transaction types to proceed simultaneously without blocking each other, resolving the contradiction between data integrity (maintained through proper transaction isolation) and database latency (reduced through parallel access paths)).
Solution Approach 2:
The patent introduces a mediator mechanism that allows read-only transactions to access uncommitted data modified by read-for-update transactions without requiring locks. The mediator enables safe concurrent access by managing the relationship between different transaction types, allowing read-only transactions to see uncommitted changes while maintaining transaction safety, thus reducing latency without sacrificing reliability.
2Reliability
If exclusive locking is used during read-for-update transactions, then transaction safety is improved, but system productivity and concurrency deteriorate
Solution Approach 1:
The patent divides the data access system into separate segments for read-only and read-for-update transactions. This segmentation enables multiple transactions to execute in parallel without mutual exclusion, significantly improving system concurrency and productivity while maintaining transaction safety through proper isolation mechanisms for each segment.
Solution Approach 2:
The patent creates a copy of the data structure that allows read-only transactions to access uncommitted data without affecting read-for-update transactions and vice versa. This copying mechanism enables concurrent operations on the same data by different transaction types, improving productivity while preserving transaction safety through controlled access to data copies.
3Stability of the object's composition
If read-only transactions wait for locks to be released, then data consistency is improved, but system responsiveness and latency deteriorate
Solution Approach 1:
The patent introduces an intermediary mechanism that allows read-only transactions to access uncommitted data modified by read-for-update transactions without waiting for locks. The intermediary manages data consistency by enabling read-only transactions to see the latest data state while maintaining proper transaction isolation, thus eliminating waiting time without sacrificing data consistency.
Solution Approach 2:
The patent makes the data access system dynamic by allowing read-only transactions to adaptively access data based on the current transaction state. Instead of static locking where read-only transactions must wait, the system dynamically allows concurrent access to uncommitted data, improving responsiveness while maintaining consistency through controlled data visibility rules.
Data Source
AI summary
Various embodiments include one or more of systems, methods, software, and data structures that allow dual access to concurrent data in a database management system including uncommitted updated data. Some embodiments include a dual snapshot of data in a multi-version concurrency control style database, but the embodiments described herein are equally applicable to virtually any other type of database and database management system.


