SQL Query Subscription Service for Database Load Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face significant load from frequent execution of SQL queries that return data that changes infrequently, leading to increased resource utilization and potential performance bottlenecks.

Innovation Solution

The system separates SQL queries into caching and non-caching clauses, caching results from caching clauses and storing them in a subscription service cache, which reduces the database load for subsequent executions of similar queries by generating a subscription and using a two-stage query execution process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If SQL queries are executed frequently to retrieve data, then data availability and responsiveness are improved, but database load and resource utilization increase

Engineering Contradiction:
Improvequery response speedVSAvoiddatabase resource utilization
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system executes queries in advance and caches results before they are actually needed. When a query is received, the system checks if results are already available in the cache, avoiding redundant database executions. This preliminary caching action reduces database load while maintaining fast response times for frequently accessed data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies different processing strategies to different parts of the query based on data change frequency. For queries returning infrequently changing data, results are cached locally in memory. For frequently changing data, the system bypasses caching and queries the database directly. This localized quality approach optimizes resource usage for each specific data access pattern.

Inventive Principle:
Principle #3Local quality

2Loss of energy

If query results are cached to reduce database load, then resource utilization is reduced, but data freshness and accuracy may deteriorate

Engineering Contradiction:
Improvedatabase resource utilizationVSAvoiddata freshness
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The caching system dynamically adapts its behavior based on data change frequency and query patterns. It monitors when underlying data changes and automatically invalidates or updates cached results accordingly. This dynamic approach ensures that cached data remains fresh and accurate while still providing performance benefits, resolving the contradiction between resource savings and data reliability.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If the system caches query results, then query execution time is reduced, but system complexity increases due to cache management

Engineering Contradiction:
Improvequery execution timeVSAvoidcache management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The caching system operates autonomously without requiring complex manual management. It automatically determines what to cache, when to cache it, and when to invalidate cached results based on query analysis and data change detection. This self-service capability reduces the operational complexity of cache management while maintaining performance improvements.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11327963B2Data retrieval systems and methods
Publication Date: 2022.05.10 ATLASSIAN US INC
  • US11327963B2 patent drawing
  • US11327963B2 patent drawing
  • US11327963B2 patent drawing

AI summary

Described herein is a computer implemented method. The method comprises processing clauses included in an original SQL query to add each clause to either a set of caching clauses or a set of non-caching clauses and determining whether a subscription should be created. In response to determining the subscription should be created, the method comprises creating the subscription by generating a first stage SQL query based on the set of caching clauses, causing execution of the first stage SQL query to obtain a set of first stage query results from a database; and storing the set of first stage query results in a cache.