-
公开(公告)号:US20230011046A1
公开(公告)日:2023-01-12
申请号:US17821670
申请日:2022-08-23
Applicant: Snowflake Inc.
Inventor: Alexander Miller , William Waddington
IPC: G06F16/23 , G06F16/248 , G06F16/2455 , G06F16/22
Abstract: The subject technology receives a first transaction, the first transaction to be executed on linearizable storage. The subject technology assigns, prior to performing a read operation, a first read version to the first transaction, the first read version indicating a first version of the linearizable storage, the first read version corresponding to a particular timestamp of a current time. The subject technology performs the read operation from the first transaction on a table in a database. The subject technology determines a first commit version identifier corresponding to first data resulting from the read operation. The subject technology proceeds to perform a particular write operation from the first transaction. The subject technology determines that the first commit version identifier fails to match a second commit version identifier corresponding to a second transaction. The subject technology aborts the particular write operation from the first transaction.
-
公开(公告)号:US20220188325A1
公开(公告)日:2022-06-16
申请号:US17249598
申请日:2021-03-05
Applicant: Snowflake Inc.
Inventor: Leonidas Galanis , Alexander Miller , William Waddington , Khaled Yagoub
IPC: G06F16/25 , G06F16/27 , G06F16/28 , G06F16/2455 , G06F16/2452
Abstract: A hybrid network-based database system for handling OLTP and OLAP queries using decoupled compute and storage devices. A set of decoupled compute instances perform transactions on an OLTP database, and the data is replicated to an OLAP database, which is managed by another set of decoupled compute instances. Further, in response to queries, the database system can retrieve data from the OLTP and OLAP database for merging and processing according to the query.
-
公开(公告)号:US12222960B2
公开(公告)日:2025-02-11
申请号:US18326683
申请日:2023-05-31
Applicant: Snowflake Inc.
Inventor: Chen Luo , Alexander Miller , William Waddington , Zhaohui Zhang
Abstract: The subject technology performs, using asynchronous threads of execution nodes of a distributed database, asynchronous transformation and compaction of key-value pairs of data that correspond to a plurality of transactional queries, the asynchronous threads transforming the key-value pairs from an initial format to a commit format that includes a commit time of data committed to the distributed database, the asynchronous threads compacting the key-value pairs by deleting the key-value pairs in the initial format. The subject technology processes, using transactional threads in the execution nodes, the plurality of transactional queries to generate results data, the asynchronous threads performing the asynchronous transformation and compaction while the transactional threads generate the results data. The subject technology stores the results data.
-
公开(公告)号:US11921708B1
公开(公告)日:2024-03-05
申请号:US17823801
申请日:2022-08-31
Applicant: Snowflake Inc.
Inventor: Thierry Cruanes , Moritz Eyssen , Max Heimel , Lishi Jiang , Alexander Miller
IPC: G06F16/23 , G06F16/2455
CPC classification number: G06F16/2379 , G06F16/24568
Abstract: The subject technology receives, at a first execution node, a first transaction, the first transaction to be executed on linearizable storage. The subject technology determines whether the first execution node corresponds to a rank indicating a leader worker. The subject technology, in response to the first execution node corresponding to the rank indicating the leader worker, performs, by the first execution node, an initialization process for executing the first transaction. The subject technology broadcasts a first read timestamp associated with the first transaction to a set of execution nodes, the set of execution nodes being different than the first execution node. The subject technology executes, by the first execution node, at least a first operation from the first transaction.
-
公开(公告)号:US20240070143A1
公开(公告)日:2024-02-29
申请号:US17823801
申请日:2022-08-31
Applicant: Snowflake Inc.
Inventor: Thierry Cruanes , Moritz Eyssen , Max Heimel , Lishi Jiang , Alexander Miller
IPC: G06F16/23 , G06F16/2455
CPC classification number: G06F16/2379 , G06F16/24568
Abstract: The subject technology receives, at a first execution node, a first transaction, the first transaction to be executed on linearizable storage. The subject technology determines whether the first execution node corresponds to a rank indicating a leader worker. The subject technology, in response to the first execution node corresponding to the rank indicating the leader worker, performs, by the first execution node, an initialization process for executing the first transaction. The subject technology broadcasts a first read timestamp associated with the first transaction to a set of execution nodes, the set of execution nodes being different than the first execution node. The subject technology executes, by the first execution node, at least a first operation from the first transaction.
-
公开(公告)号:US11899648B2
公开(公告)日:2024-02-13
申请号:US17821581
申请日:2022-08-23
Applicant: Snowflake Inc.
Inventor: Chen Luo , Alexander Miller , William Waddington , Zhaohui Zhang
IPC: G06F16/23
CPC classification number: G06F16/2322 , G06F16/2365 , G06F16/2379
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.
-
公开(公告)号:US20230315720A1
公开(公告)日:2023-10-05
申请号:US18326356
申请日:2023-05-31
Applicant: Snowflake Inc.
Inventor: Chen Luo , Alexander Miller , William Waddington , Zhaohui Zhang
CPC classification number: G06F16/2379 , G06F9/524 , G06F16/2365
Abstract: The subject technology determines that a first visible version of a key is not one of a N number of newest versions of the key based on searching for the key in a regular space to locate the first visible version of the key. The subject technology performs a search of an undo space to locate a second visible version of the key. The subject technology determines whether the first visible version or the second visible version of the key is newer. The subject technology provides a newer version of the key between the first visible version and the second visible version of the key.
-
公开(公告)号:US11709818B2
公开(公告)日:2023-07-25
申请号:US17821670
申请日:2022-08-23
Applicant: Snowflake Inc.
Inventor: Alexander Miller , William Waddington
IPC: G06F16/248 , G06F16/23 , G06F16/2455 , G06F16/22
CPC classification number: G06F16/2329 , G06F16/2282 , G06F16/248 , G06F16/24568
Abstract: The subject technology receives a first transaction, the first transaction to be executed on linearizable storage. The subject technology assigns, prior to performing a read operation, a first read version to the first transaction, the first read version indicating a first version of the linearizable storage, the first read version corresponding to a particular timestamp of a current time. The subject technology performs the read operation from the first transaction on a table in a database. The subject technology determines a first commit version identifier corresponding to first data resulting from the read operation. The subject technology proceeds to perform a particular write operation from the first transaction. The subject technology determines that the first commit version identifier fails to match a second commit version identifier corresponding to a second transaction. The subject technology aborts the particular write operation from the first transaction.
-
公开(公告)号:US11704305B1
公开(公告)日:2023-07-18
申请号:US17649737
申请日:2022-02-02
Applicant: Snowflake Inc.
Inventor: Chen Luo , Alexander Miller , William Waddington , Zhaohui Zhang
CPC classification number: G06F16/2379 , G06F9/524 , G06F16/2365
Abstract: The subject technology performs a search for a key in a regular space to locate a first visible version of the key. The subject technology determines that the first visible version of the key is not one of a N number of newest versions of the key. The subject technology performs a search of an undo space to locate a second visible version of the key. The subject technology determines whether the first visible version or the second visible version of the key is newer. The subject technology provides a newer version of the key between the first visible version and the second visible version of the key.
-
公开(公告)号:US20220350677A1
公开(公告)日:2022-11-03
申请号:US17647752
申请日:2022-01-12
Applicant: Snowflake Inc.
Inventor: Chen Luo , Alexander Miller , William Waddington
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.
-
-
-
-
-
-
-
-
-