Incremental refresh of a materialized view

    公开(公告)号:US11030186B2

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

    申请号:US16662645

    申请日:2019-10-24

    Applicant: Snowflake Inc.

    Abstract: Systems, methods, and devices for incrementally refreshing a materialized view are disclosed. A method includes generating a materialized view based on a source table. The method includes merging the source table and the materialized view to generate a merged table to identify whether an update has been executed on the source table that is not reflected in the materialized view. The method includes, in response to detecting an update made to the source table that is not reflected in the materialized view, applying the update to the materialized view.

    System and method for disjunctive joins using a lookup table

    公开(公告)号:US11010378B1

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

    申请号:US16818485

    申请日:2020-03-13

    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.

    PIPELINE LEVEL OPTIMIZATION OF AGGREGATION OPERATORS IN A QUERY PLAN DURING RUNTIME

    公开(公告)号:US20210089535A1

    公开(公告)日:2021-03-25

    申请号:US16857817

    申请日: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 a join operation, the join operation including a build side and a probe side. The subject technology inserts an aggregation operator below the probe side of the join operation. The subject technology causes the build side of the join operation to generate a hash table. The subject technology causes the build side of the join operation to generate a bloom filter based at least in part on the hash table and provide information, corresponding to properties of the build side, to a bloom filter. Based at least in part on the information, the subject technology determines at least one property of the join operation to determine whether to switch the aggregation operator to a pass through mode.

    Reclustering of database tables based on peaks and widths

    公开(公告)号:US10956394B2

    公开(公告)日:2021-03-23

    申请号:US16941215

    申请日:2020-07-28

    Applicant: Snowflake Inc.

    Abstract: The subject technology determines whether a table is sufficiently clustered. The subject technology in response to determining the table is not sufficiently clustered, selects one or more micro-partitions of the table to be reclustered. The subject technology constructs a data structure for the table. The subject technology extracts minimum and maximum endpoints for each micro-partition in the data structure. The subject technology sorts each of one or more peaks in the data structure based on height. The subject technology sorts overlapping micro-partitions based on width. The subject technology selects based on which micro-partitions are within the tallest peaks of the one or more peaks and further based on which of the overlapping micro-partitions have the widest widths.

    Flexible computing
    60.
    发明授权

    公开(公告)号:US10860381B1

    公开(公告)日:2020-12-08

    申请号:US16874388

    申请日:2020-05-14

    Applicant: Snowflake Inc.

    Abstract: Embodiments of the present disclosure may provide dynamic and fair assignment techniques for allocating resources on a demand basis. Assignment control may be separated into at least two components: a local component and a global component. Each component may have an active dialog with each other; the dialog may include two aspects: 1) a demand for computing resources, and 2) a total allowed number of computing resources. The global component may allocate resources from a pool of resources to different local components, and the local components in turn may assign their allocated resources to local competing requests. The allocation may also be throttled or limited at various levels.

Patent Agency Ranking