IP Library Granted Patent US 11,829,253
Granted Patent B2
US 11,829,253 · App. 16/895,601 · Granted Nov 28, 2023

Systems and methods for non-blocking backups

Inventors: Alyson Cabral (New York, NY); Spencer Jackson (White Plains, NY); Xiangyu Yao (New York, NY); Jonathan Reams (New York, NY); Daniel William Gottlieb (Long Island City, NY); Eliot Horowitz (New York, NY); Susan LoVerso (Southborough, MA)
Assignee: MongoDB, Inc.
G06F11/1464G06F9/5016G06F11/1451G06F11/1461G06F11/1469G06F2201/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,829,253
App. No.
16/895,601
Granted
Nov 28, 2023
Kind
B2
Abstract

A database system comprising a database comprising a plurality of data storage nodes, the plurality of data storage nodes including a primary storage node and a plurality of secondary storage nodes. The database system may also include at least one processor configured to: perform at least one write command to a secondary storage node of the plurality of secondary storage nodes; and perform at least one backup command, at least partially in parallel with the at least one write command being performed to the secondary storage node, of at least some data from a snapshot of data stored in the secondary storage node. A method for performing at least one backup command in a database at least partially in parallel with the at least one write command being performed.

Claims (35)

1. A database system comprising:

a database comprising a plurality of data storage nodes, the plurality of data storage nodes forming a replica set, the plurality of data storage nodes including, in the replica set, a primary storage node and a plurality of secondary storage nodes; and

at least one processor configured to:

perform at least one write command to a secondary storage node of the plurality of secondary storage nodes; and

perform at least one backup command, at least partially in parallel with the at least one write command being performed to the secondary storage node, of at least some data from a snapshot of data stored in the secondary storage node,

wherein the replica set is configured to store at least one dataset in the database,

wherein the at least one backup command is performed without allocating additional disk capacity beyond that in the replica set,

wherein each backup command of the at least one backup command opens no more than one backup cursor,

wherein storage resources of the backup cursor are released based on whether a heartbeat signal is received within a time interval.

2. The database system of claim 1 , wherein the at least one backup command is performed without allocating additional hardware beyond that in the plurality of data storage nodes.

3. The database system of claim 1 , wherein the at least one processor is configured to validate whether a storage engine supports the at least one backup command.

4. The database system of claim 1 , wherein the database system includes first components that support the at least one backup command and second components that do not support the at least one backup command.

5. The database system of claim 1 , wherein the database follows an eventual consistency model.

6. The database system of claim 1 , wherein the at least one processor is configured to execute a plurality of system components, wherein the system components comprise:

an interface component configured to receive the at least one write command and the at least one backup command;

a snapshot component configured to generate a plurality of snapshots of data stored in the secondary storage node; and

a command processing component configured to apply the at least one write command and perform the at least one backup command.

7. A method for performing at least one backup command in a database comprising a plurality of data storage nodes, the plurality of data storage nodes forming a replica set, the plurality of data storage nodes including, in the replica set, a primary storage node and a plurality of secondary storage nodes, the method comprising:

performing at least one write command to a secondary storage node of the plurality of secondary storage nodes; and

performing at least one backup command, at least partially in parallel with the at least one write command being performed to the secondary storage node, of at least some data from a snapshot of data stored in the secondary storage node,

wherein the replica set is configured to store at least one dataset in the database,

wherein the at least one backup command is performed without allocating additional disk capacity beyond that in the replica set,

wherein each backup command of the at least one backup command opens no more than one backup cursor,

wherein storage resources of the backup cursor are released based on whether a heartbeat signal is received within a time interval.

8. At least one computer-readable storage medium having instructions recorded thereon which, when executed by a computer, cause the computer to perform a method for performing at least one backup command in a database comprising a plurality of data storage nodes, the plurality of data storage nodes forming a replica set, the plurality of data storage nodes including, in the replica set, a primary storage node and a plurality of secondary storage nodes, the method comprising:

performing at least one write command to a secondary storage node of the plurality of secondary storage nodes; and

performing at least one backup command, at least partially in parallel with the at least one write command being performed to the secondary storage node, of at least some data from a snapshot of data stored in the secondary storage node,

wherein the replica set is configured to store at least one dataset in the database,

wherein the at least one backup command is performed without allocating additional disk capacity beyond that in the replica set,

wherein each backup command of the at least one backup command opens no more than one backup cursor,

wherein storage resources of the backup cursor are released based on whether a heartbeat signal is received within a time interval.

9. The at least one computer-readable storage medium of claim 8 , wherein the at least one backup command is performed without allocating additional hardware beyond that in the plurality of data storage nodes.

10. The at least one computer-readable storage medium of claim 8 , wherein the method further comprises validating whether a storage engine supports the at least one backup command.

11. The at least one computer-readable storage medium of claim 8 , wherein the database system includes first components that support the at least one backup command and second components that do not support the at least one backup command.

12. The at least one computer-readable storage medium of claim 8 , wherein the database follows an eventual consistency model.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2021
From: CABRAL, ALYSON; JACKSON, SPENCER; REAMS, JONATHAN; GOTTLIEB, DANIEL WILLIAM; LOVERSO, SUSAN
To: MONGODB, INC.
Reel/Frame 057621/0870 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2021
From: YAO, XIANGYU
To: MONGODB, INC.
Reel/Frame 057621/0982 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2020
From: HOROWITZ, ELIOT
To: MONGODB, INC.
Reel/Frame 054756/0081 →
Continuity (7)
Continuation In Part 15604856 · May 25, 2017
Continuation In Part 14992225 · Jan 11, 2016
Provisional Application 62861968 · Jun 14, 2019
Provisional Application 62343440 · May 31, 2016
Provisional Application 62341453 · May 25, 2016
Provisional Application 62232979 · Sep 25, 2015
Related Publication 20200301787A1 · Sep 24, 2020