4 ms·
Sure. But you only have 2-3GB of usable address space, and if your app has a lot of other variables to work with, there's not much space left over. I should no
by hyc_symas 12y ago
Sure. But you only have 2-3GB of usable address space, and if your app has a lot of other variables to work with, there's not much space left over.
I should note that in LMDB 1.0 we'll have dynamic unmapping and remapping, to allow 32-bit machines to work with larger DBs. (There's still a significant performance cost for this. It's only being done to allow folks to use the same code on 32 and 64.)
- jetm9 12y agoOff-topic: will you have something like networked KV store aka redis. what do you think of Redis or Cassandra?
- hyc_symas 12y agoFor redis, there's already ardb, ledisdb, redis-NDS, and a few other redis clones that support LMDB. We also already have memcacheDB on LMDB, as well as HyperDex with LMDB. I haven't looked closely at Cassandra since it's in java, and after I didn't find a simple backend plugin API I didn't look any further.
- jbooth 12y agoIf you're interested in building a distributed DB on top of LMDB, I took care of part of the problem (replication/consistency) in my flotilla library at https://github.com/jbooth/flotilla https://github.com/jbooth/flotilla Basically I'm just layering the raft consistency algorithm on top of LMDB. Both systems single-thread write transactions for consistency, so there's some mechanical sympathy. Doesn't mandate any specific data model or even a client-server network transport, it's basically a replicated embedded DB. Anyone could build replicated redis on top of it or a Cassandra clone if they want to get into managing shards/rings. Sample app (still WIP) at https://github.com/jbooth/merchdb https://github.com/jbooth/merchdb