-
公开(公告)号:US20200320081A1
公开(公告)日:2020-10-08
申请号:US16908006
申请日:2020-06-22
Applicant: salesforce.com, inc.
Inventor: Thomas Fanghaenel , Jameison Bear Martin , Nathaniel Wyatt , Diego Ongaro , Terry Chong
IPC: G06F16/2455 , G06F12/0891 , G06F16/22 , G06F16/84 , G06F16/172
Abstract: Techniques are disclosed relating to maintaining a cache usable to locate data stored in a data structure. A computer system, in various embodiments, maintains a data structure having a plurality of levels that store files for a database. The files may include one or more records that each have a key and corresponding data. The computer system may also maintain a cache for the database whose entries store, for a key, an indication of a location of a corresponding record in a file of the data structure. In some embodiments, the computer system receives a request to access a particular record stored in the data structure where the request specifies a key usable to locate the particular record. The computer system may retrieve, from the cache via the key, a particular indication of a location of the particular record and may use the particular indication to access the particular record.
-
公开(公告)号:US20200097558A1
公开(公告)日:2020-03-26
申请号:US16140523
申请日:2018-09-24
Applicant: salesforce.com, inc.
Inventor: Thomas Fanghaenel
IPC: G06F17/30
Abstract: A method of deleting a plurality of records in a log-structured merge (LSM) tree based storage system during a merge operation that writes data from a memory storage to an extent, includes receiving a command to delete a plurality of records, inserting a range tombstone into the memory storage component of the storage system, the range tombstone indicating the plurality of records to be deleted, selecting one or more delayed deletion processes based at least in part on whether the plurality of records is contiguous beyond a predetermined threshold amount, modifying a manifest of the storage system based on the selected delayed deletion process, and performing the merge operation, wherein the plurality of records is not written to the extent during the flush operation based at least in part on the delayed deletion process.
-
公开(公告)号:US20200097205A1
公开(公告)日:2020-03-26
申请号:US16139717
申请日:2018-09-24
Applicant: salesforce.com, inc.
Inventor: Thomas Fanghaenel , Terry Chong , Jameison Bear Martin
Abstract: A method of deleting tombstones early includes setting an initial-flag in a first record in the storage system, setting a delete-flag in a second record in the storage system, selecting a set of one or more records in the storage system to be written to an extent of the storage system in a merge operation, each of the one or more records being associated with the first key, and performing the merge operation, wherein the second record is not written to the extent during the merge operation based at least in part on a determination that the first record having the initial-flag set is the oldest record in the set and the second record having the delete-flag set is the newest record in the set.
-
公开(公告)号:US20190163613A1
公开(公告)日:2019-05-30
申请号:US16263067
申请日:2019-01-31
Applicant: salesforce.com, inc.
Inventor: Jameison Bear Martin , Subho Sanjay Chatterjee , Patrick James Helland , Nathaniel Wyatt , Thomas Fanghaenel , Terry Chong
IPC: G06F11/36 , G06F16/21 , G06F16/245
Abstract: Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. Original tenant data is subsequently created and associated with the original tenant identifier, and is not accessible to the sandbox tenant.
-
公开(公告)号:US12019610B2
公开(公告)日:2024-06-25
申请号:US17458591
申请日:2021-08-27
Applicant: salesforce.com, inc.
Inventor: Vaibhav Arora , Terry Chong , Thomas Fanghaenel
IPC: G06F16/23 , G06F12/02 , G06F12/0815 , G06F16/22 , G06F16/2455
CPC classification number: G06F16/2358 , G06F12/0269 , G06F12/0815 , G06F16/2282 , G06F16/2308 , G06F16/24552
Abstract: Techniques are disclosed relating to truncating a tenant's data from a table. A database node may maintain a multi-tenant table having records for tenants. Maintaining the table may include writing a record for a tenant into an in-memory cache and performing a flush operation to flush the record to a shared storage. The database node may write a truncate record into the in-memory cache that truncates a tenant from the table such that records of the tenant having a timestamp indicating a time before the truncate record cannot be accessed as part of a record query. While the truncate record remains in the in-memory cache, the database node may receive a request to perform a record query for a key of the tenant, make a determination on whether a record was committed for the key after the truncate record was committed, and return a response based on the determination.
-
公开(公告)号:US11886401B2
公开(公告)日:2024-01-30
申请号:US17647570
申请日:2022-01-10
Applicant: salesforce.com, inc.
Inventor: Rohit Agrawal , Aditya Dharmanand Shetty , Thomas Fanghaenel
IPC: G06F16/00 , G06F16/215 , H03M7/30 , G06F16/22
CPC classification number: G06F16/215 , G06F16/2246 , G06F16/2272 , H03M7/30
Abstract: Techniques are disclosed relating to compressing database keys. A computer system may receive a request to write a database record to a storage medium. The database record may include a database key and a corresponding data value. The computer system may compress the database key by replacing a portion of the database key with particular data that identifies a location of a reference database key and an amount of similarity determined between the database key and the reference database key. The computer system may write the database record to the storage medium. The database record may include the compressed database key and the corresponding data value.
-
公开(公告)号:US11829398B2
公开(公告)日:2023-11-28
申请号:US16845921
申请日:2020-04-10
Applicant: salesforce.com, inc.
Inventor: Jacob Jonghan Park , Rohit Agrawal , Thomas Fanghaenel
IPC: G06F15/16 , G06F16/33 , G06F16/182 , G06F16/338 , G06F16/17 , G06F21/62
CPC classification number: G06F16/3346 , G06F16/1734 , G06F16/182 , G06F16/338 , G06F21/6218 , G06F2221/0751
Abstract: 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.
-
公开(公告)号:US20230148215A1
公开(公告)日:2023-05-11
申请号:US18149440
申请日:2023-01-03
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland , James E. Mace , Thomas Fanghaenel
IPC: G06F16/2455
CPC classification number: G06F16/24562
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.
-
公开(公告)号:US11537569B2
公开(公告)日:2022-12-27
申请号:US17009605
申请日:2020-09-01
Applicant: salesforce.com, inc.
Inventor: Rohit Agrawal , Aditya Shetty , Kaushal Mittal , Terry Chong , Thomas Fanghaenel , Vaibhav Arora
Abstract: 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.
-
公开(公告)号:US20220138175A1
公开(公告)日:2022-05-05
申请号:US17089355
申请日:2020-11-04
Applicant: salesforce.com, inc.
Abstract: 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.
-
-
-
-
-
-
-
-
-