Database Buffer Pool Hot Read Range Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face performance hindrances due to the need for latches and locks for every read and write operation, which can slow down systems with predominantly read operations and few write operations.

Innovation Solution

A method to identify 'hot read ranges' where read operations outnumber write operations, allowing for the avoidance of latches and locks during read periods and queuing write operations for later processing, thereby optimizing buffer pool performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If latches and locks are used for every read and write operation, then data consistency is ensured, but system performance deteriorates due to overhead

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the database pages into different categories: hot read ranges (pages with predominantly read operations) and non-hot ranges. For hot read ranges, the system applies a specialized access path that avoids acquiring latches and locks during read operations, while maintaining proper synchronization for write operations. This segmentation allows the system to optimize performance for read-heavy workloads while preserving data consistency through selective application of synchronization mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different access control qualities to different regions of the database. Specifically, hot read ranges receive a localized optimization where read operations can proceed without acquiring latches or locks, while non-hot ranges continue to use the traditional latch/lock mechanism. This local quality approach ensures that performance improvements are applied only where beneficial (read-heavy pages) without compromising the reliability of other pages.

Inventive Principle:
Principle #3Local quality

2Reliability

If latches are requested for every read operation, then physical consistency is guaranteed, but read operation speed decreases

Engineering Contradiction:
Improvephysical consistencyVSAvoidread operation speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system performs preliminary analysis to identify hot read ranges based on historical access patterns before optimizing read operations. By pre-marking pages that are likely to be read-heavy based on statistics about read and write operations, the system can prepare optimized access paths in advance. This preliminary action allows read operations on hot pages to proceed without latch acquisition overhead while maintaining consistency through the pre-established optimization framework.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If traditional shared information access techniques are used, then data integrity is maintained, but overhead from latch requests increases

Engineering Contradiction:
Improvedata integrityVSAvoidlatch request overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the latch acquisition step from the read operation path for hot read ranges. By identifying pages that are predominantly accessed for reading and marking them as hot read ranges, the system removes the latch request overhead from these specific operations. Write operations to hot ranges still acquire appropriate locks to maintain data integrity, while read operations can proceed directly without latch acquisition, thereby reducing overall system overhead.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11734277B2Database buffer pool optimization
Publication Date: 2023.08.22 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11734277B2 patent drawing
  • US11734277B2 patent drawing
  • US11734277B2 patent drawing

AI summary

An approach is provided for optimizing a database buffer pool. Based on statistics about read and write operations in a range of pages, the range of pages is determined to be a candidate for a hot read range for which locks and latches are avoided in processing operations in the hot read range. Using an on-time trigger or pre-trigger process, the hot read range is created from the range of pages by marking start and end points in the range of pages. Write operation(s) are determined to be included in the hot read range by marking an object control block. The write operation(s) are added to a write pending list. The read operations in the hot read range are performed without a latch or lock. The write operation(s) are merged from the write pending list to the range of pages and the write operation(s) are performed.