NoSQL · Data models beyond tables
How do you plan backups and restores for a NoSQL database?
Short answer
Define RPO and RTO, then choose snapshots, point-in-time recovery or logical dumps to meet them. Test restores regularly, because an untested backup is only a hypothesis.
Recovery point objective is how much data you can lose; recovery time objective is how long you can take to restore. These numbers drive the backup frequency, retention and whether you need cross-region copies. They also drive cost.
Backup types
- Physical snapshot: fast to restore, tied to the storage and engine version
- Point-in-time recovery: replays changes to a precise moment, good for accidental deletes
- Logical dump: portable and selective, but slower for large datasets
- Cross-region copy: protects against regional failure, with data transfer and storage cost
mongodump --uri="mongodb://host:27017/app" --gzip --archive=backup.gz
mongorestore --uri="mongodb://host:27017" --gzip --archive=backup.gz
redis-cli BGSAVE
aws dynamodb create-backup --table-name Orders --backup-name orders-2026-10-28A backup is only useful if it restores within the RTO. Run restore drills into an isolated environment and measure the actual time, including index rebuilds and application verification. Replication is not a backup, because a bad write or delete propagates to every replica.
Follow-ups you should expect
Interviewers use these to check whether the first answer was understanding or memorisation.
- 1What is the difference between RPO and RTO?
- 2Why is replication not enough for disaster recovery?
- 3How often should you test a restore?
- 4What are the trade-offs of logical versus physical backups?
Say it in the interview
I start with RPO and RTO, because they determine how often I back up, how long I retain, and whether I need cross-region copies. Physical snapshots restore fastest, point-in-time recovery handles accidental deletes, and logical dumps are portable but slower. I schedule restore drills into an isolated environment and measure the real time, including index rebuilds. Replication is not a backup, since a bad delete replicates too, and I encrypt backups because they contain production data.
Use this as a model, not a script. Saying it in your own words is what makes it survive follow-up pressure.
Related questions
Reading is step one
Now say it out loud.
Understanding an answer and delivering it under pressure are different skills. Rehearse this topic in a live NoSQL mock interview and get scored feedback on depth, clarity and confidence.