Ask HN:Distributed System Design book recommendations?
So I work at a FAANG company where the ‘durrr relational databases’ don’t scale cult is preeminent. We draw fancy boxes and arrows and sweep the split brain problems under the rug. All literature I have read so far treat the topic very naively — I want something that airs out all the dirty laundry — split brain issues, failure recovery, etc and provides suggestions how to deal with it. I’ve already and enjoyed “data-intensive” but looking for something a little broader. I would take a tour of the top 10 colleges and look through their course syllabi and recommended readings. Here is Stanford's recommended reading: https://www.scs.stanford.edu/22sp-cs244b/sched/ Here is CMU's: https://www.andrew.cmu.edu/course/15-440/readings/ I would imagine you will end up reading various papers on things like: spanner: https://en.wikipedia.org/wiki/Spanner_(database) cassandra: https://en.wikipedia.org/wiki/Apache_Cassandra paxos: https://en.wikipedia.org/wiki/Paxos_(computer_science) raft: https://en.wikipedia.org/wiki/Raft_(algorithm) two-phase commit: https://en.wikipedia.org/wiki/Two-phase_commit_protocol This is a great list - adding two more that cover Calvin (vs Spanner, Cassandra, Dynamo etc.): http://dslam.cs.umd.edu/calvin/
https://www.cs.umd.edu/~abadi/papers/calvin-sigmod12.pdf Disclaimer: I work with Fauna, a distributed serverless/edge DB with a design inspired by Calvin. - Luis