MANAGING CONCURRENT TRANSACTIONS IN DATABASE SYSTEMS

    公开(公告)号:US20230011046A1

    公开(公告)日:2023-01-12

    申请号:US17821670

    申请日:2022-08-23

    Applicant: Snowflake Inc.

    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.

    Scalable compaction for a distributed database

    公开(公告)号:US12222960B2

    公开(公告)日:2025-02-11

    申请号:US18326683

    申请日:2023-05-31

    Applicant: Snowflake Inc.

    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.

    Distributed execution of transactional queries

    公开(公告)号:US11921708B1

    公开(公告)日:2024-03-05

    申请号:US17823801

    申请日:2022-08-31

    Applicant: Snowflake Inc.

    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.

    DISTRIBUTED EXECUTION OF TRANSACTIONAL QUERIES

    公开(公告)号:US20240070143A1

    公开(公告)日:2024-02-29

    申请号:US17823801

    申请日:2022-08-31

    Applicant: Snowflake Inc.

    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.

    Concurrency control for transactions in database systems

    公开(公告)号:US11899648B2

    公开(公告)日:2024-02-13

    申请号:US17821581

    申请日:2022-08-23

    Applicant: Snowflake Inc.

    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.

    LONG-LIVED STATEMENTS OPTIMIZATIONS IN A DATABASE SYSTEM

    公开(公告)号:US20230315720A1

    公开(公告)日:2023-10-05

    申请号:US18326356

    申请日:2023-05-31

    Applicant: Snowflake Inc.

    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.

    Managing concurrent transactions in database systems

    公开(公告)号:US11709818B2

    公开(公告)日:2023-07-25

    申请号:US17821670

    申请日:2022-08-23

    Applicant: Snowflake Inc.

    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.

    Optimizations for long-lived statements in a database system

    公开(公告)号:US11704305B1

    公开(公告)日:2023-07-18

    申请号:US17649737

    申请日:2022-02-02

    Applicant: Snowflake Inc.

    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.

    DEADLOCK DETECTION IN DISTRIBUTED DATABASES

    公开(公告)号:US20220350677A1

    公开(公告)日:2022-11-03

    申请号:US17647752

    申请日:2022-01-12

    Applicant: Snowflake Inc.

    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.

Patent Agency Ranking