Hallvard Breien Furuseth h.b.furuseth@usit.uio.no schrieb am 24.03.2021 um
23:37 in Nachricht a469e51f-87be-dcaa-094e-36bd54f6fc77@usit.uio.no:
On 24.03.2021 16:52, Howard Chu wrote:
Yes it makes no difference since by default, back-mdb stores all entries as single blobs. Thus the entire entry is always rewritten on any modification. LMDB stores all records as a single contiguous set of pages, (...)
I think that fact that any entry is written to a contiguous block of free pages ("free extent") is more important than the fact that an entry is re-written even if only some part was changed. I think the latter is more or less obvious...
Please put this explanation in the documentation.
But also, the manpage isn't all that helpful about which values to pick for "multival", unless I'm missing something. What's "very large"? Could you guys write down some of what you are thinking to choose these values? Or if that's complicated, maybe back-mdb could compute them based on more generic params, as long as it does not get too clever. (Since that kind of cleverness goes very wrong at times.)
Nitpick: It's unusual to mention UINT_MAX as a value to set - the norm is 0 for that. Or "0 = no limit, in practice meaning up to UINT_MAX" if the value of UINT_MAX is relevant to understanding what will happen.