Database Prefetching Using Adjacent Column Access Patterns

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database prefetching techniques are inefficient for column-oriented and row-column hybrid storage, as they fail to utilize query predicates and metadata, leading to unnecessary data prefetching and increased computing resource burden.

Innovation Solution

A method that determines sets of adjacent columns accessed by a database query and prefetches data in those columns, optionally processing metadata to identify current and next blocks for efficient data retrieval, thereby optimizing prefetching in row-column hybrid storage systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional database prefetching techniques are used, then query execution can proceed, but unnecessary columns are prefetched into memory, increasing computing resource burden

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidcomputing resource burden
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent extracts and utilizes only the necessary column information from query predicates and projections to determine which columns should be prefetched. By analyzing the query's projection clauses and predicate conditions, the system identifies and extracts specifically the columns that will actually be accessed, excluding unnecessary columns from the prefetching process.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies local quality by treating different columns differently based on their relevance to the query. Instead of uniformly prefetching all columns, the system selectively prefetches only those columns that match the query's projection and predicate requirements, optimizing resource allocation based on local (column-specific) needs.

Inventive Principle:
Principle #3Local quality

2Productivity

If traditional database prefetching techniques are used, then data can be retrieved, but metadata is not utilized, leading to suboptimal prefetching decisions

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidunused metadata information
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent implements feedback by utilizing metadata about columns and data blocks to inform prefetching decisions. The system queries metadata to understand column characteristics, data block structures, and query requirements, then uses this feedback information to dynamically adjust which data blocks and columns should be prefetched, creating a closed-loop optimization system.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If row-oriented prefetching techniques are used, then row access patterns are optimized, but column-oriented and row-column hybrid storage systems do not benefit

Engineering Contradiction:
Improvestorage system compatibilityVSAvoidprefetching efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent achieves universality by designing a prefetching mechanism that works across multiple storage paradigms. The system analyzes query characteristics and adapts its prefetching strategy based on whether the underlying storage is row-oriented, column-oriented, or row-column hybrid, making the same core algorithm universally applicable while optimizing for each storage type's specific access patterns.

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

Data Source

PatentUS11416451B2Method and system to prefetch data in databases
Publication Date: 2022.08.16 CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
  • US11416451B2 patent drawing
  • US11416451B2 patent drawing
  • US11416451B2 patent drawing

AI summary

The present disclosure provides systems and methods for prefetching data in databases. One method for prefetching data in a database comprises receiving a database query on the database, determining one or more sets of adjacent columns access by the database query, and for each set of adjacent columns of the one or more determined sets, prefetching data in the adjacent columns.