Cloud Database Query Optimization via Best-Effort Cache Population

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data management and query optimization systems in cloud database storage face challenges such as stale data, bottlenecks due to slow write and read speeds, and inefficiencies in handling data from diverse sources and formats.

Innovation Solution

A computer-implemented method and system for optimizing query processing in a cloud database storage system using a best-effort cache population, which involves receiving a query, transmitting query parameters to a metadata service, distributing files related to the query to processing nodes, and scanning these files for data matching the query parameters while concurrently copying files to the cache.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If locally cached copies are maintained, then query performance is improved, but data freshness deteriorates

Engineering Contradiction:
Improvequery processing performanceVSAvoiddata freshness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by proactively copying files to processing nodes before they are needed for queries. The metadata service maintains a cache of recently accessed files and actively copies relevant files to processing nodes in advance, so that when queries arrive, the data is already available locally without waiting for stale data to be refreshed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts caching behavior based on access patterns and file characteristics. The metadata service monitors which files are accessed most frequently and proactively copies those to processing nodes. The system also dynamically decides whether to copy files based on their modification status, ensuring that only necessary files are cached, thus balancing performance improvement with data freshness requirements.

Inventive Principle:
Principle #15Dynamics

2Speed

If files are copied to local cache, then read speed is improved, but write speed bottleneck increases

Engineering Contradiction:
Improveread speedVSAvoidwrite throughput
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system applies partial action by selectively copying only the necessary files to processing nodes rather than copying all files. The metadata service determines which files are needed for upcoming queries based on access patterns and query predictions, copying only those specific files. This partial copying approach reduces the write throughput burden on the storage service while still providing fast read access for the queried files.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary file copying actions before queries are executed. By proactively copying files to processing nodes in advance based on predicted query patterns, the system prepares data for fast local reading without creating immediate write bottlenecks during query execution time.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If all files are copied to processing nodes, then query performance is improved, but resource consumption increases

Engineering Contradiction:
Improvequery processing speedVSAvoiddata storage consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system segments the data into individual files and selectively copies only the necessary segments to processing nodes. Rather than copying entire datasets or all files, the metadata service identifies and copies only specific files that are likely to be needed for upcoming queries, based on access patterns and query predictions. This segmentation approach reduces the total data quantity stored in caches while maintaining query processing performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system applies partial action by copying only the necessary files rather than all files. The metadata service analyzes query patterns and selectively copies only those files that are most likely to be accessed, avoiding the resource consumption of copying and storing unnecessary data across all processing nodes.

Inventive Principle:
Principle #16Partial or excessive action

4Device complexity

If files are scanned sequentially, then processing simplicity is maintained, but query response time increases

Engineering Contradiction:
Improveprocessing simplicityVSAvoidquery response time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-scanning and indexing files during the copying process. When files are copied to processing nodes, the system simultaneously creates indexes and metadata about the file contents, so that when queries arrive, the processing nodes already have the necessary indexing information to quickly locate matching data without performing sequential scans.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically switches from sequential scanning to indexed searching based on data availability. When files are freshly copied and indexed, the system uses efficient indexed searches instead of sequential scans. The indexing process is dynamically maintained as files are copied and updated, allowing the system to adapt its search strategy based on current data states.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20250173335A1Systems and methods for data management and query optimization
Publication Date: 2025.05.29 SENTINEL LABS ISRAEL
  • US20250173335A1 patent drawing
  • US20250173335A1 patent drawing
  • US20250173335A1 patent drawing

AI summary

A central node can: receive a query comprising at least one parameter comprising a time range of a dataset stored in a cloud storage system; transmit one or more of the query parameters comprising the time range to a metadata service; receive from the metadata service a list of files related to the query; and assign to each processing node of a plurality of processing nodes a subset of the files. Each processing node can: determine that the subset is not stored on a cache; retrieving the subset not stored on the cache from the cloud storage system; store the retrieved subset in a local memory; scan the subset stored in the local memory for data matching the at least one parameter to generate a subset of query results; and concurrently copy using a separate thread from the scanning, the subset stored in the local memory to the cache.