In-Page Log for Multi-Version Database Snapshot Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-version databases face challenges in managing the rapid growth of record versions and invalidating older versions without in-place updates, requiring efficient mechanisms to track and manage record status across concurrent environments.
Innovation Solution
Implementing an in-page log system that maintains record update information for each data page, allowing for efficient tracking of record status and overflow management through splitting or spilling to additional pages when the log is full, applicable to both row-oriented and column-oriented data pages.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multi-version databases retain history of data with many record versions, then data integrity and concurrency control are improved, but database growth rate increases and storage requirements worsen
Solution Approach 1:
The patent implements a version invalidation mechanism that automatically discards old record versions when they are no longer needed for concurrency control. The system tracks which versions are still referenced by active transactions and invalidates those that are not, thereby recovering storage space while maintaining data integrity for active operations.
Solution Approach 2:
Instead of actively managing and cleaning up old versions, the patent inverts the approach by having versions automatically become invalid when not referenced. The system inverts the traditional garbage collection model by using reference counting from the reader side rather than writer-side cleanup, allowing space reclamation without complex management overhead.
2Loss of time
If in-page log is used to track record updates, then snapshot reconstruction cost is reduced, but log overflow management complexity increases
Solution Approach 1:
The patent segments the log management into multiple independent in-page logs, one for each data page. Each log is self-contained and manages its own version information locally. This segmentation allows parallel processing of snapshot reconstruction across multiple pages and isolates overflow management to individual pages rather than requiring global log coordination.
Solution Approach 2:
The patent creates copies of version information in the in-page log rather than maintaining a single centralized log. Each data page has its own copy of the version history for records on that page, enabling independent access and reconstruction without coordinating across the entire database. This copying approach distributes the management burden and improves parallelism.
Data Source
AI summary
Methods and a system are provided. A method includes maintaining an in-page log for records in each of a plurality of data pages of a multi-version database. The method further includes adding record update information to the in-page log when a corresponding one of the records is deleted or updated. The method also includes consulting the in-page log for a recently updated one of the records or a recently deleted one of the records to determine a record status thereof. The method additionally includes spilling, by a processor-based overflow manager, to overflow pages when the in-page log is full. The data pages include any of row-oriented data pages and column-oriented data pages.


