Key-value storage using a skip list

    公开(公告)号:US12013860B2

    公开(公告)日:2024-06-18

    申请号:US18149440

    申请日:2023-01-03

    IPC分类号: G06F16/2455

    CPC分类号: G06F16/24562

    摘要: 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.

    Generating hash trees for database schemas

    公开(公告)号:US11526465B2

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

    申请号:US16719691

    申请日:2019-12-18

    摘要: Techniques are disclosed relating to determining whether a set of database schemas are different. A computer system may receive a request to create a snapshot for a set of data stored in a database having a first database schema. In response to receiving the request, the computer system may create the snapshot for the set of data. As part of the creating, the computer system may generate, based on the first database schema, a first hierarchy of hash values that includes a first root hash value for the first database schema. The first hierarchy of hash values may be usable to determine whether the first database schema is different from a second database schema. The computer system may include the first hierarchy of hash values with the snapshot.

    Database concurrency control through hash-bucket latching

    公开(公告)号:US11386065B2

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

    申请号:US15420377

    申请日:2017-01-31

    IPC分类号: G06F16/23 G06F16/22

    摘要: 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.

    THREE-DIMENSIONAL PROBABILISTIC DATA STRUCTURE

    公开(公告)号:US20210319052A1

    公开(公告)日:2021-10-14

    申请号:US16845921

    申请日:2020-04-10

    摘要: Techniques are disclosed relating to probabilistic data structures. A database node may maintaining a probabilistic data structure capable of encoding database keys. The probabilistic data structure may include a plurality of levels that are each capable of storing an indication of a transition between successive characters in a database key. The database node may insert a particular database key into the probabilistic data structure and the particular database key may comprise a series of characters. The inserting may include setting, for each transition between successive characters of the series of characters, an indication in a corresponding level of the plurality of levels that is indicative of that transition. The database node may further maintain lineage information specifying one or more lineages that correspond to the transition.

    DATABASE INDEX REPAIR
    5.
    发明申请

    公开(公告)号:US20210073195A1

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

    申请号:US16565401

    申请日:2019-09-09

    摘要: A computing system may repair a database index for a database table by placing a first structural lock on the database table to prevent modifications to the structure of the table. The computing system may scan the database table to determine a plurality of database records. The system may probe the database index for the database records to identify records with missing entries in the index. Based on the probing, the system may place a first data lock on a record of the database table corresponding to a missing index entry to prevent modification of data in the record. In response to placing the first record lock, the system adds an index entry for the locked database record to the database index. During repair of the index, one or more processes may use the database index to locate one of the plurality of database records included in the database table.

    Key-value storage using a skip list

    公开(公告)号:US10691696B2

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

    申请号:US15420342

    申请日:2017-01-31

    IPC分类号: G06F16/2455

    摘要: 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.

    TRANSLATION OF TENANT IDENTIFIERS
    7.
    发明申请

    公开(公告)号:US20200097583A1

    公开(公告)日:2020-03-26

    申请号:US16139889

    申请日:2018-09-24

    发明人: Thomas Fanghaenel

    IPC分类号: G06F17/30

    摘要: Systems, devices, and techniques are disclosed for translation of tenant identifiers. A record may be received. A value of a tenant identifier for the record may be determined from a key for the record or a scan descriptor. The value of the tenant identifier in the key for the record may be replaced with a new value for the tenant identifier. A bitmap stored in a record header of the record may be used to identify columns of the record that stored an encoded value of the tenant identifier. An encoded new value of the tenant identifier may be stored in columns identified by the bitmap stored in the record header that include an attribute indicating that tenant identifier translation is enabled.

    Lock wait tracing
    9.
    发明授权

    公开(公告)号:US11698898B2

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

    申请号:US17089355

    申请日:2020-11-04

    IPC分类号: G06F16/23 G06F16/22

    CPC分类号: G06F16/2365 G06F16/2282

    摘要: Techniques are disclosed relating to lock wait tracing. A computer system may operate a database that includes a lockable object. The computer may maintain a lock wait queue that stores an indication of processes waiting to acquire a lock on the lockable object. The computer system may store trace records for those processes that, upon releasing a respective lock on the lockable object when another process is waiting in the lock wait queue, have been in contention for the respective lock for over a threshold amount of time. The computer system may present ones of the trace records that identify a timeline that is usable to determine a set of processes that contributed to a delay in a process acquiring a lock on the lockable object.

    MERGES USING KEY RANGE DATA STRUCTURES
    10.
    发明公开

    公开(公告)号:US20230141205A1

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

    申请号:US18145181

    申请日:2022-12-22

    IPC分类号: G06F16/21 G06F16/22

    摘要: Techniques are disclosed relating to merge operations for multi-level data structures, such as log-structured merge-trees (LSM trees). A computer system may store, in a database, a plurality of files as part of an LSM tree and a plurality of database key structures. A given one of the plurality of database key structures may indicate, for a corresponding one of the plurality of files, a set of key ranges derived from database records that are included in the corresponding file. The computer system may determine, using ones of the plurality of database key structures, a key range overlap that is indicative of an extent of overlap of key ranges from a set of the plurality of files with respect to a particular key range. Based on the determined key range overlap, the computer system may assign a priority level to a merge operation that involves the set of files.