Compose plans include daily, weekly, monthly, and on-demand backups. These backups are included at no additional cost and happen automatically with no configuration required.
There's a number of ways that Compose backups are taken. They are all designed to minimize, or eliminate, any interruption to your database's availability. A summary of implementation details and backup/restore options can be found in the Quick View Table for the curious.
Whatever the strategy employed to take the backups, they are then maintained based on the following retention schedule:
- Daily backups for 7 days
- Weekly backups for 4 weeks
- Monthly backups for 3 months
- One on-demand backup, only the most recent on-demand backup is retained
Backup schedule and retention policies are fixed and cannot be altered. If your needs require a different backup scheme, our backups are available for download. From there, you can retain archives in a way that best satisfies your business requirements.
If you have CLI tools or a local installation available, you may also perform automated backups as necessary.
There are different techniques for downloading and restoring backups depending on the database type. Some databases support only downloading your backups, so restoring a database has to be done locally or through command-line tools. Others offer backups that are restorable to a new Compose deployment. Some offer both. The Quick View Table lists the options by deployment type.
You have two options for accessing your backups:
- In the Compose UI, on the Backups panel
- Through the Compose API, at the
/2016-07/deployments/:deployment_id/backupsendpoint. More information about using the API for backups is on the Managing Backups via the Compose API page.
To download a backup file, click on the download icon on the right. (It's the one with the arrow pointing into the box.
To restore a backup to a new Compose deployment, click on the restore icon. (It's the one with the arrow in a circle.)
You should then see a page where you can name the new deployment, and choose its region.
Clicking on the Create Deployment button starts the provisioning and the restoration of your data.
On-demand backups are useful if you plan to make major changes to your deployment like scaling or removing databases, tables, collections, etc.
On-demand backups can be triggered in two ways:
- from the Compose UI on the Backups page, there is a green Back up now button.
- from the Compose API with a POST request to /2016-07/deployments/:deployment_id/backups
Each deployment only has the most recent on-demand backup available. Taking a new on-demand backup will overwrite the previous on-demand backup of that deployment.
Only deployment types that support downloading their backups can be locally restored. The procedure varies by deployment type, so instructions can be found on deployment-specific pages:
|Database||Backup Strat||Restoration Options|
|MongoDB||file-system snapshot of backup data node||Download, Restore|
|PostgreSQL||file-system backup with WAL log||Download, Restore|
|Elasticsearch||cluster-level snapshots using Elasticsearch Snapshot API||Restore Only|
|Redis||binary snapshot||Download, Restore|
|RethinkDB||"hot backups on a live cluster" using the RethinkDB command-line utility ||Download Only|
|etcd3||snapshot of keyspace||Download, Restore|
|Scylla||Scylla - nodetool ||Restore Only|
|Compose for MySQL||Download, Restore|
|MongoDB Classic||Download, Restore|
If this article didn't solve things, summon a human and get some help!
Updated about 3 years ago