-
公开(公告)号:US12093248B1
公开(公告)日:2024-09-17
申请号:US18313768
申请日:2023-05-08
Applicant: Snowflake Inc.
Inventor: Cristian Diaconu , Nikolaos Romanos Katsipoulakis , Alexander Miller , Dimitrios Tsirogiannis , William Waddington , Zhaohui Zhang
CPC classification number: G06F16/2379 , G06F16/22 , G06F16/2365
Abstract: The subject technology receives a statement to initiate an online index building process of an index. The subject technology determines that the index can be generated. The subject technology performs a write operation to store an index record indicating an initial status of the online index building process. The subject technology performs a statement fencing process. The subject technology performs a back-filling process of the index. The subject technology validates the index.
-
公开(公告)号:US12007990B1
公开(公告)日:2024-06-11
申请号:US18447934
申请日:2023-08-10
Applicant: Snowflake Inc.
Inventor: Nikolaos Romanos Katsipoulakis , Dimitrios Tsirogiannis , William Waddington , Zhaohui Zhang
IPC: G06F16/00 , G06F16/2453 , G06F16/27
CPC classification number: G06F16/24537 , G06F16/24542 , G06F16/27
Abstract: The subject technology receives a query, the query including a set of statements, the set of statements including a first statement comprising a first data manipulation language operation. The subject technology determines that the set of statements includes at least one statement defining a first constraint, and a second statement indicating that the first constraint is statement deferrable for performing validation of the first constraint. The subject technology generates a key value constraint check operator as a node in a query plan. The subject technology generates a key value DML operator as a second node in the query plan, the key value DML operator corresponding to the first DML operation. The subject technology performs, using the key value constraint check operator, a validation process of the first constraint based at least in part on a set of violating keys of each DML operation from the set of statements.
-
公开(公告)号:US11809916B2
公开(公告)日:2023-11-07
申请号:US17647752
申请日:2022-01-12
Applicant: Snowflake Inc.
Inventor: Chen Luo , Alexander Miller , William Waddington
CPC classification number: G06F9/524 , G06F16/2343 , G06F16/2379 , G06F16/256
Abstract: The subject technology performs a locking operation on a first set of keys by a first statement of a first transaction. The subject technology determines that a conflict occurred between the first statement and a second transaction. The subject technology determines that the second transaction has yet to complete after a predetermined period of time. The subject technology performs a deadlock detection process where the subject technology stores a key and value in a table indicating the first transaction and the second transaction, detects, based at least in part on a graph traversal of the table starting from the first transaction, a cycle between the first transaction and the second transaction, and determines that the first transaction is a youngest transaction in the detected cycle. The subject technology ceases execution of the first transaction in response to the first transaction being a youngest transaction in a detected cycle.
-
公开(公告)号: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.
-
公开(公告)号:US20220405266A1
公开(公告)日:2022-12-22
申请号:US17821581
申请日:2022-08-23
Applicant: Snowflake Inc.
Inventor: Chen Luo , Alexander Miller , William Waddington , Zhaohui Zhang
IPC: G06F16/23
Abstract: The subject technology inserts, by a first transaction, a new version of an object, the first transaction including a first statement to perform an update operation to a row in a first table, the object corresponding to data in the row to be updated, the first statement including information comprising an object key associated with the object. The subject technology performs, by a second transaction, a range read, the range read including information indicating the object key. The subject technology receives a set of conflicting transactions from the range read. The subject technology determines that a conflict occurred between the first transaction and a third transaction from the set of conflicting transactions. The subject technology performs a restart of the first transaction in response to determining that the conflict occurred.
-
公开(公告)号:US11442917B2
公开(公告)日:2022-09-13
申请号:US17243795
申请日:2021-04-29
Applicant: Snowflake Inc.
Inventor: Jiaqi Yan , Thierry Cruanes , Jeffrey Rosen , William Waddington , Prasanna Rajaperumal , Abdul Munir
Abstract: Disclosed herein are systems and methods for incremental reclustering of database tables based on local maxima of partition overlap. In an embodiment, a database platform makes a determination, based on one or more incremental-reclustering criteria, to incrementally recluster a database table, which has a clustering key and which is stored across a plurality of partitions. In response to making the determination, the database platform selects a subset of the partitions, and at least incrementally reclusters the selected subset. The selecting of the subset includes identifying a local maximum of a quantity of overlapping partitions in the plurality of partitions with respect to a domain of the clustering key of the table, where the overlapping partitions overlap with respect to the clustering key.
-
公开(公告)号:US20220067016A1
公开(公告)日:2022-03-03
申请号:US17511064
申请日:2021-10-26
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.
-
公开(公告)号:US20210397615A1
公开(公告)日:2021-12-23
申请号:US17462699
申请日:2021-08-31
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.
-
公开(公告)号:US11138214B2
公开(公告)日:2021-10-05
申请号:US16778954
申请日:2020-01-31
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.
-
公开(公告)号:US10977241B2
公开(公告)日:2021-04-13
申请号:US16915435
申请日:2020-06-29
Applicant: Snowflake Inc.
Inventor: Benoit Dageville , Martin Hentschel , William Waddington
IPC: G06F16/00 , G06F16/23 , G06F21/60 , G06F16/22 , G06F16/2455
Abstract: A method for a database system includes storing table data for a database, the table data including information in rows and columns of one or more database tables. The method includes storing metadata on immutable storage, the metadata including information about the table data for the database. In one embodiment, mutable metadata may be periodically consolidated in the background to create new versions of metadata files and which allows for deletions of old metadata files and old data files.
-
-
-
-
-
-
-
-
-