Database Committed Change Determination via Minimum Timestamp

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face inefficiencies in determining whether changes to data blocks are committed or uncommitted, leading to slowdowns, especially in clustered environments, due to the lack of inline data indicating transaction status and the overhead of maintaining centralized committed transaction data.

Innovation Solution

The approach involves computing a reference timestamp by determining the minimum value of start timestamps for uncommitted transactions across database instances, allowing readers to infer committed changes by comparing this timestamp to the 'last modified' timestamp of data blocks, and synchronizing this information across instances to ensure consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If readers access changes to data blocks made by committed transactions, then data accessibility is improved, but determining whether changes are committed becomes time-consuming

Engineering Contradiction:
Improvereader access speedVSAvoidtime to determine committed status
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system pre-computes and stores a minimum start timestamp value in a centralized data structure before readers need to query it. This minimum timestamp represents the earliest start time among all uncommitted transactions. By having this value ready in advance, readers can immediately compare it with data block timestamps without performing time-consuming searches or lookups when determining commit status.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a centralized data structure that acts as an intermediary between transactions and readers. This structure stores the minimum start timestamp of uncommitted transactions, serving as a reference point that mediates the determination of whether data block changes are committed. Readers use this intermediary value to quickly assess commit status without directly querying transaction tables or performing complex searches.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If centralized data indicating committed transactions is maintained, then determination accuracy is improved, but transaction commit processing time increases

Engineering Contradiction:
Improvecommitted status determination accuracyVSAvoidtransaction commit time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Instead of maintaining complete transaction status information for all transactions (which would be excessive), the system only maintains the minimum start timestamp value among uncommitted transactions. This partial information is sufficient for readers to determine commit status by comparison, while avoiding the overhead of maintaining and synchronizing complete transaction records across all database instances.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If data blocks store inline data indicating committed changes, then determination speed is improved, but memory overhead increases

Engineering Contradiction:
Improvecommitted status determination speedVSAvoidmemory overhead
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent extracts the commit status determination logic from individual data blocks and centralizes it in a separate data structure. Instead of storing commit status flags within each data block (which would increase memory overhead), the system stores a single minimum timestamp value in a centralized structure. Readers perform the determination by comparing timestamps, eliminating the need for inline status data in each block.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10303788B2Efficient determination of committed changes
Publication Date: 2019.05.28 ORACLE INT CORP
  • US10303788B2 patent drawing
  • US10303788B2 patent drawing
  • US10303788B2 patent drawing

AI summary

A minimum value (MV) is computed for start timestamps that each correspond to an uncommitted transaction. In an embodiment, the MV is computed for a pluggable database that is open on at least first and second instances of a database. The MV is computed for the first instance as of a first current timestamp (CT). The MV and the first CT are communicated to a second instance that has a second CT. If the first and second CTs are equal, the second instance store the MV. If the first CT is bigger, the second CT also becomes equal to the first CT. If the first CT is smaller, the MV is discarded, and the first CT becomes equal to the second CT. In an embodiment, if the MV remains unchanged for a predetermined time period, a start timestamp corresponding to the MV is advanced to a current or future timestamp.