intro

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.

overview

working on jdb has provided me with an opportunity to not only deepen my understanding of distributed programming in a multi-node environment, but also in a local, multi-threaded environment. …


Introduction

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.

Eligibility

In practice, the aforementioned questions end up looking more like:

Based on Employee X’s…


intro

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

overview

jdb is entirely decentralized, meaning each node…

chap

software engineer @ facebook

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store