Schedule a Backup Task in order to backup your data.
This will allow you to restore the database to a previous state from a specific point in time.
This task is not replicating your data, see more below in Backup -vs- Replication
Configure the following when creating a Backup Task:
- Backup Type - Select Backup/Snapshot
- Backup Time - Schedule the task time
- Backup Content - Select Full/Incremental
- Backup Destination - Select the backup destination
In this page:
Backup Task - Definition
Create New Backup Task
Task Name (Optional)
- Choose a name of your choice
- If no name is given then RavenDB server will create one for you based on the defined destination
Backup Task Type:
- Backed Up Data: The database data in a JSON format, including documents, indexes (definitions only) & identities
(same as exported database format)
- Size of backup data: Smaller
- Backup Speed: Faster
- Restoring: Slower, Indexes have to be rebuilt from their definitions
- Backed Up Data: The raw database data including the indexes (definitions and data)
- Size of backup data: Larger
- Backup Speed: Slower
- Restoring: Faster, Indexes do not have to be rebuilt
Preferred Node (Optional)
- Select a preferred mentor node from the Database Group to be the responsible node for this Backup Task
- If no node is selected, then the cluster will assign a responsible node (see Members Duties)
Backup Task - Content & Scheduling
Backup Task Schedule & Content
Select the content to back up. Note: Both types can be scheduled.
Full Backup will back up all the database data every time the task is scheduled to work.
Incremental Backup will only back up the delta (changes made) of the data since the last backup that has occurred.
Schedule the Backup Task time using a Cron Expression.
(eg. "0 0 12 * * ?" means "0 seconds, 0 minutes, 12pm (noon), every day, every month")
If only Incremental Backup is set, then a Full Backup will occur only in the first time that the Task is triggered,
followed by Incremental Backups according to the scheduled time.
The Full Backup that is done the first time will be either a 'Backup' or a 'Snapshot', depending on the type selected.
Data that is backed up in Incremental Backup is always of type 'Backup' - even if the Backup Task Type is 'Snapshot'.
A Snapshot can only occur when scheduling 'Full'.
Scheduling two backups
To save on transfer costs you can schedule frequent incremental backups, while backing up your indexes with infrequent full-snapshot type backups.
In the image "Backup Task Schedule & Content" above:
- A Full Backup is scheduled every day at 02:00 AM - and in addition to that -
- An Incremental Backup is scheduled every 6 hours
Backup Task - Destination
To achieve a robust data protection strategy
The 3-2-1 rule can be implemented by creating a periodic backup onto a cloud storage and another on an onsite machine.
Backup Task - Details in Tasks List View
Tasks List View Details
Backup Task Details:
- Task Status - Active / Not Active / Not on Node
- Destinations - List of all backup destinations defined
- Last Full Backup - The last time a Full Backup was done
(Snapshot / Backup type - depending on task definition)
- Last Incremental Backup - The last time an Incremental Backup was done
- Next Estimated Backup - Time for next backup
(Full Backup / Incremental Backup / Snapshot - depending on task definition)
View of the Backup Task responsible nodes
In addition to the scheduled time defined, you can backup your data now.
The scheduled backup will still be triggered as defined.
Click to refresh this panel viewed details
Backup Task - When Cluster or Node is Down
Backup Task -vs- Replication Task
RavenDB's External Replication provides you with an off-site live replica/copy of the data
('live' meaning that any changes in the database will be reflected in the replica once they occur).
If one database is down, the replica can continue its work, thus greatly improving availability.
This is also quite useful if you need to:
- Shift operations to a secondary data center
- Share the workload across more than one server.
But a replica isn't a backup... It doesn't present good solutions for many backup scenarios. For example, backups can:
- Protect you from an accidental collection delete
- Tell you the state of the system at, say, 9:03 AM last Friday
- Protect you from various cyber attacks
A backup keeps an exact state of the database at a specific point in time and can be restored.