4 ms·
What are you using LevelDB for? I hope not the main KV store. Do you use 2PC or something like Raft to handle distributed transactions? From the docs it sound
by eis 11y ago
What are you using LevelDB for? I hope not the main KV store.
Do you use 2PC or something like Raft to handle distributed transactions?
From the docs it sounds like everytime a node joins/leaves the cluster goes into a (brief?) unstable mode and failures can happen, that doesn't sound great.
- shin_lao 11y agoI'm happy to see you've read the documentation thoroughly! We indeed stopped using LevelDB. It has been used for a while but we couldn't work around some speed issues. LevelDB is good for many scenarii when properly configured, though. The database is multilayered, LevelDB was the last layer, most parallel operation were managed by a massively parallel in-memory database which used LevelDB as a backend. We do 2PC to handle distributed transactions. Raft breaks our consistency model. When a node joins/leaves the cluster you might have some transient failures which are generally absorbed by the protocol. I hope I answered your questions and feel free to give it a spin next week, we're about to release a major update!
- teraflop 11y agoIs there something particularly wrong with LevelDB? It may not have all of the bells and whistles you could possibly want from an on-disk key-value store, but it seems like a perfectly serviceable building block to put a database on top of.