News for hackers. Stuff that matters.
Re:The Kivaloo Data Store by jnwatson on Monday September 21, 2020 @03:40PM (#24547565)
I would be curious how this compares to LMDB. They both use B+Trees (which are just B-trees with siblings linked).

Limiting values to 255 bytes is quite constraining, to say the least.

Also, it seems that there are no transactions in kivaloo. That makes a big difference.

Re:The Kivaloo Data Store by cperciva on Monday September 21, 2020 @04:02PM (#24547787)
It's rather hard to compare. My understanding is that LMDB is a library which accesses a shared memory-mapped file; kivaloo is a collection of daemons which are accessed via the network or a unix socket. I guess you could place a network protocol front-end on top of LMDB and compare that to kivaloo?

And sure, small values and a lack of transactions are intentional limitations which allowed me to improve performance for the use case I cared about. Of course there's nothing stopping you from constructing that functionality in other ways; in fact I'm planning on releasing a daemon which provides key-blob storage by storing large objects in Amazon S3 and using the core kivaloo functionality as an indirection table.

Re:The Kivaloo Data Store by remram on Monday September 21, 2020 @04:03PM (#24547802)
B+tree is a B-tree with no data except at the leaves, and with sibling leaves linked.
Re:The Kivaloo Data Store by cperciva on Monday September 21, 2020 @04:53PM (#24548346)
The "sibling leaves linked" criterion is optional for B+trees. Kivaloo does not do that (it isn't possible for an append-only data structure).