•   Home
  •   Github
  •   LinkedIn
  •   Subscribe
Menu
Shivam Kapoor

Shivam Kapoor

Nothing is complicated when broken down far enough.

52 Posts

From Isolation Anomalies to Isolation Levels

Oct 30, 2023 | distributed-systems, databases, system-design, storage

We often think of isolation levels as checkboxes in a database configuration such as Read Committed, Repeatable Read, Serializable. But these labels are not arbitrary. They’re the database world’s answer to a simple question: What can possibly go wrong if two transactions run together? Each isolation level exists…

The Illusion of Time in Distributed Systems, Part III: Outsmarting Time With Tokens

Oct 17, 2023 | distributed-systems, system-design

In the previous post, we saw how distributed systems escape the chaos of unreliable clocks by using logical time to measure causality instead of seconds. But there’s one domain where time keeps sneaking back in i.e., Coordination. And as already explained in Part I of this series, coordination…

The Illusion of Time in Distributed Systems, Part II: How Systems Keep Order Without Real Time

Oct 07, 2023 | distributed-systems, system-design

In the last post, we saw how physical clocks betray us! They drift, skew, jump, and bend, creating logs where effects appear before causes and refunds happen before payments. So what do we do when time itself can’t be trusted? We stop measuring time, and start measuring causality. Second…

The Illusion of Time in Distributed Systems, Part I: Subtle Lie That Ticks Beneath Our Servers

Oct 03, 2023 | distributed-systems, system-design

Distributed systems often behave as if time were universal, objective truth as if two machines agreeing on a timestamp meant they also agreed on the order of events. But clocks in computers are not laws of nature! They drift with time, freeze under load, stumble over leap seconds, and lags…

Consistency Models Explained by Their Anomalies

Sep 16, 2023 | distributed-systems, system-design, storage, databases

Consistency models are often introduced as abstract rules: causal, sequential, linearizable, and so on. But what they really do is draw boundaries around the kinds of mistakes a distributed system can make. If consistency is about agreement, anomalies are the cracks where that agreement breaks. Each model exists precisely to…

Newer Posts Page 3 of 11 Older Posts
Theme Attila by zutrinken Published with Ghost