In-Memory Database Query Analyzer Sequencer Data Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory databases face reduced processing speed and inefficient query execution due to improper data loading sequences and dependencies between queries and datasets, leading to potential data loss and priority misalignment during hardware or software disruptions.

Innovation Solution

A system with a query analyzer and sequencer that identifies query dependencies and relationships to optimize dataset loading by selecting independent candidate datasets based on importance values and iteratively updating the loading sequence to ensure efficient and prioritized data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is loaded from offline memory into main memory for processing, then processing speed is improved, but data loss risk increases due to volatile memory characteristics

Engineering Contradiction:
Improveprocessing speedVSAvoiddata loss risk
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary actions by identifying query dependencies and optimizing data loading sequences before actual processing occurs. The dependency graph is constructed in advance to determine the optimal order of loading datasets, ensuring that high-priority queries have their required data available while minimizing the window of vulnerability to data loss.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all datasets are loaded into main memory simultaneously, then query execution efficiency is improved, but memory resource consumption increases

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidmemory resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system segments the data loading process by dividing datasets into priority groups based on query dependencies and importance values. Instead of loading all data simultaneously, the sequencer loads datasets in segments according to the optimized sequence, loading only the necessary portions into main memory at any given time while keeping other data in offline storage.

Inventive Principle:
Principle #1Segmentation

3Loss of time

If data loading sequence is optimized based on query dependencies, then query execution time is reduced, but system complexity increases

Engineering Contradiction:
Improvequery execution timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically constructing the dependency graph and determining loading sequences without requiring manual intervention. The sequencer autonomously analyzes query characteristics, identifies dependencies, calculates importance values, and generates the optimized loading sequence, reducing the need for complex external scheduling mechanisms.

Inventive Principle:
Principle #25Self-service

4Productivity

If high-priority queries are executed first, then business value is maximized, but data loading complexity increases due to priority management

Engineering Contradiction:
Improvebusiness value deliveryVSAvoidpriority management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system changes the parameter of data selection by introducing an importance value metric for datasets. The sequencer evaluates datasets based on their importance values (derived from query priorities) and loads high-importance datasets first. This parameter-based approach simplifies priority management compared to manual scheduling, as the system automatically adjusts loading behavior based on the calculated importance metrics.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9984118B2Data loading techniques for an in-memory database
Publication Date: 2018.05.29 SAP SE
  • US9984118B2 patent drawing
  • US9984118B2 patent drawing
  • US9984118B2 patent drawing

AI summary

A query analyzer may be used to identify a plurality of queries and associated query characteristics, the query characteristics including a corresponding dataset of data units for each query, wherein the data units are to be loaded from an offline memory into a memory of an in-memory database. Then, a sequencer may be used to select a selected dataset for loading into the memory of the in-memory database, based on dependencies between the plurality of queries as included within the query characteristics, and on relationships, if any, between the datasets.