Getting optional LMDB support into Cytoplasm #43
Loading…
Reference in a new issue
No description provided.
Delete branch "lda/Cytoplasm:lmdbwerk"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
WIP: Getting optional LMDB support into Cytoplasmto Getting optional LMDB support into CytoplasmCan you give some sort of rationale statement for this? I'm not opposed to it, and if you say it works I can go ahead and merge it, but a little comment here as to why this is necessary might be nice.
I should also do some research of my own on LMDB, I'm not super familiar with it.
It's mostly out of reliability and speed. I've seen some scenarios where the JSON-based backend could sometimes just corrupt(by not writing all the way, but then again, it was on rather large JSON objects, but I can think of at least one place where that could happen (like PDUs, which can potentially be up to 64KB)) after crashes. LMDB on the otherhand does avoid the problem by design (c.f) (c.f 2).
Also, since it is memory-mapped, it can just avoid doing
open
/read
/close
system calls.That's true, the JSON backend isn't the most robust at the moment, but I would like it to be a viable alternative for those that don't want to use LMDB, so my only hesitation is that if we merge this, the JSON backend will be neglected and thus no longer work at all. As long as we make sure we maintain both so that both are reliable (even if the JSON is much slower) then I'm okay with this.