I’ve been splitting my time lately between the new Spheres project and the Coursera Cloud Computing specialization, in order to sharpen my distributed systems skills. My personal experience has been great, and I have learned tons of new stuff. The first two courses proposed building a Membership Protocol and a Distributed Fault-Tolerant Key-Value Store respectively. The store of the second assignment relies on your own membership protocol implementation (so it pays to build a solid implementation!).
These assignments were optional, but I think there is no better way for truly learning the concepts than to implement the code. In this post I will describe the architecture of the minimalistic NoSQL database that I built while studying these courses.…continue