Multi-Cluster Query Result Caching with Remote Persistence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cluster computing systems face delays in query execution due to the transient nature of clusters and associated caches, which are frequently terminated, requiring users to re-execute queries when caches are evicted.

Innovation Solution

Implement a multi-cluster computing system with an in-memory query result cache and a remote cloud storage query result cache to store previously executed query results, allowing clusters to efficiently retrieve cached data from either cache layer, reducing the need for re-execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If clusters are frequently terminated for auto-scaling or automatic stop time, then resource management efficiency is improved, but query execution time increases due to cache eviction

Engineering Contradiction:
Improveresource management efficiencyVSAvoidquery execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a persistence dimension to the caching system by implementing a remote cache store that survives cluster termination. This transforms the cache from a temporary in-memory structure to a persistent storage layer, allowing query results to be retained across cluster lifecycle events while maintaining fast access through the driver node's in-memory cache.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The system performs preliminary actions by pre-loading frequently accessed query results into the in-memory cache before they are needed, and by persisting results to the remote cache store in advance. This ensures that when clusters are terminated or restarted, the most recent and frequently accessed results are already available in the persistence layer.

Inventive Principle:
Principle #10Preliminary action

2Speed

If in-memory query result cache is implemented, then query execution speed is improved, but cache data is lost when cluster is terminated

Engineering Contradiction:
Improvequery execution speedVSAvoidcached query results
Core Design Contradiction:
SpeedVSLoss of information

Solution Approach 1:

The patent introduces a remote cache store as an intermediary between the in-memory cache and persistent storage. This intermediary layer receives query results from the in-memory cache and stores them persistently, while maintaining a reference back to the in-memory cache for fast retrieval. This mediator resolves the contradiction by providing both speed (through in-memory access) and persistence (through the remote store).

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements a nested cache architecture where the in-memory query result cache is nested within the driver node, and the remote cache store is nested within the data storage system. The in-memory cache acts as a nested layer that provides fast access to frequently used data, while the remote cache store provides a nested persistence layer that survives cluster termination.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Reliability

If remote cloud storage query result cache is implemented, then data persistence is improved, but data processing time increases due to remote access

Engineering Contradiction:
Improvedata persistenceVSAvoiddata processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the caching system into two distinct components: an in-memory query result cache for fast, temporary storage and a remote cloud storage query result cache for persistent storage. This segmentation allows the system to serve different needs from different layers - speed from the in-memory layer and persistence from the remote storage layer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies local quality by providing different storage characteristics at different locations in the hierarchy. The in-memory cache provides high-speed, volatile storage for frequently accessed data, while the remote cloud storage provides durable, persistent storage for long-term retention. Each layer has optimized for its specific quality attribute.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS12360995B2Multi-cluster query result caching
Publication Date: 2025.07.15 DATABRICKS INC
  • US12360995B2 patent drawing
  • US12360995B2 patent drawing
  • US12360995B2 patent drawing

AI summary

A multi-cluster computing system which includes a query result caching system is presented. The multi-cluster computing system may include a data processing service and client devices communicatively coupled over a network. The data processing service may include a control layer and a data layer. The control layer may be configured to receive and process requests from the client devices and manage resources in the data layer. The data layer may be configured to include instances of clusters of computing resources for executing jobs. The data layer may include a data storage system, which further includes a remote query result cache Store. The query result cache store may include a cloud storage query result cache which stores data associated with results of previously executed requests. As such, when a cluster encounters a previously executed request, the cluster may efficiently retrieve the cached result of the request from the in-memory query result cache or the cloud storage query result cache.