-
公开(公告)号:US11269885B2
公开(公告)日:2022-03-08
申请号:US16908006
申请日:2020-06-22
Applicant: salesforce.com, inc.
Inventor: Thomas Fanghaenel , Jameison Bear Martin , Nathaniel Wyatt , Diego Ongaro , Terry Chong
IPC: G06F12/0891 , G06F16/172 , G06F16/22 , G06F16/2455 , G06F16/84
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.
-
公开(公告)号:US20210191903A1
公开(公告)日:2021-06-24
申请号:US16719691
申请日:2019-12-18
Applicant: salesforce.com, inc.
Inventor: Aditya Shetty , Thomas Fanghaenel
IPC: G06F16/11 , G06F16/901
Abstract: 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.
-
公开(公告)号:US20200320083A1
公开(公告)日:2020-10-08
申请号:US16908097
申请日:2020-06-22
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland , James E. Mace , Thomas Fanghaenel
IPC: G06F16/2455
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.
-
24.
公开(公告)号:US20200250325A1
公开(公告)日:2020-08-06
申请号:US16263751
申请日:2019-01-31
Applicant: salesforce.com, inc.
Inventor: Terry Chong , Jameison Bear Martin , Thomas Fanghaenel , Andrew Tucker , Nathaniel Wyatt , Raghavendran Hanumantharau , Assaf Ben-Gur , William Charles Mortimore, JR.
IPC: G06F21/62 , G06F21/60 , H04L9/08 , G06F16/2455
Abstract: System and methods of the disclosed subject matter provide segregating, at a memory storage coupled to a multitenant database system, first tenant data of a first tenant from at least second tenant data of a second tenant, based on a first tenant identifier. A first encryption key associated with the first tenant may be retrieved from a key cache memory based on the first tenant identifier, to encrypt one or more fragments of the first tenant data. The fragments of the first tenant data may be encrypted based on the retrieved encryption key. Non-encrypted header information may be generated for each of the encrypted fragments of the first tenant data, where the header information may have metadata including the first tenant identifier. The encrypted fragments of the first tenant data and the corresponding non-encrypted header information may be stored in the immutable storage.
-
公开(公告)号:US20200159628A1
公开(公告)日:2020-05-21
申请号:US16774244
申请日:2020-01-28
Applicant: salesforce.com, inc.
Inventor: Jameison Bear Martin , Nathaniel Wyatt , Patrick James Helland , Thomas Fanghaenel , Terry Chong , Subho Sanjay Chatterjee
Abstract: Systems and methods are provided for performing a point-in-time restore of data of a first tenant of a multitenanted database system. Metadata can be located to identify an archival version of first data of the first tenant stored in immutable storage of the database system. The archival version includes a most recently committed version of each datum prior to a first point in time. By using the metadata, a restore reference set is mapped into a target database instance of the database system. The mapping can be performed when all existing data for a tenant is to be the archival version, and where versions of data and records committed after the point in time are not available to the target database instance.
-
公开(公告)号:US20200097573A1
公开(公告)日:2020-03-26
申请号:US16139594
申请日:2018-09-24
Applicant: salesforce.com, inc.
Inventor: Thomas Fanghaenel , Stephane Geneix
IPC: G06F17/30
Abstract: Systems, devices, and techniques are disclosed for identification of records for post-cloning tenant identifier translation. Records may be received from a database system executing a database executor at a computing device executing a database application. The database application may identify, from among the records, records that include a record header that includes a bit indicating that an encoded value of a tenant identifier is stored in the record in a column of the record that is not a tenant identifier column. The database application may generate an index based on the records identified by the database application. The database application may access the records using the index and replace the encoded value of the tenant identifier stored in columns of the records with an encoded new value of a tenant identifier.
-
公开(公告)号:US20180373604A1
公开(公告)日:2018-12-27
申请号:US15634796
申请日:2017-06-27
Applicant: salesforce.com, inc.
Inventor: Jameison Bear Martin , Nathaniel Wyatt , Patrick James Helland , Thomas Fanghaenel , Terry Chong , Subho Sanjay Chatterjee
IPC: G06F11/14
CPC classification number: G06F11/1469 , G06F11/1451 , G06F11/1471 , G06F11/1474 , G06F16/219 , G06F2201/80 , G06F2201/805 , G06F2201/82 , G06F2201/84
Abstract: Systems and methods are provided for performing a point-in-time restore of data of a first tenant of a multitenanted database system. Metadata can be located to identify an archival version of first data of the first tenant stored in immutable storage of the database system. The archival version includes a most recently committed version of each datum prior to a first point in time. By using the metadata, a restore reference set is mapped into a target database instance of the database system. The mapping can be performed when all existing data for a tenant is to be the archival version, and where versions of data and records committed after the point in time are not available to the target database instance.
-
公开(公告)号:US20180218023A1
公开(公告)日:2018-08-02
申请号:US15420377
申请日:2017-01-31
Applicant: salesforce.com, inc.
Inventor: Thomas Fanghaenel , Patrick James Helland , James E. Mace
IPC: G06F17/30
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.
-
公开(公告)号:US20180129585A1
公开(公告)日:2018-05-10
申请号:US15345914
申请日:2016-11-08
Applicant: salesforce.com, inc.
Inventor: Jameison Bear Martin , Subho Sanjay Chatterjee , Patrick James Helland , Nathaniel Wyatt , Thomas Fanghaenel , Terry Chong
CPC classification number: G06F11/3664 , G06F11/3696 , G06F17/30289 , G06F17/30424
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.
-
公开(公告)号:US12001409B2
公开(公告)日:2024-06-04
申请号:US18145181
申请日:2022-12-22
Applicant: salesforce.com, inc.
Inventor: Rohit Agrawal , Aditya Shetty , Kaushal Mittal , Terry Chong , Thomas Fanghaenel , Vaibhav Arora
CPC classification number: G06F16/214 , G06F16/2246 , G06F21/6227
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.
-
-
-
-
-
-
-
-
-