Back to results
US 11,238,060 B2Granted
Query plans for analytic SQL constructs
AssigneeSnowflake Inc.
InventorsThierry Cruanes, Benoit Dageville, Allison Waingold Lee
Life of this patent
Estimating the term…
Abstract
A system and method for managing data storage and data access with querying data in a distributed system without buffering the results on intermediate operations in disk storage.
Claims27
A method comprising:
- initiating, within a first execution node of an execution platform, a first operator in a query plan to process a set of data and generate an intermediate result of a query;
- determining whether the first operator has finished processing the set of data;
- and
- after determining that the first operator has finished processing the set of data:
- pushing, during execution of the query plan, the intermediate result of the first operator to a plurality of secondary operators as the intermediate result is generated;
- initiating, by one or more processors, each of the other secondary operators to concurrently process the intermediate result to generate a plurality of second results, wherein a timing of processing of the intermediate result by each of the other secondary operators is adjusted to coordinate the generation of the plurality of second results based on a final operation to be executed on the plurality of second results;
- executing the final operation on the plurality of second results to generate a final result;
- and
- storing the final result to disk storage.
6 more elements
A system comprising:
- a memory;
- and
- one or more processors, operatively coupled to the memory, the one or more processors to:
- initiate, within a first execution node of an execution platform, a first operator in a query plan to process a set of data and generate an intermediate result of a query;
- determine whether the first operator has finished processing the set of data;
- and
- after determining that the first operator has finished processing the set of data:
- push, during execution of the query plan, the intermediate result of the first operator to a plurality of secondary operators as the intermediate result is generated;
- initiate each of the other secondary operators to concurrently process the intermediate result to generate a plurality of second results, wherein a timing of processing of the intermediate result by each of the other secondary operators is adjusted to coordinate the generation of the plurality of second results based on a final operation to be executed on the plurality of second results;
- execute the final operation on the plurality of second results to generate a final result;
- and
- store the final result to disk storage.
9 more elements
A non-transitory computer-readable medium having instructions stored thereon which, when executed by one or more processors cause the one or more processors to:
- initiate, within a first execution node of an execution platform, a first operator in a query plan to process a set of data and generate an intermediate result of a query;
- determine whether the first operator has finished processing the set of data;
- and
- after determining that the first operator has finished processing the set of data:
- push, during execution of the query plan, the intermediate result of the first operator to a plurality of secondary operators as the intermediate result is generated;
- initiate, by the one or more processors, each of the other secondary operators to concurrently process the intermediate result to generate a plurality of second results, wherein a timing of processing of the intermediate result by each of the other secondary operators is adjusted to coordinate the generation of the plurality of second results based on a final operation to be executed on the plurality of second results;
- operate on the plurality of second results to generate a final result;
- and
- store the final result to disk storage.
6 more elements
Dependencies are inferred from the claim text.