-
公开(公告)号:US11030186B2
公开(公告)日:2021-06-08
申请号:US16662645
申请日:2019-10-24
Applicant: Snowflake Inc.
Inventor: Thierry Cruanes , Benoit Dageville , Prasanna Rajaperumal , Jiaqi Yan
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.
-
公开(公告)号:US20210157948A1
公开(公告)日:2021-05-27
申请号:US17086269
申请日:2020-10-30
Applicant: Snowflake Inc.
Inventor: Artin Avanes , Khalid Zaman Bijon , Damien Carru , Thierry Cruanes , Vikas Jain , Zheng Mi , Subramanian Muralidhar
IPC: G06F21/62 , G06F16/27 , G06F16/248 , G06F16/22 , G06F16/25
Abstract: A shared database platform implements dynamic masking on data shared between users where specific data is masked, transformed, or otherwise modified based on preconfigured functions that are associated with user roles. The shared database platform can implement the masking at runtime dynamically in response to users requesting access to a database object that is associated with one or more masking policies.
-
公开(公告)号:US11010378B1
公开(公告)日:2021-05-18
申请号:US16818485
申请日:2020-03-13
Applicant: Snowflake Inc.
Inventor: Thierry Cruanes , Florian Andreas Funke , Guangyan Hu , Jiaqi Yan
IPC: G06F7/00 , G06F16/00 , G06F16/2453 , G06F16/2455 , G06F16/22
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.
-
公开(公告)号:US10997179B1
公开(公告)日:2021-05-04
申请号:US17086228
申请日:2020-10-30
Applicant: Snowflake Inc.
Inventor: Thierry Cruanes , Benoit Dageville , Ismail Oukid , Stefan Richter
IPC: G06F16/24 , G06F16/2455 , G06F16/9035 , G06F16/28 , G06F16/22 , G06F17/18
Abstract: A query directed at a source table organized into a set of batch units is received. The query includes a pattern matching predicate that specifies a search pattern. A set of N-grams are generated based on the search pattern. A pruning index associated with the source table is accessed. The pruning index comprises a set of filters that index distinct N-grams in each column of the source table. The pruning index is used to identify a subset of batch units to scan for matching data based on the set of N-grams generated for the search pattern. The query is processed by scanning the subset of batch units.
-
公开(公告)号:US20210103601A1
公开(公告)日:2021-04-08
申请号:US17125411
申请日:2020-12-17
Applicant: SNOWFLAKE INC.
Inventor: Benoit Dageville , Thierry Cruanes , Marcin Zukowski
IPC: G06F16/27 , G06F9/50 , G06F16/14 , G06F16/21 , G06F16/22 , G06F16/951 , G06F16/182 , G06F16/23 , G06F16/2455 , G06F16/2458 , G06F16/9535 , G06F16/2453 , G06F9/48 , H04L29/08
Abstract: Caching systems and methods are described. In one implementation, a method identifies multiple files used to process a query and distributes each of the multiple files to a particular execution node to execute the query. Each execution node determines whether the distributed file is stored in the execution node's cache. If the execution node determines that the file is stored in the cache, it processes the query using the cached file. If the file is not stored in the cache, the execution node retrieves the file from a remote storage device, stores the file in the execution node's cache, and processes the query using the file.
-
公开(公告)号:US10963443B2
公开(公告)日:2021-03-30
申请号:US16918591
申请日:2020-07-01
Applicant: Snowflake Inc.
Inventor: Jiaqi Yan , Thierry Cruanes , Jeffrey Rosen , William Waddington , Prasanna Rajaperumal , Abdul Munir
Abstract: Automatic clustering of a database table is disclosed. A method for automatic clustering of a database table includes receiving an indication that a data modification task has been executed on a table and determining whether the table is sufficiently clustered. The method includes, in response to determining the table is not sufficiently clustered, selecting one or more micro-partitions of the table to be reclustered. The method includes assigning each of the one or more micro-partitions to an execution node to be reclustered.
-
公开(公告)号:US20210089535A1
公开(公告)日:2021-03-25
申请号:US16857817
申请日:2020-04-24
Applicant: Snowflake Inc.
Inventor: Bowei Chen , Thierry Cruanes , Florian Andreas Funke , Allison Waingold Lee , Jiaqi Yan
IPC: G06F16/2453 , G06F16/2455 , G06F16/22
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.
-
公开(公告)号:US10956394B2
公开(公告)日:2021-03-23
申请号:US16941215
申请日:2020-07-28
Applicant: Snowflake Inc.
Inventor: Jiaqi Yan , Thierry Cruanes , Jeffrey Rosen , William Waddington , Prasanna Rajaperumal , Abdul Munir
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.
-
公开(公告)号:US20210049187A1
公开(公告)日:2021-02-18
申请号:US17085987
申请日:2020-10-30
Applicant: SNOWFLAKE INC.
Inventor: Benoit Dageville , Thierry Cruanes , Marcin Zukowski , Allison Waingold Lee , Philipp Thomas Unterbrunner
IPC: G06F16/27 , G06F9/50 , G06F16/14 , G06F16/21 , G06F16/22 , G06F16/951 , G06F16/182 , G06F16/23 , G06F16/2455 , G06F16/2458 , G06F16/9535 , G06F16/2453 , G06F9/48 , H04L29/08
Abstract: A method, apparatus, and system for join operations of a plurality of relations that are distributed over a plurality of storage locations over a network of computing components.
-
公开(公告)号:US10860381B1
公开(公告)日:2020-12-08
申请号:US16874388
申请日:2020-05-14
Applicant: Snowflake Inc.
Inventor: Thierry Cruanes , Igor Demura , Varun Ganesh , Prasanna Rajaperumal , Libo Wang , Jiaqi Yan
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.
-
-
-
-
-
-
-
-
-