Persistent Database Result Set Chunking and Cloud Offloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage and retrieval systems are inefficient in handling large result sets, leading to slow query execution, resource bottlenecks, and limitations in result set consumption, such as synchronous consumption, inability to scroll through results, and lack of auditing and sharing capabilities.

Innovation Solution

The system leverages cloud infrastructure to offload large result sets into chunks stored in cloud storage, using metadata to enable asynchronous consumption and parallel processing, allowing clients to access chunks directly and decoupling query execution from result set consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the entire result set is sent back from the database server to the client in one computer network pipe, then the query execution is simple, but the query and retrieval of the result set becomes slow

Engineering Contradiction:
Improvequery execution simplicityVSAvoidquery retrieval speed
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent divides the large result set into multiple chunks that are sent through separate computer network pipes in parallel. Each chunk is transmitted independently, allowing simultaneous data flow through multiple network channels, which significantly increases the overall retrieval speed compared to sending the entire result set through a single pipe

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-dimensional sequential data transmission model to a multi-dimensional parallel transmission model by utilizing multiple network pipes simultaneously. This dimensional change in the data transmission approach enables concurrent transfer of data chunks, resolving the speed limitation of single-pipe transmission while maintaining execution simplicity

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

2Quantity of substance

If the result set is produced sequentially, then the database server uses fewer resources, but the result set delivery is slow

Engineering Contradiction:
Improveserver resource usageVSAvoidresult set delivery speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the result set into multiple chunks that can be produced and transmitted in parallel rather than sequentially. This segmentation enables the database server to utilize multiple processing threads or workers to generate different chunks simultaneously, increasing delivery speed while distributing resource consumption across multiple processing units

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements continuous parallel production of result set chunks, where multiple chunks are being generated and transmitted simultaneously without idle periods. This continuous parallel action maximizes the utilization of database server resources throughout the query execution process, eliminating the downtime that occurs in sequential processing between completion of one chunk and start of the next

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If database server resources are held to support delivery of a large result set, then the result set can be delivered complete, but the database server cannot free up resources to run new queries

Engineering Contradiction:
Improveresult set delivery completenessVSAvoidquery throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the result set chunks from the database server's primary processing flow and transmits them through dedicated parallel network pipes. This extraction allows the database server to release resources associated with each chunk after transmission begins, while the parallel pipe infrastructure ensures continuous delivery without requiring resources to be held until complete consumption by the client

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces parallel network pipes as intermediary transmission channels between the database server and the client. These intermediary pipes buffer and forward result set chunks independently, allowing the database server to decouple from the client's consumption rate and free resources for new queries while maintaining reliable delivery through the intermediary pipe infrastructure

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If the client must consume the result set from the same machine and client where the query is submitted, then the system is simple, but the user cannot go back to a result set after it has been produced and cannot share results among different clients

Engineering Contradiction:
Improvesystem simplicityVSAvoidresult set accessibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent creates copies of the result set chunks that are transmitted through parallel pipes and made available to multiple clients. Instead of requiring the original client to consume the entire result set sequentially, the system generates and distributes copies of the data through the parallel pipe infrastructure, enabling different clients to access and consume the same result set independently

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent transforms the result set consumption model from a single-client sequential model to a multi-client parallel model by adding the dimension of concurrent access through multiple network pipes. This dimensional change enables result sets to be consumed by multiple clients simultaneously from different machines, providing backwards access and sharing capabilities while maintaining the underlying data structure

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

Data Source

PatentUS11836132B2Managing persistent database result sets
Publication Date: 2023.12.05 SNOWFLAKE INC
  • US11836132B2 patent drawing
  • US11836132B2 patent drawing
  • US11836132B2 patent drawing

AI summary

A method, system, and apparatus for managing a persistent query result set are disclosed. A resource manager is disclosed that receives a query from a client over a computer network. A computer database server is disclosed that executes the query and generates a result set based on and in response to the received query. An execution platform is disclosed that divides the result set into a plurality of chunks, wherein each chunk comprises a portion of the generated result set. The resource manager adds metadata to each of the plurality of chunks. A first chunk of the plurality of chunks comprises metadata pointing to the plurality of chunks. The resource manager delivers at least the first chunk of the plurality of chunks to the client in response to the query. The execution platform offloads the remaining plurality of chunks to cloud storage in parallel.