bytefreak.devWhen Bloom Filters Fail: False Positives, Memory Trade-offs, Production LessonsIn my previous article, Bloom Filter: Definitely No, Probably Yes, we saw that a Bloom filter acts like a ‘magic’ toolbox to perform quick operations on large datasets to determine whether a value is certainly not in the set. However, this 'definitel...Feb 11·3 min read
bytefreak.devBloom Filter: Definitely No, Probably YesIn large-scale distributed systems, knowing what you don’t have is often more valuable than knowing what you do. Let’s understand with a practical example. Imagine you are building a recommendation engine for a blogging site like Hashnode or Medium, ...Feb 3·5 min read
bytefreak.devConcurrency vs. Parallelism: A Coffee Shop Guide for DevelopersIf you ask ten developers to explain the difference between concurrency and parallelism, you might get ten slightly different answers. It’s one of those fundamental concepts that is easy to grasp abstractly but tricky to visualize in practice. To und...Jan 22·4 min read
bytefreak.devFrom Modulo to Consistent Hashing: Optimizing Distributed Storage🔥 Ever tried scaling a single database past its limits? You’ll quickly encounter massive rebalance storms and downtime. While a single-server setup might handle initial workloads easily, expanding to tens or hundreds of millions of users demands dis...May 28, 2025·8 min read
bytefreak.devUnderstanding Write-Ahead Logs: Durability Beyond the FlushDatabases are a fundamental part of modern software architecture. Depending on the use case, we rely on different types — from relational databases like PostgreSQL to NoSQL systems like Cassandra, or even distributed log systems like Kafka. But have ...Apr 15, 2025·5 min read