-
公开(公告)号:US20230244649A1
公开(公告)日:2023-08-03
申请号:US17938083
申请日:2022-10-05
Applicant: Salesforce, Inc.
Inventor: Patrick James Helland , James E. Mace
IPC: G06F16/22
CPC classification number: G06F16/2255 , G06F16/2272
Abstract: Techniques are disclosed relating to backing up skip list data structures to facilitate a subsequent recovery. In various embodiments, a computing system creates a checkpoint of a skip list including a plurality of key-value records that include pointers to others of the plurality of key-value records. Creating the checkpoint includes scanning the skip list to identify ones of the plurality of key-value records that are relevant to the checkpoint and storing the identified key-value records in a storage such that the identified key-value records include pointers modified to exclude ones of the plurality of key-value records that are not relevant to the checkpoint. The computing system can then recover the skip list based on the created checkpoint.
-
公开(公告)号:US20240256398A1
公开(公告)日:2024-08-01
申请号:US18162342
申请日:2023-01-31
Applicant: Salesforce, Inc.
Inventor: Akshay Manchale Sridhar , Matthew Woicik , James E. Mace
CPC classification number: G06F11/1469 , G06F16/2358 , G06F16/2379 , G06F2201/84
Abstract: Techniques are disclosed relating to a database recovery routine to start up a database system in response to a database failure. The database system accesses checkpoint information identifying a set of active database transactions that were active at a flush point that occurred before the database failure. As a part of the database recovery routine, the database system replays database transactions that occurred between a recovery point and the flush point. The database transactions include the set of active database transactions but exclude any committed or aborted database transactions that occurred between the recovery point and the flush point such that less than a total number of database transactions occurring between the recovery point and the flush point are replayed. The database system further replays, without excluding committed or aborted database transactions, database transactions occurring between the flush point and a recovery end point at which the database failure occurred.
-
公开(公告)号:US20240118982A1
公开(公告)日:2024-04-11
申请号:US18045260
申请日:2022-10-10
Applicant: Salesforce, Inc.
Inventor: Kaushal Mittal , James E. Mace , Jun Chen , Shao-Yuan Ho
IPC: G06F11/20 , G06F16/2455
CPC classification number: G06F11/2092 , G06F16/2455 , G06F2201/85
Abstract: The disclosed techniques reduce a responsiveness time for a secondary node state of a database in switching from a second computing node to replace a first computing node acting in a primary node state, with both computing nodes performing the same database queries. The second node receives information regarding queries performed by the first node while in the primary state. In some embodiments, the second node retrieves, from a transaction log, log records detailing operations performed for database transactions. In some embodiments, the second node inserts, based on the log records, data records of the transactions into an in-memory cache of the second node that stores chains of database records from different transactions. Upon receiving sufficient information to switch to the primary state, the second node changes a mode of operation during failover making a committed transaction available for reads by subsequent database queries prior to record reordering.
-
公开(公告)号:US20240330111A1
公开(公告)日:2024-10-03
申请号:US18739282
申请日:2024-06-10
Applicant: Salesforce, Inc.
Inventor: Suhas Dantkale , James E. Mace , Matthew Woicik , Kaushal Mittal
CPC classification number: G06F11/1438 , G06F11/1453 , G06F11/1466 , G06F11/1471 , G06F16/2272 , G06F16/2282 , G06F16/2322 , G06F16/2329 , G06F16/2343 , G06F16/2379 , H04L67/10 , G06F2201/80
Abstract: Techniques are disclosed relating to restarting a database node. A database node may allocate memory segments that include a restart segment for storing data records. The database node may spawn processes to read a log and replay log records of the log to update the restart segment to store data records. The database node may determine to perform a restart operation to transition from a first mode to a second mode. Performing the restart operation may include ceasing reading the log at a stop position and storing, based on the stop position, database state information that enables the processes to resume reading the log from the stop position. The database node may further deallocate the memory segments except for the restart segment and terminate the processes. After performing the restart operation, the database node may spawn the processes, which may resume reading the log based on the database state information.
-
公开(公告)号:US20230237035A1
公开(公告)日:2023-07-27
申请号:US17938078
申请日:2022-10-05
Applicant: Salesforce, Inc.
Inventor: Patrick James Helland , James E. Mace
IPC: G06F16/22
CPC classification number: G06F16/2272 , G06F16/2255
Abstract: Techniques are disclosed relating to efficiently managing skip list data structures. In various embodiments, a computing system stores a skip list including a plurality of key-value records that include one or more pointers to others of the plurality of key-value records. The computing system scans the skip list for a location associated with a particular key. The scanning includes using a prefix of the particular key to identify a particular portion of the skip list, where the particular portion includes key-value records having keys with the same prefix. The scanning also further includes initiating a scan for the location within the identified portion. In some embodiments, the computing system inserts a key-value record into the skip list at the location associated with the particular key in response to the scan identifying the location.
-
公开(公告)号:US12086041B2
公开(公告)日:2024-09-10
申请号:US18045260
申请日:2022-10-10
Applicant: Salesforce, Inc.
Inventor: Kaushal Mittal , James E. Mace , Jun Chen , Shao-Yuan Ho
IPC: G06F16/24 , G06F11/20 , G06F16/2455
CPC classification number: G06F11/2092 , G06F16/2455 , G06F2201/85
Abstract: The disclosed techniques reduce a responsiveness time for a secondary node state of a database in switching from a second computing node to replace a first computing node acting in a primary node state, with both computing nodes performing the same database queries. The second node receives information regarding queries performed by the first node while in the primary state. In some embodiments, the second node retrieves, from a transaction log, log records detailing operations performed for database transactions. In some embodiments, the second node inserts, based on the log records, data records of the transactions into an in-memory cache of the second node that stores chains of database records from different transactions. Upon receiving sufficient information to switch to the primary state, the second node changes a mode of operation during failover making a committed transaction available for reads by subsequent database queries prior to record reordering.
-
公开(公告)号:US12007842B2
公开(公告)日:2024-06-11
申请号:US17938423
申请日:2022-10-06
Applicant: Salesforce, Inc.
Inventor: Suhas Dantkale , James E. Mace , Matthew Woicik , Kaushal Mittal
CPC classification number: G06F11/1438 , G06F11/1453 , G06F11/1466 , G06F11/1471 , G06F16/2272 , G06F16/2282 , G06F16/2322 , G06F16/2329 , G06F16/2343 , G06F16/2379 , H04L67/10 , G06F2201/80
Abstract: Techniques are disclosed relating to restarting a database node. A database node may allocate memory segments that include a restart segment for storing data records. The database node may spawn processes to read a log and replay log records of the log to update the restart segment to store data records. The database node may determine to perform a restart operation to transition from a first mode to a second mode. Performing the restart operation may include ceasing reading the log at a stop position and storing, based on the stop position, database state information that enables the processes to resume reading the log from the stop position. The database node may further deallocate the memory segments except for the restart segment and terminate the processes. After performing the restart operation, the database node may spawn the processes, which may resume reading the log based on the database state information.
-
公开(公告)号:US20240118973A1
公开(公告)日:2024-04-11
申请号:US17938423
申请日:2022-10-06
Applicant: Salesforce, Inc.
Inventor: Suhas Dantkale , James E. Mace , Matthew Woicik , Kaushal Mittal
CPC classification number: G06F11/1438 , H04L67/10 , G06F2201/80
Abstract: Techniques are disclosed relating to restarting a database node. A database node may allocate memory segments that include a restart segment for storing data records. The database node may spawn processes to read a log and replay log records of the log to update the restart segment to store data records. The database node may determine to perform a restart operation to transition from a first mode to a second mode. Performing the restart operation may include ceasing reading the log at a stop position and storing, based on the stop position, database state information that enables the processes to resume reading the log from the stop position. The database node may further deallocate the memory segments except for the restart segment and terminate the processes. After performing the restart operation, the database node may spawn the processes, which may resume reading the log based on the database state information.
-
-
-
-
-
-
-