-
公开(公告)号:US20230161765A1
公开(公告)日:2023-05-25
申请号:US18099866
申请日:2023-01-20
Applicant: Snowflake Inc.
Inventor: Thierry Cruanes , Florian Andreas Funke , Guangyan Hu , Jiaqi Yan
IPC: G06F16/2453 , G06F16/2455 , G06F16/22
CPC classification number: G06F16/24537 , G06F16/24556 , G06F16/2255
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.
-
公开(公告)号:US20230161735A1
公开(公告)日:2023-05-25
申请号:US18160021
申请日:2023-01-26
Applicant: SNOWFLAKE INC.
Inventor: Benoit Dageville , Thierry Cruanes , Marcin Zukowski , Allison Waingold Lee , Philipp Thomas Unterbrunner
IPC: G06F16/172 , G06F16/13 , G06F16/182 , G06F16/22 , G06F16/2455
CPC classification number: G06F16/172 , G06F16/137 , G06F16/1827 , G06F16/2237 , G06F16/2255 , G06F16/2456
Abstract: A query directed to database data stored across a set of files is received. The query includes predicates applied against metadata of the set of files. One or more files are removed from the set of files whose metadata does not satisfy a predicate of the plurality of predicates. Rows of the one or more remaining files of the set of files are filtered based on the one or more predicates.
-
公开(公告)号:US20230135440A1
公开(公告)日:2023-05-04
申请号:US17932140
申请日:2022-09-14
Applicant: Snowflake inc.
Inventor: Thierry Cruanes , Sangyong Hwang , Nitish Jindal , Jiaqi Yan , Yongsik Yoon
IPC: G06F16/2453
Abstract: Techniques for join elimination are described herein. Join elimination can identify and eliminate unnecessary joins in a query plan node. For example, join elimination can involve a semantic query optimization technique, which removes reference to a table whose columns are only referenced in join predicates if the joins do not filter/expand rows in the result. Such joins can cause significant performance issues on larger datasets if not optimized.
-
公开(公告)号:US20230071465A1
公开(公告)日:2023-03-09
申请号:US18050255
申请日:2022-10-27
Applicant: Snowflake Inc.
Inventor: Jeffrey Rosen , Abdul Munir , Jiaqi Yan , William Waddington , Prasanna Rajaperumal , Thierry Cruanes
IPC: G06F16/2458 , G06F16/2453 , G06F9/50 , G06F16/2455
Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
-
公开(公告)号:US11574072B2
公开(公告)日:2023-02-07
申请号:US17334315
申请日:2021-05-28
Applicant: Snowflake Inc.
Inventor: Artin Avanes , Khalid Zaman Bijon , Damien Carru , Thierry Cruanes , Vikas Jain , Zheng Mi , Subramanian Muralidhar
IPC: G06F21/62 , G06F16/25 , G06F16/248 , G06F16/22 , G06F16/27
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.
-
公开(公告)号:US20230004672A1
公开(公告)日:2023-01-05
申请号:US17900759
申请日:2022-08-31
Applicant: SNOWFLAKE INC.
Inventor: Justin Langseth , Matthew J. Glickman , Christian Kleinerman , Robert Muglia , Daniel Freundel , Thierry Cruanes , Allison Waingold Lee
IPC: G06F21/62 , G06F16/2455 , H04L9/32
Abstract: Systems, methods, and devices for generating a secure join of database data are disclosed. A method creates a secure view of datapoints of a consumer account and processes, using a secure user defined function (UDF), the datapoints of the consumer account and datapoints of a provider account to generate a secure join key. The secure UDF returns a count of matching data points between the consumer account and the provider account, and the method provides the count of matching data points to the consumer account.
-
公开(公告)号:US11544269B2
公开(公告)日:2023-01-03
申请号:US17657019
申请日:2022-03-29
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.
-
公开(公告)号:US20220414106A1
公开(公告)日:2022-12-29
申请号:US17930150
申请日:2022-09-07
Applicant: Snowflake Inc.
Inventor: Tyler Arthur Akidau , Thierry Cruanes , Istvan Cseri , Benoit Dageville , Tyler Jones , Dinesh Chandrakant Kulkarni
IPC: G06F16/2455 , G06F16/2453
Abstract: Hybrid tables can be used in different use-case scenarios. Hybrid tables provide a flexible mechanism to support files and data in different formats while providing access to the different types of data as part of one table. This flexibility can allow the use of hybrid tables in data lake or other similar environments.
-
公开(公告)号:US11500900B2
公开(公告)日:2022-11-15
申请号:US17568542
申请日:2022-01-04
Applicant: SNOWFLAKE INC.
Inventor: Thierry Cruanes , Benoit Dageville , Marcin Zukowski
IPC: G06F16/27 , G06F16/182 , G06F9/50 , G06F16/14 , G06F16/21 , G06F16/22 , G06F16/951 , G06F16/23 , G06F16/2455 , G06F16/2458 , G06F16/9535 , G06F16/2453 , H04L67/568 , A61F5/56 , G06F9/48 , H04L67/1095 , H04L67/1097
Abstract: A method and apparatus managing a set of processors for a set of queries is described. In an exemplary embodiment, a device receives a set of queries for a data warehouse, the set of queries including one or more queries to be processed by the data warehouse. The device further provisions a set of processors from a first plurality of processors, where the set of processors to process the set of queries, and a set of storage resources to store data for the set of queries. In addition, the device monitors a utilization of the set of processors as the set of processors processes the set of queries. The device additionally updates a number of the processors in the set of processors provisioned based on the utilization. Furthermore, the device processes the set of queries using the updated set of processors.
-
公开(公告)号:US20220358139A1
公开(公告)日:2022-11-10
申请号:US17873359
申请日:2022-07-26
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 , H04L67/568 , A61F5/56 , G06F9/48 , H04L67/1095 , H04L67/1097
Abstract: Example resource management systems and methods are described. In one implementation, a system includes a memory and a processing device operatively coupled to the memory. The processing device is to: provide a plurality of execution nodes, each execution node comprising a cache and a processor, each execution node communicatively coupled to a storage platform; determine at least one task associated with processing a received query referencing database data stored in the storage platform; and create a new execution node within the plurality of execution nodes to process the at least one task associated with processing the received query.
-
-
-
-
-
-
-
-
-