Extensible Stream Objects for External Data Querying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data warehouse systems face challenges in efficiently processing queries on very large tables, requiring significant time and computing resources, and lack support for accessing external data sources via streams.

Innovation Solution

The implementation of an extensible stream using a stream object that facilitates transactional operations on external data stream platforms, enabling the tracking and processing of delta changes in external data sources, thereby improving query performance and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional query processing is used on very large tables, then data can be accessed and analyzed, but significant time and computing resources are required to scan the entire table

Engineering Contradiction:
Improvequery accuracyVSAvoidquery execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent segments the large table into multiple smaller partitions or chunks that can be independently processed. Instead of scanning the entire table, the query system divides the data into manageable segments, processes only relevant segments based on query predicates, and combines results. This segmentation enables parallel processing and reduces the time required to execute queries on very large datasets.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If traditional query processing is used on very large tables, then data can be accessed and analyzed, but significant computing resources are required

Engineering Contradiction:
Improvequery accuracyVSAvoidcomputing resource consumption
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The patent extracts and utilizes metadata about data partitions, such as minimum and maximum values for different columns. This metadata allows the system to determine which partitions contain data relevant to the query without scanning all data. By extracting this summary information, the system avoids processing irrelevant partitions, significantly reducing computing resource consumption while maintaining query accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If streams from external data stream platforms are integrated, then query performance and latency are improved, but system complexity increases

Engineering Contradiction:
Improvequery processing efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces stream objects as intermediary components that bridge the database system and external data stream platforms. These stream objects encapsulate the complexity of external stream processing, providing a standardized interface for data ingestion and querying. By using this intermediary layer, the system can leverage external streaming capabilities without directly managing the underlying platform complexity, thus improving productivity while controlling system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11216421B2Extensible streams for operations on external systems
Publication Date: 2022.01.04 SNOWFLAKE INC
  • US11216421B2 patent drawing
  • US11216421B2 patent drawing
  • US11216421B2 patent drawing

AI summary

The subject technology determines, using a stream object provided by a network-based database system separate from an external system, a set of offsets of each shard of a set of shards, the set of offsets being determined by executing a user defined function (UDF) included in the stream object, the stream object and the UDF being implemented in a particular programming language different than a database query language. The subject technology identifies an operation to perform on the set of shards. The subject technology, based on the set of shards and the set of offsets, performs, using the UDF included in the stream object, the operation on an external data source hosted by the external system. The subject technology increments a property indicating a different version of the stream object after performing the operation on the external data source, the property being included in the stream object.