modulepackage
1.0.0
Repository: https://github.com/abesheknarayan/go-caskdb.git
Documentation: pkg.go.dev
# README
go-caskdb
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)
- Cache
- Garbage Collector for removing old deleted keys
- Distributed using Paxos or consistent hashing