this is the second post documenting my adventures writing jdb. jdb is a distributed key-value store written in python. i took on this project to a) learn more about distributed databases and b) get better at writing python. the first post on cluster membership and implementing a gossip protocol can be found here.
Guild Education is a marketplace that partners with employers to provide education benefits to their employees. Guild’s value proposition derives from our domain expertise and the infrastructure that we’ve built around administering these benefits. Operationally, some of the most important questions we strive to answer effectively and accurately are:
What is available to employee X as part of their benefit?
Are employee X’s current courses covered under their benefit?
We group these and related questions under a domain that we, at Guild, refer to as eligibility.
In practice, the aforementioned questions end up looking more like:
Based on Employee X’s…
one of my favorite topics of extracurricular reading over the past year has been distributed systems, specifically as they relate to database technologies and peer-to-peer networks.
some additional time at home due to the COVID-19 pandemic provided me with an opportunity to exercise a bit of healthy(?) and productive escapism in which i attempted to improve my understanding in this area by writing a distributed database from scratch.
this first post outlines the gossip protocol i implemented to keep node peer lists up to date throughout the cluster.
code is available here: https://github.com/thejchap/jdb
jdb is entirely decentralized, meaning each node…
software engineer @ facebook