Centralized Cache for Database Query Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems in data lakes face inefficiencies due to the need for recalculating queries across multiple independent systems, leading to excessive resource usage and lack of shared processing optimizations.

Innovation Solution

Implementing a centralized cache system that uses unique identifiers for tables and query results, allowing database systems to check if results are cached before processing, and retrieving or processing based on cost comparison to minimize resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If multiple independent database systems process queries separately, then each system maintains operational independence, but processing resources are wasted due to redundant calculations

Engineering Contradiction:
Improveprocessing resourcesVSAvoidsystem architecture
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

A centralized cache system is introduced as an intermediary between multiple independent database systems. The cache stores query results with unique identifiers, allowing database systems to check for existing results before processing. This mediator enables resource sharing and result reuse while preserving the operational independence of individual database systems, thus reducing redundant calculations without requiring complex integration between systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If query results are cached centrally, then processing efficiency improves by avoiding redundant calculations, but system complexity increases

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidcache system architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The cache system is designed with clear segmentation: query results are stored with unique identifiers that separate different queries and their results. Each database system independently generates commands with unique identifiers and checks the cache for matching results. This segmentation allows the cache to scale and manage complexity through structured organization rather than monolithic design, improving productivity while controlling system complexity.

Inventive Principle:
Principle #1Segmentation

3Loss of energy

If database systems share a centralized cache, then resource usage is optimized across systems, but implementation complexity increases

Engineering Contradiction:
Improvecomputational resourcesVSAvoidsystem implementation
Core Design Contradiction:
Loss of energyVSEase of manufacture

Solution Approach 1:

The centralized cache system serves multiple functions: storing query results, providing result validation, enabling resource optimization, and maintaining system independence. The unique identifier mechanism provides a universal interface that works across different database systems and query types. This multi-functionality consolidates multiple benefits into a single implementation approach, optimizing resource usage while managing implementation complexity through a unified solution.

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

Data Source

PatentUS11429611B2Processing data of a database system
Publication Date: 2022.08.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11429611B2 patent drawing
  • US11429611B2 patent drawing
  • US11429611B2 patent drawing

AI summary

The present disclosure relates to a method for processing data of a database system, the database system being configured to connect to a centralized cache shared with other database systems. The method includes determining a unique identifier of the content of a table of the database system using a common identification method of the database systems. A database command may be generated for processing data of the table. The command references the identifier. It may be determined if the cache comprises results of a same command with the same identifier. The command may be processed at the database system or the results of the command may be retrieved from the cache depending on whether the cache comprises the results.