-
公开(公告)号:US10901861B2
公开(公告)日:2021-01-26
申请号: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.
-
公开(公告)号:US10241896B2
公开(公告)日:2019-03-26
申请号:US15345914
申请日:2016-11-08
Applicant: salesforce.com, inc.
Inventor: Jameison Bear Martin , Subho Sanjay Chatterjee , Patrick James Helland , Nathaniel Wyatt , Thomas Fanghaenel , Terry Chong
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.
-
公开(公告)号:US20190034321A1
公开(公告)日:2019-01-31
申请号:US16133106
申请日:2018-09-17
Applicant: salesforce.com, inc.
Inventor: Jameison Bear Martin , Subho Sanjay Chatterjee , Patrick James Helland , Nathaniel Wyatt , Thomas Fanghaenel , Terry Chong , Robert Frankus , Simon Wong
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. In some implementations, the original tenant is an original sandbox tenant, and the sandbox tenant is at least one new sandbox tenant.
-
公开(公告)号:US20180217987A1
公开(公告)日:2018-08-02
申请号:US15420342
申请日:2017-01-31
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland , James E. Mace , Thomas Fanghaenel
IPC: G06F17/30
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.
-
公开(公告)号:US12153563B2
公开(公告)日:2024-11-26
申请号:US17342319
申请日:2021-06-08
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
Abstract: Techniques are disclosed relating to a database system includes worker nodes operable to perform transactions and director nodes operable to ensure transactional consistency for the transactions. A worker node may receive a request to perform a transaction involving writing a record. The worker node may then issue, to director nodes of the database system, a request for information that facilitates performance of an operation for the transaction. A director node may determine whether to approve the request based on whether the operation could cause transactional inconsistency in the database system. The worker node may proceed to perform the operation for the transaction in response to receiving approval responses from a majority of the director nodes, with none of the received responses indicating a disapproval of the transaction.
-
公开(公告)号:US12013860B2
公开(公告)日:2024-06-18
申请号: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.
-
公开(公告)号:US11741050B2
公开(公告)日:2023-08-29
申请号:US17162501
申请日:2021-01-29
Applicant: salesforce.com, inc.
IPC: G06F16/172 , G06F16/16 , G06F16/182 , G06F16/14
CPC classification number: G06F16/172 , G06F16/148 , G06F16/156 , G06F16/164 , G06F16/1824
Abstract: Techniques are disclosed relating to managing distributed storage of data for various entities according to classifications for these entities. A database node of a distributed storage system may receive, from a first entity of a plurality of entities, a request to store a set of data. The database node may further obtain metadata associated with the first entity, wherein the metadata specifies one of a plurality of classifications for the entities. The database node may provide the set of data to one or more of a plurality of caches for storage. The caches may be located in two or more availability zones and are configured to store the set of data based on the classification for the first entity identified in the metadata associated with the first entity. The database node may also store the set of data in a shared object storage coupled to the database node.
-
公开(公告)号:US20220391378A1
公开(公告)日:2022-12-08
申请号:US17342310
申请日:2021-06-08
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
Abstract: Techniques are disclosed relating to a database system includes worker nodes operable to perform transactions and director nodes operable to ensure transactional consistency for the transactions. A worker node may receive a request to perform a transaction involving writing a record. The worker node may then issue, to director nodes of the database system, a request for information that facilitates performance of an operation for the transaction. A director node may determine whether to approve the request based on whether the operation could cause transactional inconsistency in the database system. The worker node may proceed to perform the operation for the transaction in response to receiving approval responses from a majority of the director nodes, with none of the received responses indicating a disapproval of the transaction.
-
公开(公告)号:US20220391291A1
公开(公告)日:2022-12-08
申请号:US17342290
申请日:2021-06-08
Applicant: salesforce.com, inc.
Inventor: Patrick James Helland
Abstract: Techniques are disclosed relating to a database system includes worker nodes operable to perform transactions and director nodes operable to ensure transactional consistency for the transactions. A worker node may receive a request to perform a transaction involving writing a record. The worker node may then issue, to director nodes of the database system, a request for information that facilitates performance of an operation for the transaction. A director node may determine whether to approve the request based on whether the operation could cause transactional inconsistency in the database system. The worker node may proceed to perform the operation for the transaction in response to receiving approval responses from a majority of the director nodes, with none of the received responses indicating a disapproval of the transaction.
-
公开(公告)号:US11386065B2
公开(公告)日:2022-07-12
申请号:US15420377
申请日:2017-01-31
Applicant: salesforce.com, inc.
Inventor: Thomas Fanghaenel , Patrick James Helland , James E. Mace
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.
-
-
-
-
-
-
-
-
-