Rahul Soni

Backend Engineer. Sharing my learnings.

How Many Users Can My Laptop Actually Handle?

Like we know the answer, we know that a laptop cannot be that powerful to have such capability, that it handles million users, but it was always vague to me and I did not know the exact technical reason why it is the case. Where things break? Where are the bottlenecks? Are they related to hardware or something else? Is this a framework dependent question? Or what actually stops us from going there....

May 1, 2026 · 14 min

Making Distributed Cache — 1

This article is about building a distributed cache like Redis and learning the concepts around it. Things we will cover RESP protocol communication Client interface to interact with Redis Handling load Persistence in both modes, just like Redis: append-only file and RDB file Crash recovery Replication (in next part) Master / Replica architecture (in next part) Lets dive in. First and foremost, the most essential part is communication between the client and server....

March 1, 2026 · 5 min

Understanding Memcached at Facebook: A Simple Guide to High-Performance Caching

If you’ve ever wondered how Facebook handles millions of users fetching data at lightning speed, it’s possible because of systems like Memcache. It is a network cache that helps Facebook serve data quickly while keeping things reliable. Main purpose of memcache is to provide frequently accessed data fast and save time in computing redundant information. Let’s look at how Facebook modified Memcache to operate at their massive scale and solve real-world challenges, based on their paper _"Scaling Memcache at Facebook....

April 27, 2025 · 9 min

Reading Hadoop(Map-Reduce) Paper

Google faced a challenge: they needed to query massive amounts of raw data, but processing and generating output was time-consuming. They required a solution that could parallelize the entire computation process, deliver results faster across multiple machines, and handle failures effectively. The goal was to build a system capable of parallel computation. While the tasks of deriving data were straightforward, the volume of raw data (crawled pages, documents, etc.) was huge....

March 15, 2025 · 9 min

Why do we need BTree and B+Tree?

Lets just jump right into it. So I created a Database, its just a Wrapper around CSV file writer, a fancy one that does some CRUD and file management, some validations and if input is given in correct format, it preserves it in the file. When I need it, I can request the part(s) so it pulls it out for me, from the specific file. Here’s the structure of my database: an interface for inputting queries (selection, insertion, and other operations), a process layer that parses the query, identifies its type and operation, extracts values, and creates a parsed version for the Executor....

August 19, 2024 · 8 min