4 ms·
I highly recommend people comfortable with Go checkout the building blocks at https://github.com/thomasjungblut/go-sstables https://github.com/thomasjungblut/go
by Xeoncross 4y ago
I highly recommend people comfortable with Go checkout the building blocks at https://github.com/thomasjungblut/go-sstables https://github.com/thomasjungblut/go-sstables
This codebase shows how SSTables, WAL, memtables, recordio, skiplists, segment files, and other storage engine components work in a digestible way. Includes a demo database showing how it all comes together to make a RocksDB / LevelDB competitor (not really).
- artificial 4y agoVery cool! In a similar vein Distributed Services with Go [0] works through SST creating a KV store. I found it helpful for working with BadgerDB [1]. [0] https://pragprog.com/titles/tjgo/distributed-services-with-go/ https://pragprog.com/titles/tjgo/distributed-services-with-g... [1] https://github.com/dgraph-io/badger https://github.com/dgraph-io/badger
- Xeoncross 4y agoBadgerDB is quite a nice piece of software and (from my tests) the best key-value store in Go. Dgraph wrote a great explanation article about why they wrote Badger and the tradeoffs and designs reasons: http://web.archive.org/web/20181116033431/https://blog.dgraph.io/post/badger/ http://web.archive.org/web/20181116033431/https://blog.dgrap...
- eatonphil 4y agoJudging from the precipitous decline in Badger commits since 20221 [0] and that the original/primary author is no longer with dgraph [1] or working on Badger, it may be worth looking at Cockroach's Pebble [2] instead. [0] https://github.com/dgraph-io/dgraph/graphs/contributors https://github.com/dgraph-io/dgraph/graphs/contributors [1] https://manishrjain.com/about https://manishrjain.com/about [2] https://github.com/cockroachdb/pebble https://github.com/cockroachdb/pebble
- flashgordon 4y ago+100 and an upvote. Badger db seems so under-rated to be and is a great drop in replacement for an embedded KV store. Amazing for several simple sharded simple side projects!
- tjungblut 4y agoThank you! And thanks for all the stargazers :) Let me know if you have any issues, happy to help and fix things if necessary.
- Xeoncross 4y agoThank you Thomas, we appreciate you taking the time to open source all this for our benefit.