FRAMEWORK FOR PROVIDING INTERMEDIATE AGGREGATION OPERATORS IN A QUERY PLAN

    公开(公告)号:US20210263929A1

    公开(公告)日:2021-08-26

    申请号:US16939750

    申请日:2020-07-27

    Applicant: Snowflake Inc.

    Abstract: The subject technology receives a query plan, the query plan comprising a set of query operations, the set of query operations including at least one aggregation. The subject technology analyzes the at least one aggregation to generate a modified query plan, the modified query plan including at least a top aggregation operator, an intermediate aggregation operator, and a bottom aggregation operator. The subject technology performs, with respect to the intermediate aggregation operator, at least one operation comprising: the subject technology receives an input intermediate data type; the subject technology performs an internalize operation on the input intermediate data type to generate an internal state; the subject technology performs an accumulate operation on the internal state to generate intermediate data; and the subject technology performs an externalize operation on the intermediate data to generate an output data type.

    Placement of adaptive aggregation operators and properties in a query plan

    公开(公告)号:US10997173B2

    公开(公告)日:2021-05-04

    申请号:US16857790

    申请日:2020-04-24

    Applicant: Snowflake Inc.

    Abstract: The subject technology receives a query plan, the query plan comprising a set of query operations, the set of query operations including at least one aggregation and at least one join operation. The subject technology analyzes the query plan to identify an aggregation that is redundant. The subject technology removes the aggregation based at least in part on the analyzing. The subject technology determines at least one aggregation property corresponding to at least one query operation of the query plan. The subject technology inserts at least one adaptive aggregation operator in the query plan based at least in part on the at least one aggregation property. The subject technology provides a modified query plan based at least in part on the inserted at least one adaptive aggregation operator in the query plan.

    SYSTEM AND METHOD FOR DISJUNCTIVE JOINS
    23.
    发明公开

    公开(公告)号:US20230205769A1

    公开(公告)日:2023-06-29

    申请号:US18109099

    申请日:2023-02-13

    Applicant: SNOWFLAKE INC.

    CPC classification number: G06F16/24537 G06F16/24556

    Abstract: Joining data using a disjunctive operator is described. An example computer-implemented method can include generating, with a processing device, a query plan for a query, the query comprising a join operator expression for a disjunctive predicate, wherein the join operator expression includes a conjunctive predicate and a disjunctive operator. The method may further include generating a bloom filter for the disjunctive operator. Additionally, the method may include generating a result set as a result of evaluating the join operator expression using the disjunctive operator and bloom filter for the disjunctive predicate.

    System and method for disjunctive joins

    公开(公告)号:US11615086B2

    公开(公告)日:2023-03-28

    申请号:US17879615

    申请日:2022-08-02

    Applicant: SNOWFLAKE INC.

    Abstract: Joining data using a disjunctive operator is described. An example computer-implemented method can include generating a query plan for a query, wherein there is a join operator expression for each of a plurality of disjunctive predicates and each join operator expression includes at least a conjunctive predicate and a disjunctive operator. The method may also include generating a bloom filter for each of the plurality of disjunctive operators. The method may further include evaluating each of the plurality of join operator expressions using a corresponding one of the plurality of disjunctive operators and bloom filter for each of the plurality of disjunctive predicates to generate a result set.

    System and method for disjunctive joins

    公开(公告)号:US11599537B2

    公开(公告)日:2023-03-07

    申请号:US17105406

    申请日:2020-11-25

    Applicant: Snowflake Inc.

    Abstract: Joining data using a disjunctive operator is described. An example computer-implemented method can include receiving a query that includes a first disjunctive predicate involving a first table and a second table. The method may also include determining a first set of rows from the first table and generating a filter from the first set of rows. The method may also further include applying the filter to the second table to generate a second set of rows. Additionally, the method may also include joining the first set of rows and the second set of rows using a first disjunctive operator of the first disjunctive predicate to generate a first results set.

    System and method for disjunctive joins using a lookup table

    公开(公告)号:US11580103B2

    公开(公告)日:2023-02-14

    申请号:US17235826

    申请日:2021-04-20

    Applicant: Snowflake Inc.

    Abstract: Joining data using a disjunctive operator using a lookup table is described. An example computer-implemented method can include receiving a query with a set of conjunctive predicates and a set of disjunctive predicates. The method may also include generating a lookup table for each predicate in the sets of conjunctive predicates and disjunctive predicates. The method, for each row in a probe-side table, may also further include looking up a value associated with that row in each of the lookup tables and adding the row to a results set when there is a match. Additionally, the method may also include returning the results set.

    System and method for disjunctive joins

    公开(公告)号:US11429605B2

    公开(公告)日:2022-08-30

    申请号:US17327521

    申请日:2021-05-21

    Applicant: SNOWFLAKE INC.

    Abstract: Joining data using a disjunctive operator is described. An example computer-implemented method can include receiving a query that includes a first disjunctive predicate involving a first table and a second table. The method may also include determining a first set of rows from the first table and generating a filter from the first set of rows. The method may also further include applying the filter to the second table to generate a second set of rows. Additionally, the method may also include joining the first set of rows and the second set of rows using a first disjunctive operator of the first disjunctive predicate to generate a first results set.

    Systems, methods, and devices for managing data skew in a join operation

    公开(公告)号:US11301472B2

    公开(公告)日:2022-04-12

    申请号:US17364752

    申请日:2021-06-30

    Applicant: Snowflake Inc.

    Abstract: Systems, methods, and devices, for managing data skew during a join operation are disclosed. A method includes computing a hash value for a join operation and detecting data skew on a probe side of the join operation at a runtime of the join operation using a lightweight sketch data structure. The method includes identifying a frequent probe-side join key on the probe side of the join operation during a probe phase of the join operation. The method includes identifying a frequent build-side row having a build-side join key corresponding with the frequent probe-side join key. The method includes asynchronously distributing the frequent build-side row to one or more remote servers.

    AGGREGATION OPERATOR OPTIMIZATION DURING QUERY RUNTIME

    公开(公告)号:US20210232583A1

    公开(公告)日:2021-07-29

    申请号:US17232821

    申请日:2021-04-16

    Applicant: Snowflake Inc.

    Abstract: The subject technology provides information, corresponding to properties of a build side of a join operation, to a bloom filter. The subject technology, based at least in part on the information from the bloom filter, determines, during executing of a query plan, at least one property of the join operation to determine whether to switch an aggregation operator to a pass through mode, the at least one property comprising at least a reduction rate. The subject technology, switches, in response to the reduction rate being below a threshold value, the aggregation operator to the pass through mode during runtime of the query plan and, while the aggregation operator is in the pass through mode, an input stream of data goes through the aggregation operator without being analyzed and the input stream of data matches an output stream of data flowing out of the aggregation operator.

Patent Agency Ranking