Disk-Based HTAP Query Processing with Partial Page Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional hybrid transactional analytical processing (HTAP) databases are optimized for in-memory computation, leading to high total cost of ownership due to the high cost and power consumption of main memory, and existing cache replacement policies do not efficiently manage partial data pages.

Innovation Solution

Implementing a disk-based HTAP database using solid state devices (SSDs) like NVMe block devices, optimizing cache replacement policies for partial data pages, and employing a chunk-based approach to minimize latency and bandwidth by loading only necessary data chunks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If in-memory computation is used for HTAP databases, then query processing speed is improved, but total cost of ownership and power consumption increase

Engineering Contradiction:
Improvequery processing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The patent segments data pages into partial data pages containing only the columns needed for query processing. This allows the system to load and process only necessary data portions in memory, reducing memory requirements and power consumption while maintaining query processing speed for analytical operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial data page loading where only the required columns (predicate columns and aggregate columns) are loaded into memory instead of complete data pages. This partial action approach reduces memory footprint and power consumption while still achieving the necessary query processing performance.

Inventive Principle:
Principle #16Partial or excessive action

2Ease of operation

If complete data pages are loaded into memory, then query processing is simplified, but memory footprint and cost increase

Engineering Contradiction:
Improvequery processing simplicityVSAvoidmemory footprint
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent divides data pages into segments based on column requirements. Partial data pages are created containing only the specific columns needed for the query (predicate columns for filtering and aggregate columns for computation), eliminating the need to load unnecessary columns into memory.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the necessary columns from complete data pages to create partial data pages. This extraction process removes unnecessary data from memory loading, reducing memory footprint while maintaining query processing capability.

Inventive Principle:
Principle #2Taking out (Extraction)

3Device complexity

If conventional cache replacement policies are used, then cache management is simple, but efficiency in managing partial data pages is reduced

Engineering Contradiction:
Improvecache management complexityVSAvoidquery processing efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent implements dynamic cache replacement policies that adapt to the specific characteristics of partial data pages. The system dynamically determines which partial data pages to retain or evict based on query patterns and data access requirements, improving cache efficiency for analytical workloads while managing the complexity of partial page management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12481659B2Query processing for disk based hybrid transactional analytical processing system
Publication Date: 2025.11.25 SAP SE
  • US12481659B2 patent drawing
  • US12481659B2 patent drawing
  • US12481659B2 patent drawing

AI summary

A method for processing a query may include receiving a query associated with one or more predicate columns and one or more aggregate columns. To respond to the query, one or more partial data pages including the one or more predicate columns but not the one or more aggregate columns may be loaded from disk to memory. For each partial data page, a first value occupying the one or more predicate columns may be evaluated to identify one or more rows satisfying a predicate associated with the query. A portion of a data page containing the aggregate columns may be loaded from disk into memory. A result of the query corresponding to a second value occupying the aggregate columns may be generated based on the portion of the data page loaded in the memory. Related systems and articles of manufacture are also provided.