Kalavara
A distributed persistent key value store that speaks http. Inspired by minkeyvalue.
installation
precompiled binaries are available on release page or
you can run cargo install kalavara
command to install kalavara
master server
Master server stores index (key, url of volume server where the value is stored) in rocksdb. Requests are redirected to curresponding volume server after metadata is updated.
to start the server, run
volume server
Volume server stores values in file system. For atomicity temporary files are
first created in destdir/tmp
directory and then moved to destination path.
For this approach to work, destdir/tmp
and destination path should be in same
file system
to start the volume server, run
if master server is not aware of this volume server, register with
Usage
- insert a key-value
- retrive value
- delete a key
- register a new volume server with master
Performance
License
To the extent possible under law, the author(s) have dedicated all copyright related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.