Database Record Pre-fetch via Index Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data pre-fetching methods in database systems are ineffective because they rely on anticipating the needs of database applications, leading to unnecessary disk access and high latency, as they do not accurately predict which records will be requested next.

Innovation Solution

A method that identifies index records through observed I/O activity or by modifying the database application to use services that retrieve and pre-fetch database records based on index information, ensuring that records likely to be needed are proactively loaded into semiconductor memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If pre-fetching records is performed without using index records, then records can be loaded into memory, but the latency is not significantly reduced because the wrong records may be pre-fetched

Engineering Contradiction:
Improveaccess latencyVSAvoidpre-fetch accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary action by detecting when a database application reads an index record and proactively pre-fetching the associated database records into memory before they are actually requested. This preliminary loading of data into the buffer cache reduces subsequent access latency while ensuring accuracy through index-based identification of the correct records to pre-fetch.

Inventive Principle:
Principle #10Preliminary action

2Speed

If database applications directly access mass-storage devices, then data can be retrieved, but access times are long due to disk I/O operations

Engineering Contradiction:
Improvedata access speedVSAvoiddisk access time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system performs preliminary action by detecting when a database application reads an index record and proactively pre-fetching the associated database records into memory before they are actually requested. This preliminary loading of data into the buffer cache reduces subsequent access latency while ensuring accuracy through index-based identification of the correct records to pre-fetch.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The buffer cache serves as an intermediary between the mass-storage device and the database application. Instead of direct disk access, the system uses this intermediate memory layer to store frequently accessed records, thereby reducing the speed difference between fast memory and slow disk operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If semiconductor memory is used instead of mass-storage devices, then access times are much shorter, but the cost per unit of data stored is higher

Engineering Contradiction:
Improveaccess timeVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system applies local quality by using semiconductor memory (buffer cache) selectively for specific database records that are identified through index records and are likely to be accessed soon. Rather than attempting to store entire databases in expensive memory, the system locally caches only the relevant portions in memory while maintaining mass storage for the complete dataset.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8463781B1Pre-fetch of records identified by an index record
Publication Date: 2013.06.11 EMC IP HLDG CO LLC
  • US8463781B1 patent drawing
  • US8463781B1 patent drawing
  • US8463781B1 patent drawing

AI summary

A method for pre-fetching database records from a database includes identifying an index record containing index entries that identify those database records. This information is then retrieved from the index entries and used to pre-fetch the database records.