Computational Dependency Directory for Database Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems face challenges in optimizing query performance due to complex queries and caching issues, where determining dependencies and generating efficient query execution plans is cumbersome, leading to reduced performance and incorrect caching results.

Innovation Solution

A computational dependency directory is generated to track dependencies of database objects, allowing for centralized cache key generation and query optimization, enabling efficient query execution plans and accurate caching by considering user-specific and dynamic dependencies.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If cached data objects are used to optimize query performance, then query response time is improved, but correctness of query results deteriorates due to undetected dependencies

Engineering Contradiction:
Improvequery response timeVSAvoidcorrectness of query results
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary analysis of dependency parameters for each cached data object before storing it in the cache. This advance preparation includes identifying all dependencies (tables, views, procedures, etc.) and associating them with the cached object, so that when a query arrives, the system can immediately check if cached results are valid without re-computation, thus maintaining both speed and correctness

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements a feedback mechanism where dependency information is continuously monitored and used to validate cached data. When dependencies change (e.g., underlying tables are modified), the system receives feedback about these changes and automatically invalidates or updates corresponding cached objects, ensuring that cached results remain correct while still providing performance benefits

Inventive Principle:
Principle #23Feedback

2Measurement precision

If dependency tracking is implemented for all cached objects, then caching accuracy is improved, but system complexity increases

Engineering Contradiction:
Improvecaching accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system enables cached data objects to self-report their own dependency parameters through automated tracking mechanisms. Each cached object maintains information about its dependencies on underlying database objects, and this information is automatically updated when dependencies change. This self-service approach eliminates the need for complex manual dependency analysis and reduces overall system complexity while maintaining high caching accuracy

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The dependency tracking system is segmented into modular components: dependency identification modules, dependency storage modules, and dependency validation modules. Each module handles a specific aspect of dependency management independently, making the overall system more manageable and less complex. The segmentation allows the system to track dependencies for only those cached objects that require it, rather than universally tracking all objects

Inventive Principle:
Principle #1Segmentation

3Manufacturing precision

If comprehensive dependency parameters are stored for each cached object, then query optimization accuracy is improved, but memory consumption increases

Engineering Contradiction:
Improvequery optimization accuracyVSAvoidmemory consumption
Core Design Contradiction:
Manufacturing precisionVSQuantity of substance

Solution Approach 1:

The system applies local quality by storing comprehensive dependency parameters only for cached data objects that are likely to be reused, while using simpler or no dependency tracking for objects with low reuse probability. This selective approach maintains high query optimization accuracy for important cached objects while reducing overall memory consumption by avoiding redundant storage of dependency information for less critical objects

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11789948B2Computational dependency directory
Publication Date: 2023.10.17 SAP SE
  • US11789948B2 patent drawing
  • US11789948B2 patent drawing
  • US11789948B2 patent drawing

AI summary

A method, a system, and a computer program product for generating a computational dependency directory and executing a query on a database using generated computational dependency directory. A data object in a plurality of data objects is stored in a database storage location. The data object includes a dependency parameter being indicative of the stored data object being dependent on at least another data object in the plurality of data objects. A query to access the stored data object in the plurality of data objects is received. A determination is made, using the dependency parameter, whether the stored data object is responsive to the received query. A query execution plan is generated based on the determining and the received query. The query is executed using the query execution plan.