Transparent Data Cache for Interactive Analytics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional SQL-on-Big Data approaches face challenges in providing interactive analytics due to high latency and the need for manual creation of reflections for pre-extracting data, which limits ad-hoc analytics and introduces performance degradation in cloud environments.

Innovation Solution

A data system that automatically caches frequently accessed data from external data sources to a local cluster of nodes, using a unit of hashing to map data objects to nodes and a unit of caching to store only frequently accessed sections, thereby reducing latency and enhancing interactive performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SQL-on-Big Data tools are used to process data in the same cluster where data is stored, then data processing capability is improved, but latency increases and interactive analytics performance deteriorates

Engineering Contradiction:
Improvedata processing capabilityVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-loads frequently accessed data from external data sources into a local cache before it is needed for query processing. This preliminary action ensures that hot data is already available in memory when queries arrive, eliminating the latency associated with reading from external sources during query execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a cache layer as an intermediary component between the query processing engine and external data sources. This cache acts as a mediator that holds copies of frequently accessed data, allowing queries to be satisfied from the fast local cache rather than requiring direct access to slow external data sources.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If data is pre-extracted and stored as OLAP cubes outside the data lake, then interactive speed is improved, but ad-hoc analytics capability is limited

Engineering Contradiction:
Improveinteractive speedVSAvoidad-hoc analytics capability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The cache is designed to be dynamic rather than static, automatically adapting its contents based on query patterns and data access frequencies. The system continuously monitors which data is being accessed and adjusts the cache contents accordingly, allowing it to support both pre-defined analytics and ad-hoc queries on the full dataset without requiring manual re-extraction.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The cache serves multiple functions: it acts as a performance accelerator for frequently accessed data, a flexible storage layer for ad-hoc analytics, and an automatic data extraction mechanism. Unlike traditional OLAP cubes that are limited to pre-defined structures, this universal cache can hold any data from the external sources and adapt to different query types and analytics needs.

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

3Speed

If manual data pre-extraction is performed to create reflections, then query performance is improved, but system complexity and operational overhead increase

Engineering Contradiction:
Improvequery performanceVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically identifying which data should be cached and extracting it without requiring manual intervention. The cache management system monitors query patterns, determines which external data sources and tables are frequently accessed, and automatically pre-loads that data into the cache, eliminating the need for manual reflection creation and data extraction processes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system implements feedback mechanisms that monitor query workloads and cache performance, using this information to dynamically adjust what data is cached. This feedback loop allows the system to automatically optimize itself based on actual usage patterns, reducing the complexity of manual configuration while maintaining high query performance.

Inventive Principle:
Principle #23Feedback

4Reliability

If external data sources are accessed directly for each query, then data freshness is maintained, but query response time increases

Engineering Contradiction:
Improvedata freshnessVSAvoidquery response time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary data retrieval by caching copies of external data sources before they are needed for query processing. This advance preparation ensures that data is available immediately when queries are executed, maintaining data freshness while eliminating the time penalty of direct external source access during query time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates and maintains copies of external data source content in the local cache. These copies allow queries to be executed against the cached data rather than requiring direct access to external sources, significantly reducing query response time while maintaining data accuracy through periodic synchronization with the external sources.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250181582A1Data system configured to transparently cache data of data sources and access the cached data
Publication Date: 2025.06.05 DREMIO CORP
  • US20250181582A1 patent drawing
  • US20250181582A1 patent drawing
  • US20250181582A1 patent drawing

AI summary

The disclosed embodiments include a method for caching by a data system. The method includes automatically caching a portion of a data object from an external data source to a local cluster of nodes in accordance with a unit of caching. The portion of the data object can be selected for caching based on a frequency of accessing the portion of the data object. The portion of the data object in the cache is mapped to the external data source in accordance with a unit of hashing. The method further includes, responsive to the data system receiving a query for data stored in the external data source, obtaining query results that satisfy the received query by reading the portion of the cached data object instead of reading the data object from the external data source.