Database concurrency control through hash-bucket latching

    公开(公告)号:US11386065B2

    公开(公告)日:2022-07-12

    申请号:US15420377

    申请日:2017-01-31

    Abstract: Techniques are disclosed relating to efficiently processing of concurrent database transactions. In one embodiment, a database system receives a first key-value pair for a database transaction and stores the key-value pair in a data structure for active database transactions. The storing may include indexing into a hash table of the data structure with a key of the key-value pair to identify a hash bucket of the hash table corresponding to the key, acquiring a latch associated with the identified hash bucket, and, based on a state of the acquired latch, appending, to the hash bucket, a record specifying the key-value pair. The database system may cause the key-value pair from the data structure to be committed to persistent storage in response to the database transaction being committed.

    Key-value storage using a skip list

    公开(公告)号:US10691696B2

    公开(公告)日:2020-06-23

    申请号:US15420342

    申请日:2017-01-31

    Abstract: This disclosure provides various techniques that may allow for accessing values stored in a data structure that stores multiple values corresponding to database transactions using a skip list. A key may be used to traverse the skip list to access data associated with the key. The skip list maintains on ordering of multiple keys, each associated with a particular record in the data structure, using indirect links between data records in the data structure that reference buckets included in hash table. Each bucket includes pointers to one or more records in the skip list.

    Multiversion concurrency control of database records with uncommitted transactions

    公开(公告)号:US10346386B2

    公开(公告)日:2019-07-09

    申请号:US15343969

    申请日:2016-11-04

    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.

    MULTIVERSION CONCURRENCY CONTROL OF DATABASE RECORDS WITH UNCOMMITTED TRANSACTIONS

    公开(公告)号:US20180129693A1

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

    申请号:US15343969

    申请日:2016-11-04

    CPC classification number: G06F16/2343 G06F16/2329

    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.

    Key-value storage using a skip list

    公开(公告)号:US11544271B2

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

    申请号:US16908097

    申请日:2020-06-22

    Abstract: This disclosure provides various techniques that may allow for accessing values stored in a data structure that stores multiple values corresponding to database transactions using a skip list. A key may be used to traverse the skip list to access data associated with the key. The skip list maintains on ordering of multiple keys, each associated with a particular record in the data structure, using indirect links between data records in the data structure that reference buckets included in hash table. Each bucket includes pointers to one or more records in the skip list.

    KEY-VALUE STORAGE USING A SKIP LIST
    16.
    发明申请

    公开(公告)号:US20200320083A1

    公开(公告)日:2020-10-08

    申请号:US16908097

    申请日:2020-06-22

    Abstract: This disclosure provides various techniques that may allow for accessing values stored in a data structure that stores multiple values corresponding to database transactions using a skip list. A key may be used to traverse the skip list to access data associated with the key. The skip list maintains on ordering of multiple keys, each associated with a particular record in the data structure, using indirect links between data records in the data structure that reference buckets included in hash table. Each bucket includes pointers to one or more records in the skip list.

    Delegated key-level locking for a transactional multi-version key-value store

    公开(公告)号:US10769128B2

    公开(公告)日:2020-09-08

    申请号:US15420255

    申请日:2017-01-31

    Abstract: This disclosure provides various techniques that may allow for key-level lock requests in a database to be managed by code that manages a memory buffer for the database. The transaction-level locks and other higher level locks may be managed by a separate lock manager. In an embodiment, the code inserts key-level lock requests in the record chain even if there is a conflict, and the key-level lock requests remain in the chain after the locks are subsequently granted. Preemption may also be supported in the record chain, in some embodiments.

    Systems and methods of operation lock management and system catalog overrides in database systems

    公开(公告)号:US10740320B2

    公开(公告)日:2020-08-11

    申请号:US16135242

    申请日:2018-09-19

    Abstract: Systems and methods are provided for a shared memory between a database system and a storage catalog server, which stores system catalog overrides and locks for at least a first workflow. The current system catalog overrides include at least a portion of the system catalog overrides and locks that are retrieved by the shared memory from the storage catalog server at a predetermined point in time. The database system performs a check of at least one of index validity and tenant validity for a second workflow or other database operation by checking a state of the corresponding tenant or index in the current system catalog overrides. The system catalog overrides suppress visibility of the respective system catalog changes when the database system determines that at least one of the index and the tenant is invalid based on the current system catalog overrides for the first workflow.

    MULTIVERSION CONCURRENCY CONTROL OF DATABASE RECORDS WITH UNCOMMITTED TRANSACTIONS

    公开(公告)号:US20190278762A1

    公开(公告)日:2019-09-12

    申请号:US16426052

    申请日:2019-05-30

    Abstract: Systems and methods provide multi-version concurrency control of database records with uncommitted transactions. The system and methods may include receiving a query regarding a transaction counter number. When a transaction header identifying data is updated with the assigned transaction counter number, the updated transaction header may be used in identifying data as an instance of multiversion concurrency control information by the received query. A key lookup may be performed, and when the key lookup encounters an uncommitted row for a transaction number, a corresponding transaction header identifying data to identify a data array element to determine whether the transaction number is committed, and determining the transaction counter number when the transaction number is committed. The transaction counter number may be stamped on the row version record when it is determined that the row is committed.

    DATABASE CONCURRENCY CONTROL THROUGH HASH-BUCKET LATCHING

    公开(公告)号:US20180218023A1

    公开(公告)日:2018-08-02

    申请号:US15420377

    申请日:2017-01-31

    Abstract: Techniques are disclosed relating to efficiently processing of concurrent database transactions. In one embodiment, a database system receives a first key-value pair for a database transaction and stores the key-value pair in a data structure for active database transactions. The storing may include indexing into a hash table of the data structure with a key of the key-value pair to identify a hash bucket of the hash table corresponding to the key, acquiring a latch associated with the identified hash bucket, and, based on a state of the acquired latch, appending, to the hash bucket, a record specifying the key-value pair. The database system may cause the key-value pair from the data structure to be committed to persistent storage in response to the database transaction being committed.

Patent Agency Ranking