ddia
go-caskdb
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ddia
-
The “Build Your Own Redis” Book Is Completed
Shameless plug; I've been playing with a [Redis Server implementation in Go](https://github.com/jan-carreras/ddia) for the past weeks. Mainly as a way to try out things explained in Designing Data-Intensive Applications book (favourite of mine!). Those are the [commands implemented](https://github.com/jan-carreras/ddia/blob/master/commands.md), + TTL + AoF files (for state replication) + config file, ... The "challenge" was to do it without any external dependency other than go stdlib.
> I actually build minimal Redis clones in every new language or runtime, or when I want to explore threading models.
100% agree with your advice; I'll definitively try to implement other parts of the Redis service in Go (eg: pub/sub, replication, clustering...) and probably repeat the same exercise when learning any new language.
go-caskdb
- Ask HN: What are some good resources for learning about low level disk/file IO?
-
Implementation of a relational database in go
shameless plug: here is my build your own kv store project in Go - https://github.com/avinassh/go-caskdb
-
The “Build Your Own Redis” Book Is Completed
I am a big fan of Build Your Own X educational projects. Recently, I released a Go version of my build your own KV Store project. I have set up this project in TDD fashion with the tests. So, you start with simple functions, pass the tests, and the difficulty level goes up. There are hints if you get stuck (e.g. link). When all the tests pass, you will have written a persistent key-value store.
go - https://github.com/avinassh/go-caskdb
python - https://github.com/avinassh/py-caskdb
- caskdb - a educational project to help you teach building a persistent key value store in Go
-
caskdb - a educational project to help you teach building a persistent key value store
link - https://github.com/avinassh/go-caskdb
What are some alternatives?
reredis - Rewrite Redis in Rust.
redi-s - A performant Redis server implemented in SwiftNIO.
miniredis - A very tiny clone of Redis for experimenting with PubSub
build-your-own-x-in-rust
py-caskdb - (educational) build your own disk based KV store
marmot - A distributed SQLite replicator built on top of NATS
dokany - User mode file system library for windows with FUSE Wrapper
fio - Flexible I/O Tester
zero-to-production - Code for "Zero To Production In Rust", a book on API development using Rust.