Working with Georgian LeMill, I've noticed that over 20000 pieces is a really bad thing. Externalising those slides that are used only once will get rid of about 1/4:th of them, but still it will grow to be unmaintainable soon. When binary data is saved with object, the object will be as large as that data, and when images have different sizes, the object will be as big as all of those combined. And when object is changed, object is rewritten.
One solution would be for all pieces to store their binary data in external file folders with UID that corresponds to pieces UID. Then they could have there the original uploaded content and for images, different sized versions there. Our DB would be lot smaller in size, but there would be a huge external folder to backup.
I don't know if this would affect speed in actual use, but upgrading would be a lot easier as archetype update for any object that has binary content requires reading, resizing and rewriting all that.
I think this would be one major step for making LeMill more scalable, otherwise we'll be soon dealing with 20+ gigabyte Data.fs:s, and with files that size, nothing is easy anymore.
I'm asking if anyone has a good reason for why this wouldn't help, or what problems should we expect with 10000+ subfolder filesystem folder (should we split it to subdirectories?)
I'd also like to know if developers have time at november and december to help me to do this or are there more important features?