Concurrent Transaction Page Synchronization via Copy-Based Versioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database systems face challenges in efficiently handling concurrent transactions and maintaining database integrity, particularly when dealing with high volume transactions and complex queries, as they often interfere with each other and struggle with efficient commit stages and data merging processes.
Innovation Solution
The system employs a versioning/copying approach where each transaction operates on a copy of a data page, with a detect component identifying updates from other transactions and a merge component synchronizing changes, ensuring consistency before commit, and utilizing a page marking component to notify transactions of changes, along with optimization features to manage storage and reorganization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional shadow paging techniques are used to handle concurrent transactions, then transactions can operate concurrently, but the commit stage becomes inefficient and requires additional overhead for merging
Solution Approach 1:
The patent implements a copy-based versioning mechanism where each transaction operates on a copy of the data page rather than the original. When a transaction commits, its copy is merged with the main page. This eliminates the need for complex shadow paging and reduces merge overhead during the commit stage, directly addressing the inefficiency problem while maintaining concurrency capabilities.
Solution Approach 2:
The patent segments the data page into multiple versions or copies, allowing concurrent transactions to operate on different versions simultaneously. This segmentation enables parallel processing during the commit stage and reduces the complexity of merging operations by managing versions separately rather than requiring complex coordination of shadow pages.
2Productivity
If multiple copies of data pages are created to support concurrent transactions, then transaction concurrency is improved, but database growth increases
Solution Approach 1:
The patent implements a mechanism where old page versions are discarded after being merged into the main page. By automatically removing obsolete copies and versions, the system maintains the necessary number of copies for concurrent transactions while preventing unbounded database growth. This lifecycle management of page versions directly addresses the database growth issue.
Solution Approach 2:
The patent employs dynamic version management where the number and scope of page copies are adjusted based on transaction needs. Versions are created only when necessary and are dynamically merged or discarded, allowing the system to adapt the storage requirements to actual concurrency demands rather than maintaining a fixed large number of copies, thus controlling database growth.
3Productivity
If conventional database systems handle high volume transactions, then transaction processing capacity increases, but database integrity becomes difficult to maintain
Solution Approach 1:
The patent applies preliminary locking and validation actions before transactions commit. By establishing locks and verifying integrity conditions in advance, the system prevents conflicting operations from compromising database integrity. This preliminary action approach enables high transaction volume while maintaining reliability through proactive rather than reactive integrity checking.
Solution Approach 2:
The patent implements feedback mechanisms that monitor transaction progress and database state, allowing the system to adjust transaction processing to maintain integrity. When conflicts or integrity issues are detected, the system receives feedback and modifies transaction handling accordingly, ensuring data integrity is preserved even under high volume concurrent processing conditions.
Data Source
AI summary
Systems and methodologies are provided for efficiently performing concurrent transactions by multiple users, and tracking data at a logical level beneath a physical level of the object being modified. Each transaction can copy a committed version of the data segment to be modified to its respective space, and can update such copy during modification. A detect component detects whether any data segment being operated upon requires updating as a result of other transactions committing, and a merge component synchronizes the data segment with its committed version. Various optimization procedures can also be incorporated as part of the commit stage, upon completion of the detect and merge process.


