Transaction Private Log Buffering for Database Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Transaction logging in main memory-based database management systems creates performance bottlenecks due to latch contention in global redo log buffers and high frequency of disk I/O operations, compromising both performance and reliability.

Innovation Solution

Implementing transaction private log buffering, where each transaction's log entries are stored in a private buffer and flushed to a global log buffer upon completion, reducing the frequency of access to the global log buffer and minimizing disk I/O operations, while maintaining reliability through the 'write ahead log' protocol and 'force log at commit' rule.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If transaction logging is implemented in main memory-based DBMS using global redo log buffer, then reliability is ensured through crash recovery, but performance bottlenecks occur due to latch contention and frequent disk I/O operations

Engineering Contradiction:
Improvecrash recovery reliabilityVSAvoidtransaction processing performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the global redo log buffer into multiple private log buffers, one for each transaction. This segmentation eliminates latch contention by allowing each transaction to write to its own private buffer without competing for access to a shared global buffer. The private log buffers are later merged into the global buffer in a controlled manner, maintaining reliability while improving performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces private log buffers as intermediary structures between transactions and the global redo log buffer. These private buffers act as mediators that temporarily hold transaction logs before they are flushed to the global buffer, reducing the frequency of disk I/O operations and eliminating latch contention during transaction processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If frequent flushing of transaction logs to global log buffer is performed, then reliability is maintained through proper logging, but disk I/O operations increase reducing performance

Engineering Contradiction:
Improvetransaction logging reliabilityVSAvoiddisk I/O waiting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary logging actions by writing transaction logs to private log buffers in memory before flushing to the global buffer and disk. This preliminary action in private buffers reduces the frequency of disk I/O operations, as multiple transaction logs can be accumulated and flushed together in batch operations, thereby reducing total disk I/O waiting time while maintaining logging reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent merges multiple private log buffers into the global log buffer in batch operations rather than flushing each transaction log individually. This merging approach combines multiple logging operations into fewer disk I/O operations, reducing the total time spent on disk I/O while ensuring all logs are properly recorded for reliability.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If latch contention is reduced through private log buffers, then transaction processing speed increases, but system complexity increases due to additional buffer management

Engineering Contradiction:
Improvetransaction processing speedVSAvoidlog buffer management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service mechanisms where each transaction automatically manages its own private log buffer without requiring external coordination or latch acquisition. Transactions write to their own private buffers autonomously, and the buffer management system handles the merging and flushing operations automatically, reducing the perceived complexity for individual transactions while improving processing speed.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9558229B2Transaction private log buffering for high performance of transaction processing
Publication Date: 2017.01.31 SAP SE
  • US9558229B2 patent drawing
  • US9558229B2 patent drawing
  • US9558229B2 patent drawing

AI summary

For each data change occurring transaction created as part of a write operation initiated for one or more tables in a main-memory-based DBMS, a transaction log entry can be written to a private log buffer corresponding to the transaction. All transaction log entries in the private log buffer can be flushed to a global log buffer upon completion of the transaction to which the private log buffer corresponds.