xline-kv/Xline

[Feature]: Make the library embedabble

Closed this issue · 1 comments

Description about the feature

Hello,

I just came across Xline when on the hunt for a KV store that I can embed in my own Rust binaries. I don't really want to run a container/node for a persistent KV store, but I want to be able to share state between multiple instances of my own binaries.

Is this something you'd consider adding? Essentially, like RocksDB et al but the ability to throw it run in a tokio runtime alongside my own code and interact with it just like the existing client does, but under the hood it's just calling methods instead of communicating with a remote node.

SurrelDB is embeddedable as a library, but the license and corporate interest puts me off. However, it relies on database backends for persistence (e.g. TiKV). I'd rather it just handle the persistence in RocksDB and do the distribution itself but this about as close as I've seen:

https://crates.io/crates/surrealdb

Code of Conduct

  • I agree to follow this project's Code of Conduct

Hi, @AshleySchaeffer. From your description, it seems like what you need is a local KV database. Xline adopts CURP as the consensus protocol, with a focus on applications in WAN with high latency. We may not consider adding such a feature in the short term.