Namesake parachromis dovii
A key-value data store used for learning more about the internals of a database. The goal is to incrementally improve the robustness and speed of the database, ideally reaching a point of an eventually consistent data store like Cassandra or Redis.
- Need to have a local Docker daemon running and docker-compose installed
- Run with 3 dovii instances
docker-compose up --scale dovii=3
curl --header "Host: dovii.local" http://localhost/<KEY>
curl --header "Host: dovii.local" -X POST http://localhost/<KEY>/<VALUE>
- String keys and values stored in memory
- String keys and values stored in json on disk
- Bitcask support
- Deploy multiple instances with docker-compose, load balanced behind traefik
- At this point the system does not return correct values for GETs, this is expected, now we do RAFT to get values consistent across cluster
- Use hashicorp/raft to guarantee consistency across nodes