Restore much slower than backup

I’m running roonserver on an ancient HP laptop (cli linux on AMD turion 64 dual with 2GB ram - don’t laugh) - it’s a bit slow sometimes but quite adequate until I get round to buying a NUC. Backups of my library of around 1000 albums to a Synology NAS over wired ethernet take less than 5 mins.
Yesterday I had some awkward editing to do so backed up beforehand in case I screwed up.

I screwed up.

No problem… I started a restore. I didn’t time it exactly but it must have taken about 2 hours.
Is this normal? Do I just sigh and wait until I get my NUC?

Backups are incremental, meaning only changes since the last backup are copied. Restores copy the entire database.

Ahhh, that’ll be it, although I don’t remember the first one being inordinately long.
Thank you.

Hmm, does that mean that I shouldn’t ‘tidy up’ my numerous backups by deleting old ones?

Restores obviously recreate the entire library and this involves creating thousands of very small files (which has a significant overhead). In general, restores will take longer and will be highly dependent on the capabilities of the computer.

Totally up to you. The backup system is essentially storing versions of files and on restore will pick the versions that will recreate the database as it was when the backup was taken. Even if you deleted your very first backup out of a string of 10 Roon would still keep all the files needed to restore the versions that you decide to keep.

Thank you, and now apologies, and I’m either tired or stupid (probably both), but I can’t reconcile your statement of being able to delete the first of a set of incremental backups with my understanding of how such a system works. What am I missing?

You forgot option #3… I didn’t do a good job of explaining it!

Let me see if I can do a better job…

Let’s say your database has 1000 files named 1, 2, 3 … 1000

You take an initial backup of your database and Roon copies all of the files and assigns them a version (let’s say version ‘A’).

Some time later you take another backup (version ‘B’). Then another (version ‘C’), etc…

When Roon takes the ‘B’ backup it goes through the database and finds that only files 12, 501, and 923 changed so it makes copies of those. With the ‘C’ backup it finds that 12 and 501 have changed again and in addition 101 and 225 have changed too.

Now, when it comes to do a restore to version ‘C’ Roon goes through it’s backup catalog and finds that in order to make the database look like it did when the ‘C’ backup was taken it needs the following files:

‘A’ Version: 1 - 11, 13 - 100, 102 - 224, 226 - 500, 502 - 922, and 924 - 1000.
‘B’ Version: 923
‘C’ Version: 12, 101, 225, and 501

Now if you go in and clean up backups and delete the ‘A’ version you aren’t actually deleting all of the files that were backed up in that initial snapshot, just the ones that are specific to an ‘A’ version restore.

Based on the scenario above Roon would clean out the ‘A’ versions of the following files: 12, 501, 923. All of the other backed up data is retained and with that you’d still be able to restore versions ‘B’ and ‘C’.

Essentially all of the files (and versions) are kept until they are no longer needed (or referenced) by a particular restore point.

Did that help, or did I make it worse :grin:

I think it helped… if you are saying that roon is clever in deleting old backups. If I delete backup A via an external command, I must have lost all of A’s info, n’est pas?

Maybe I should go to bed…

Unless you need the disk space, just keep them all :wink: