gitmyhub

wal-g

★ 0 updated 2y ago ⑂ fork

Archival and Restoration for databases in the Cloud

WAL-G is a tool for backing up and restoring databases to cloud storage. It compresses and encrypts your data, helping you recover quickly if your database crashes or needs to move servers.

GoPostgreSQLMySQLMS SQL ServerMongoDBRedissetup: moderatecomplexity 3/5

WAL-G is a tool that helps you back up and restore databases. If your database ever crashes, gets corrupted, or you need to move it to a new server, this tool helps you recover your data from cloud storage so you can get back up and running quickly. It works with several major databases including PostgreSQL, MySQL/MariaDB, and MS SQL Server, with beta support for MongoDB and Redis.

At a high level, the tool handles two main jobs: creating backups and restoring them. It compresses your data to save space, offering a few different compression methods that trade off between speed and how much space you save. It can also encrypt your backups so your data stays secure while sitting in cloud storage. You configure it using either environment variables or a config file, and it sends your backups to whatever cloud storage provider you specify.

The tool is designed for anyone running a database in production who needs a reliable disaster recovery plan. For example, if you run a SaaS application with a PostgreSQL database, you would use this to schedule regular backups to Amazon S3 or Google Cloud Storage. If your primary database server ever fails, you can pull the latest backup from the cloud and restore it to a new server. The tool also helps you manage old backups so you can keep a few recent ones and clean up the rest to save on storage costs.

One notable thing about the project is how it handles deletion. It has a "dry run" mode by default, meaning if you tell it to delete old backups, it will first show you what it plans to remove without actually doing it. You have to explicitly confirm the deletion, which is a safety measure to prevent accidentally wiping out backups you still need. You can also mark certain backups as permanent so they never get deleted automatically.

Where it fits