Transaction Control Block for MVCC Commit Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multiversion concurrency control (MVCC) database systems face performance issues due to long latencies incurred during transaction commit operations, affecting database performance and reader-writer access concurrency.

Innovation Solution

The implementation of a transaction control block (TCB) system manages commit status and versioning information to provide consistent database views, allowing readers to access data snapshots while writers commit transactions, reducing latency through efficient management of commit operations and garbage collection processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the database stores multiple versions of data for MVCC, then readers can access consistent snapshots concurrently, but the commit operation latency increases due to updating version information for all database values

Engineering Contradiction:
Improvedata consistencyVSAvoidcommit latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the commit operation into two phases: a preparation phase where version information is updated in the transaction control block, and a completion phase where the commit is finalized. This segmentation allows readers to access data with consistent version information without waiting for the entire commit process to complete, thereby reducing commit latency while maintaining data consistency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a transaction control block as an intermediary structure that stores version information and commit status separately from the actual database values. This intermediary allows the system to track and manage version information efficiently, enabling readers to access consistent snapshots without incurring the full latency of traditional commit operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the database marks old data as obsolete and adds new data versions, then concurrent readers and writers can access data, but the device complexity increases due to managing multiple versions and commit status

Engineering Contradiction:
ImproveconcurrencyVSAvoidversion management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The transaction control block serves multiple functions: it stores version information for database values, tracks commit status, and provides a mechanism for readers to determine which versions to access. This multi-functionality reduces the need for separate structures and simplifies the overall system complexity while maintaining high concurrency capabilities.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent performs preliminary actions by pre-establishing the transaction control block structure and version information tracking mechanisms before commit operations begin. This preliminary setup enables efficient concurrent access without requiring complex real-time coordination during commit operations, thereby reducing overall system complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10409864B2Transaction control block for multiversion concurrency commit status
Publication Date: 2019.09.10 SAP SE
  • US10409864B2 patent drawing
  • US10409864B2 patent drawing
  • US10409864B2 patent drawing

AI summary

Disclosed herein are system, method, and computer program product embodiments for utilizing a transaction control block for providing reader-writer access to transaction commit status. An embodiment operates by receiving a row read request and determining that the row is versioned. The system determines that a first timestamp information for a row destroy transaction associated with the row exists in a transaction control block and retrieves the first timestamp information from the transaction control block.