Improved Backup and Restore capabilities in distributed database

Improved Backup and Restore capabilities in distributed database

CockroachDB is designed to deliver bulletproof resilience. But even the world’s safest boat needs to carry life jackets. The same principle applies to your data, which is why we’ve baked a breadth of Backup and Restore capabilities into CockroachDB.

Moving Backup & Restore into the Free, Open Source Version of CockroachDB

Since this blog was originally published there has been one massive change to our backup & restore functionality - we moved it into open source. This decision was influenced by the community of CockroachDB users who helped us understand that modern data intensive applications need more support than what we were providing with our single machine disaster recovery.

For context, when we made the decision to create two versions of our backup and restore features (one core and one enterprise) there was not the same proliferance of data intensive applications in the open source market that needed to be supported across multiple machines. That is, of course, no longer the case. And we’re grateful to the community for communicating their needs with us. You made this an easy decision. 

Backup Data & Restore Data in a Resilient, Distributed Database

The responsibilities of backup and restore functionalities are different in a database that is designed to survive disaster (and is named after the “cockroach”). For example, isolated issues like small-scale node failures don’t require action on your part. In a resilient database like CockroachDB backups are for disaster recovery situations where a cluster has lost a majority of its nodes. 

In CockroachDB the distributed backup and restore features help the users quickly recover from coding accidents, they also add more protection for customer data, and they help applications stay in regulatory compliance with industry specific data regulations (through backup archival). You also may want to take regular backups to get point-in-time snapshots of your database. 

  • Backup: CockroachDB’s Backup statement allows you to create full or incremental backups of your cluster’s schema and data that are consistent as of a given timestamp. 
  • Restore: The Restore statement restores your clusters schemas and data from a backup stored on services such as AWS S3, Google Cloud Storage, NFS, or HTTP storage (you can restore a full cluster, databases, or tables). 


CockroachDB Backup & Restore Tutorial

In this video tutorial, Senior Product Manager Michael Wang goes through some improvements made to Backup and Restore that are intended to make the process faster, easier and more secure. In this tutorial, Michael gets into the command line to demonstrate some improvements we’ve made, and he takes the time to explain what CockroachDB is doing under the hood to make the developer experience more seamless. Here are some of the highlights from the tutorial: 

  • An updated incremental backup UX 
  • Introducing full cluster backup/restore
  • Increased speed with time bound iterators 
  • Added security with encrypted backups

As we mentioned above these Backup & Restore features became open source as of version 20.2. So you can start building on CockroachDB by clicking here to get a free 30-day trial. If you’d like to learn what other CockroachDB open source users are building you can ask them directly in our community slack channel.

Dan Kelly linkedin link

Dan has been producing technical blogs, videos, whitepapers, and webinars at Cockroach Labs for the last 4+ years. His mission is to identify the most pressing problems developers face and to create content to solve them. Outside of work Dan is usually chasing his three year old daughter or cooking something indulgent.

Keep Reading

Distributed BACKUP and RESTORE added to free CockroachDB Core

We are constantly looking for ways to help small teams make a big impact with CockroachDB. We heard from our community …

Read more
How CockroachDB implemented consistent, distributed, incremental backup

Consistent, Distributed, Incremental Backup: Pick Three

Almost all widely used database systems include the ability to …

Read more
Distributed tracing and performance monitoring in CockroachDB

When you’re working with distributed systems, data storage and retrieval aren’t as straightforward as they are in legacy …

Read more