Database Backup and Recovery
Database backup and recovery covers the techniques for protecting database contents against loss: full, incremental, and log-based backups, point-in-time recovery, replication, and the testing procedures that verify recoverability before a failure actually occurs.
itDatabases and data storage | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Database Backup and Recovery
A backup is a carefully preserved chance to have the database you used to have. Recovery is the longer, less photogenic job of turning that chance into a service people can use. The distinction is useful because a green backup job is only a message about writing something somewhere. It has not yet volunteered to start the database, find its keys, obey its permissions, or answer an application query. Machines are admirably literal about this.
The first two ideas are RPO, the point in time to which data must return, and RTO, the maximum acceptable outage. RPO decides how much recent change can vanish. RTO must pay for retrieval, restore, log replay, validation, and cutover, all of which insist on occupying time at once. A short backup window is therefore not a short recovery. It is one ingredient in a soup that is inconveniently served during an incident.
The third idea is the recovery chain. A base or full backup may need incremental backups, ordered transaction logs, a catalog, credentials, and a compatible database engine. For PostgreSQL, archived write-ahead logs let recovery stop at a selected point. For MySQL, later binary logs can bring a full backup forward. Lose a required link, and the desired point becomes a fine historical concept with nowhere to go.
The surprise is that a running database is not the finish line. Rows may return while roles, configuration, extensions, or application connections do not. A business action may also have changed something outside the database. That is why a clean, isolated target is so useful: it gives the recovery team space to check the engine, schema, critical data, permissions, and application behavior before the recovered state meets real traffic. Replication helps continuity, but it can copy a bad deletion with impressive punctuality.
Read the Intro for the full map from objective to controlled cutover. Use Slides when the backup forms and recovery chain need a quick visual comparison. Keep the Cheatsheet nearby for selection rules and validation gates. The Practice tab turns the theory into a bounded restore drill, and the Quiz checks the decisions that make a backup a recovery plan rather than an elaborate collection of optimism.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://nvlpubs.nist.gov/nistpubs/legacy/sp/nistspecialpublication800-34r1.pdf
Supports
- Recovery point and recovery time objective definitions
- Business impact analysis, recovery priorities, backup policy, alternate storage, testing, recovery, and reconstitution
- Protection of backup confidentiality and integrity plus restoration of selected functions during tests
- https://www.postgresql.org/docs/current/backup.html
Supports
- PostgreSQL SQL dump, file-system backup, and continuous-archiving approaches
- Each backup approach has distinct strengths and constraints
- https://www.postgresql.org/docs/current/backup-dump.html
Supports
- Logical SQL dump behavior, restoration, portability, and cluster-wide export considerations
- Parallel dump and restore options for archive formats
- https://www.postgresql.org/docs/current/continuous-archiving.html
Supports
- Base backups, archived write-ahead logs, log replay, recovery targets, and timelines
- Required backup-chain dependencies and incremental-backup ancestry
- Write-ahead log archiving does not restore manually edited PostgreSQL configuration files
- https://dev.mysql.com/doc/mysql-backup-excerpt/8.0/en/backup-types.html
Supports
- Physical versus logical, online versus offline, local versus remote, and full versus incremental backup characteristics
- Scheduling, compression, and encryption considerations
- https://dev.mysql.com/doc/refman/8.4/en/backup-methods.html
Supports
- Database backup method selection
- Binary logs as incremental recovery material and backups taken from replicas
- https://dev.mysql.com/doc/refman/8.4/en/point-in-time-recovery-binlog.html
Supports
- Full backup plus subsequent binary logs for point-in-time recovery
- Binary log selection by file, event time, or event position
- https://www.cisa.gov/stopransomware/ransomware-guide
Supports
- Offline encrypted backups of critical data
- Regular tests of backup availability, integrity, and restoration procedures
- https://www.nist.gov/publications/contingency-planning-guide-information-technology-systems-recommendations-national
Supports
- Publication of NIST SP 800-34 in January 2002
- https://www.postgresql.org/docs/8.0/release-8-0.html
Supports
- PostgreSQL 8.0 release date and point-in-time recovery capability
- https://www.postgresql.org/docs/9.1/release-9-1.html
Supports
- PostgreSQL 9.1 release date, streaming backups, and pg_basebackup
- https://www.postgresql.org/docs/9.6/release-9-6.html
Supports
- PostgreSQL 9.6 release date and replication slots retaining WAL needed for a base backup
- https://about.gitlab.com/blog/postmortem-of-database-outage-of-january-31/
Supports
- GitLab January 2017 database outage, unrecoverable production data, and subsequent backup monitoring work
- https://docs.percona.com/percona-xtrabackup/9.7/
Supports
- Percona XtraBackup as an open-source hot-backup utility for MySQL-based servers
- https://helpcenter.veeam.com/docs/vbr/userguide/protect_applications_db.html
Supports
- Veeam database-level backup and recovery using native database instruments
- https://developer.rubrik.com/Rubrik-Security-Cloud-API/Data-Protection/Data-Center/PostgreSQL/
Supports
- Rubrik API-driven protection for PostgreSQL database clusters
- https://www.commvault.com/explore/database-backup
Supports
- Commvault database backup service for SQL Server and SAP HANA
- https://docs.cohesity.com/baas/data-protect/concepts/databases.htm
Supports
- Cohesity database protection documentation
