Bloom Filters Mathmania

So, you’ve come across Bloom filters and understand that, despite their probabilistic nature, they are a great fit for your use case. You’ve decided to integrate them into your system design, but you’re unsure about the optimal size and the number of hash functions needed for your…

Using Binomial Distribution to Model Data Durability

Durability requirements influence the choice of data protection mechanisms, such as replication, erasure coding, and RAID parity configurations. Achieving higher durability involves trade-offs between redundancy, storage usage ratio, and computational complexity. Replication achieves durability by creating multiple copies of data, which increases redundancy but reduces the storage usage ratio. In…

How Databases Achieve Concurrency Through Conflict-Free Scheduling

In my previous blog, I explored how serializability ensures isolation across transactions while linearizability guarantees real-time consistency of single objects. This post builds on that discussion by diving deeper into serializability, essentially exploring how valid serial transaction orders are nothing but a means to achieve concurrency through conflict-free scheduling. We…