View Cache Segmentation for Efficient Query Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face inefficiencies in managing cache specifications for views, leading to excessive CPU and memory consumption due to the need for additional processing on cached query results, especially when subsequent queries require data manipulation operations.

Innovation Solution

Implementing multiple cache specifications for a single view, each with distinct grouping and filtering criteria, allowing the system to select the most efficient cache for a given query based on a matching heuristic, thereby reducing unnecessary processing and memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a single cache is used for a view, then memory consumption is reduced, but additional processing is required on cached query results which increases CPU usage and time

Engineering Contradiction:
Improvememory consumptionVSAvoidquery processing efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent divides a single cache into multiple segment caches, each storing query results for specific subsets of rows defined by segment conditions. This segmentation allows the system to retrieve only relevant cached results without processing entire cache contents, resolving the contradiction by reducing both memory consumption (through targeted caching) and processing time (through direct segment access).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different segments of the cache are optimized for different query patterns and data subsets. Each segment cache is tailored to specific segment conditions, providing local quality optimization where each cache segment is specialized for its particular data subset, thereby improving query processing efficiency while maintaining reasonable memory usage.

Inventive Principle:
Principle #3Local quality

2Use of energy by moving object

If cached query results are reused for subsequent queries, then computing resources are saved, but data manipulation operations require additional processing which consumes memory and processor resources

Engineering Contradiction:
Improvecomputing resourcesVSAvoidmemory and processor resources
Core Design Contradiction:
Use of energy by moving objectVSQuantity of substance

Solution Approach 1:

The system performs preliminary actions by pre-segmenting the cache into multiple segment caches based on segment conditions before queries are executed. This preliminary organization allows subsequent queries to directly access relevant segments without requiring additional processing of unrelated data, thus saving computing resources while minimizing memory and processor resource consumption during query execution.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple caches with different specifications are created for a single view, then query processing efficiency is improved, but memory consumption increases

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Instead of creating entirely separate caches, the patent segments a single cache into multiple segment caches that share the same underlying storage structure. This segmentation approach improves query processing efficiency by enabling targeted access to specific data subsets while avoiding the memory overhead of duplicating entire cache contents across multiple caches.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4099179B1Managing multiple cache specifications within a database environment
Publication Date: 2026.02.25 SAP SE
  • EP4099179B1 patent drawingFigure 1
  • EP4099179B1 patent drawingFigure 2
  • EP4099179B1 patent drawingFigure 3

AI summary

Technologies are described for managing multiple cache specifications for a single view in a database environment. For example, a plurality of caches can be crated for the single view. Each of the plurality of caches can have a different cache specification. A query can then be received that operates on the single view. One of the plurality of caches can be selected for processing the query based at least in part on the cache specifications. The query can be processed using the selected cache. Results of processing the query can be output.