In-Page Log for Multi-Version Database Snapshot Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata integrityVSAvoiddatabase growth rate
Core Design Contradiction:
ReliabilityVSQuantity of substance

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.

Inventive Principle:
Principle #34Discarding and recovering

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.

Inventive Principle:
Principle #13The other way round (Inversion)

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

Engineering Contradiction:
Improvesnapshot reconstruction costVSAvoidlog overflow management
Core Design Contradiction:
Loss of timeVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10067958B2Supporting transient snapshot with coordinated/uncoordinated commit protocol
Publication Date: 2018.09.04 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10067958B2 patent drawing
  • US10067958B2 patent drawing
  • US10067958B2 patent drawing

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.