Mahesh Balakrishnan writes about distributed systems, replicated databases, consensus protocols like Paxos and Raft, and engineering leadership.
Commenters engage with his arguments on consensus and consistency, citing his post that Raft is less modular and harder to understand than MultiPaxos.
I believe TigerBeetle are alluding to their integration of protocol-aware recovery [1], which is a worthy consideration for the log implementation. Yet another engineering concern which can be offloaded.
If the disaggregated log integrates some mechanism to support leadership "above" it [2], it can be functionally identical to a converged log. Efficiency-wise yes there will be some extra network messages – but networks are very high throughput [3] and fast (sub-millisecond within a cloud region) these days!
[1] https://www.usenix.org/conference/fast18/presentation/alagappan [2] https://maheshba.bitbucket.io/blog/2023/05/06/Leadership.html, also on HN yesterday [3] https://blog.enfabrica.net/the-next-step-in-high-performance-distributed-computing-systems-4f98f13064ac
I don’t agree with much in this writing other than that eventual consistency is a bad choice. Distributed systems are hard but in 2024 there are enough known patterns and techniques to make them less icky. Systems built on total ordering are much more tractable than weaker protocols. Mahesh Balakrishnan’s recent paper[0] on the Shared Log abstraction is a great recipe, for example.
As an aside, I’ve never enjoyed the defeatist culture that permeated operations and distributed systems pop culture, which this post seems to re-enforce.
0 - https://maheshba.bitbucket.io/papers/osr2024.pdf
Agree, Raft is less modular and therefore harder to understand than MultiPaxos:
https://maheshba.bitbucket.io/blog/2021/12/14/Modularity.html