A test with a 10 Mbytes LDIF import of 17000+ contacts yield a 300 Mbytes users partition file (DC=foo,DC=bar) (after ldbbackup otherwise the size is even bigger).
Part of the size is due to overduplication of SecurityDescriptor that accounts for 20% of the size (I made the calculation by coping the file and then removing the SD with a script),
Gain can be done by doing as Windows (storing only different SD and having an link as explained at:
http://technet.microsoft.com/en-us/library/cc772829%28WS.10%29.aspx, The SD Table contains data that represents inherited security descriptors for each object. With the introduction of the SD table in Windows Server 2003, inherited security descriptors no longer have to be duplicated on each object that inherits security descriptors. Instead, inherited security descriptors are stored in the SD table and linked to the appropriate objects).
But clearly some big optimization have to be done somewhere else as we are mapping the whole database in memory which means that ~300/400 MB will be used for ~ 20 000 object shop.
For the same volume the whole Windows database (configuration and schema and users) use 65MB.
Well ekacnet, I think this is not really a bug but a feature request. I'm marking it like this.
I don't think it's only a feature request. 20 000 real objects is not so much.
If you think that now when an object is deleted it is not really deleted but moved and kept x months (6 if I recall) a medium company might face the pb quite quickly or a least require much more memory than what we use to require for running samba.
But it's not a real bug either. I will mark the problem with a higher severity.
Feature requests are enhancements.