Draft: madiabackup + restic
Here are the stats on the following database, comparing 'restic repository with always full backup' vs 'restic repository with full and incremental backup' vs 'zstd compression for full and incremental backup' vs 'restic repository with zstd compression'
- InnoDB size: 506GB
- Mroonga size: 24GB
The first day, full backup anyway.
- mariabackup > full.xb: 529GB, 12m18s
- restic < full.xb: 60GB, 8m26s
- zstd < full.xb: 56GB, 11m13s
- restic < full.zstd: 55GB, 2m14s
- (for comparison) 'mysqldump | gzip': 14GB, 45m
The second day, incremental backup.
- mariabackup > full.xb: 529GB, 12m51s
- restic < full: 62GB (+2GB), 8m28s
- mariabackup incremental > inc.xb: 24GB, 5m26s
- restic < inc: 61GB (+5GB), 42s
- zstd < inc: total 59GB (+4GB), 30s
- restic < inc.zstd: 59GB (+4GB), 9s
The third day, one more incremental backup.
- mariabackup > full.xb: 529GB, 13m20s
- restic < full: 66GB (+4GB), 8m15s
- mariabackup incremental > inc.xb: 26GB, 5m32s
- restic < inc: 61GB (+1GB), 43s
- zstd < inc: total 64GB (+5GB), 34s
- restic < inc2.zstd: 63GB (+4GB), 9s
The fourth day, full backup.
- mariabackup > full.xb: 529GB, 13m40s
- restic < full (on full repo): 70GB (+4.3GB), 8m16s
- restic < full (on full+inc repo): 68GB (+6.6GB), 6m47s
- zstd < full: total 121GB (+56GB), 11m2s
- restic < full2.zstd: 104B (+41GB), 1m54s
So overall, 'restic repository with full and incremental backup' is the best for both the duration and the storage.