Hi. The only input I have is around your first question.
When anything stores multiple smaller files (especially thousands of files per GB of data), you will have filesystem overhead on your storage device (backup target) and 'wasted space'. This could mean that a lot of additional capacity will be used up, and if you're already near capacity, that problem could scale up to where it becomes a big problem.
As a dumbed-down version using round numbers, for example:
- on a filesystem with 4K block size, a 1-byte file (e.g. a TXT file with the letter "a" in it) will consume 4K of disk capacity.
- If you scale this up to a thousand files, you are consuming 4,000,000 bytes of disk capacity, with only 1,000 bytes of data.
Also, if you are using any other apps/utils to scan, monitor, or sync at the filesystem level (for example a sync tool, or anti-malware, or checksums) - it will need to process many thousands of files instead of just a hundred or so. This will add latency to processing files.
Again, depends on scale, so another round-number example:
- assume an app/util needs 200 milliseconds to open and close each file per operation
- if you have 100 files, you have 20 seconds of 'wait time'.
- If you have 1,000,000 files, you are looking at about 55 hours of 'wait time'.
Not a very realistic example, but just something to be aware of when you explode data into many, many smaller file containers.