-
公开(公告)号:US11360989B2
公开(公告)日:2022-06-14
申请号:US17462699
申请日:2021-08-31
Applicant: Snowflake Inc.
Inventor: Jeffrey Rosen , Abdul Munir , Jiaqi Yan , William Waddington , Prasanna Rajaperumal , Thierry Cruanes
IPC: G06F16/24 , 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.
-
公开(公告)号:US11138213B2
公开(公告)日:2021-10-05
申请号:US16380848
申请日:2019-04-10
Applicant: Snowflake Inc.
Inventor: Jeffrey Rosen , Abdul Munir , Jiaqi Yan , William Waddington , Prasanna Rajaperumal , Thierry Cruanes
IPC: G06F16/24 , 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.
-
公开(公告)号: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.
-
公开(公告)号: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.
-
公开(公告)号: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.
-
公开(公告)号: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.
-
公开(公告)号:US20250086168A1
公开(公告)日:2025-03-13
申请号:US18955789
申请日:2024-11-21
Applicant: Snowflake Inc.
Inventor: Tyler Arthur Akidau , Tyler Jones , Daniel Mills , Leon Papke , Prasanna Rajaperumal , Daniel E. Dotolongo
Abstract: A method for query execution includes configuring, by at least one hardware processor, a materialized table (MT) based on the query and a base table. The MT includes a lag duration indicating a maximum time period that a result of a prior refresh of the query on the base table can lag behind a current time instance. The method further includes generating a query plan for the query. The method further includes determining multiple sets of data processing operations included in the query plan. The method further includes generating a plurality of intermediate MTs. The one or more intermediate MTs hold an intermediate processing state for the multiple sets of data processing operations. The method further includes configuring a refresh of the MT based on the intermediate processing state for the multiple sets of data processing operations.
-
公开(公告)号:US12216654B2
公开(公告)日:2025-02-04
申请号:US18362898
申请日:2023-07-31
Applicant: Snowflake Inc.
Inventor: Tyler Arthur Akidau , Fabian Hueske , Tyler Jones , Daniel Mills , Leon Papke , Prasanna Rajaperumal , Daniel E. Sotolongo
IPC: G06F16/2453 , G06F7/14
Abstract: A system for a materialized table (MT) refresh using multiple processing pipelines includes at least one hardware processor coupled to memory storing instructions. The instructions cause the at least one hardware processor to perform operations including determining dependencies among a plurality of intermediate MTs generated from a source MT. The source MT uses a table definition with a query on one or more base tables and a lag duration value. A graph snapshot of dependencies among the plurality of intermediate MTs is generated. Processing pipelines are configured. Each of the processing pipelines corresponds to a subset of the plurality of intermediate MTs indicated by the graph snapshot. Responsive to detecting an instruction for a refresh operation on the source MT, refreshes on corresponding intermediate MTs of the plurality of intermediate MTs in each processing pipeline of the processing pipelines are performed to complete the refresh operation on the source MT.
-
公开(公告)号:US12026159B2
公开(公告)日:2024-07-02
申请号:US18059125
申请日:2022-11-28
Applicant: Snowflake Inc.
Inventor: Shrainik Jain , Allison Waingold Lee , Boyung Lee , Prasanna Rajaperumal , Jiaqi Yan , Yongsik Yoon
IPC: G06F16/2453
CPC classification number: G06F16/24542
Abstract: Queries executed against a materialized view can execute up to orders of magnitude faster than equivalent queries on a source (or base) table. However, although a query can reference a materialized view directly, a user (e.g., query author) may not know about a relevant materialized view. Moreover, if a source table has multiple materialized views generated, the user may not know which materialized view to reference in the query. Thus, embodiments of the present disclosure provide techniques for automatically rewriting queries directed to a source table to utilize existing materialized views.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-