Multiple Log Queues for Database Transaction Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face performance issues due to transaction collisions and delays in writing transaction data to log queues when using parallel processing techniques, as multiple transactions compete to be written to a single log queue.

Innovation Solution

Implementing multiple log queues with separate writers and log queue identifiers, allowing log records from different transaction threads to be written concurrently, and associating each record with a unique identifier for accurate recovery and sorting during restarts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple transactions are processed in parallel using multiprocessing techniques, then processing speed and productivity are improved, but transaction collisions and delays occur when writing to a single log queue

Engineering Contradiction:
Improvetransaction processing speedVSAvoidtransaction writing reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent divides the single log queue into multiple separate log queues (first log queue, second log queue, third log queue), each handled by its own dedicated log writer. This segmentation allows parallel transactions to write to different queues simultaneously, eliminating collisions while maintaining high processing speed.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a single log queue is used for all transactions, then device complexity is reduced, but performance deteriorates due to transaction collisions and waiting delays

Engineering Contradiction:
Improvelog queue structure complexityVSAvoidtransaction writing throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the log writing function into multiple independent log queues with dedicated writers, increasing complexity slightly but achieving significant productivity improvement by eliminating the bottleneck of a single shared queue.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of organization by assigning log queue identifiers and writer sequence identifiers to log records, enabling concurrent writes from multiple threads without interference while maintaining orderly processing through identifier-based sorting and sequencing.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Productivity

If parallel processing is implemented to improve performance, then processing throughput increases, but data consistency and recovery accuracy become more difficult to maintain

Engineering Contradiction:
Improveprocessing throughputVSAvoiddata recovery accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent performs preliminary actions by assigning log queue identifiers and writer sequence identifiers to each log record before writing. These pre-assigned identifiers enable accurate sorting and sequencing during recovery operations, ensuring data consistency even when parallel processing is used.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through the log reader that uses writer sequence identifiers and log queue identifiers to correctly order and process log records during recovery, ensuring accurate data reconstruction despite parallel write operations.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7480672B2Multiple log queues in a database management system
Publication Date: 2009.01.20 SAP SE
  • US7480672B2 patent drawing
  • US7480672B2 patent drawing
  • US7480672B2 patent drawing

AI summary

A system, method, apparatus, means and computer program code for utilizing multiple log queues in a database management system are provided. In some embodiments, processing includes receiving a first log record at a first log queue and a second log record at a second log queue, associating a log queue identifier with each of the first and second log records, and writing the first and second log records to a data log. Pursuant to some embodiments, at least a third log queue is provided.