GoArchive
Archive related MySQL data across servers. GoArchive moves a parent row together with every child row that depends on it, in the correct order, and verifies the copy before anything is removed.
View on GitHub β$ goarchive validate -c archiver.yaml
$ goarchive dry-run -c archiver.yaml --job archive_old_orders
orders β order_items β order_payments β shipments
$ goarchive archive -c archiver.yaml --job archive_old_orders
copied Β· verified Β· removed
What GoArchive does
One tool for moving related data out of a production database.
Built for related data
- Resolves table relationships automatically
- Writes parents first, removes children first
- Discovers every row belonging to a parent
Safe by default
- Verifies every batch before removing anything
- Checks schema, privileges and triggers before starting
- Resumes from where it stopped after an interruption
Designed for production
- Batch processing with configurable pacing
- Pauses automatically when replica lag rises
- Pause and resume a running job without stopping it
Three workflows
The same discovery and ordering behaviour, with different outcomes.
Plan your archiving strategy with us
We publish GoArchive as open source because we already do this work in customers’ production systems. Deciding which tables to archive, describing the relations correctly, and running the job without disturbing replica lag take experience as much as tooling. That is where our MySQL consulting and support comes in β delivered in English as well as Turkish.
