Go-CaskDB is a disk-based, embedded, persistent, key-value store based on the Riak's bitcask paper , written in Golang inspired from py-CaskDB. It is more focused on the educational capabilities than using it in production. The file format is platform, machine, and programming language independent.
Tasks
Get, Set KV using disk as store
Loading data from disk onto memory
testing
Proper logging
Support for generic key and values (right now only for strings)
need better way of handling bytes (very bad rn)
Benchmarking
Crash Safety
Key Deletion
RB-tree to support range scans
Split db file into several small files (implement merging compaction using go-routines)