Townsourced Tech Blog

Tech musings from a local development agency


BoltDB vs Badger: A Comparison of Go Key-Value databases

  • 29
  • Jan
  • 2019
When I first started working on BoltHold (a simple querying and index engine that sits on top of BoltDB), Badger didn’t yet exist, and BoltDB was the clear leader of the pack for key-value, pure-go, embeddable databases. Then Badger was released, and it was shown to be more than just a pure-go version of LSM-tree stores like RocksDB / LevelDB, it actually was faster than RocksDB. Much faster. I knew I wanted to build something with Badger in the future, and when an issue was opened to add Badger support to Bolthold, I jumped on it.

When Naming Is Important, and When It's Not

  • 30
  • Jul
  • 2018
Like Neanderthals Grunting and Pointing at Cave Paintings The other day a junior dev walked up to my desk and ask for some help troubleshooting a deadlocking issue he was seeing. I wasn’t familiar with the details of his process, so he proceeded to explain to me how the data was modeled, and how it flowed from one process to the next and was modified along the way. The process was complicated enough that I wasn’t able to build a clear picture of the process in my head.