Blog
A collection of articles on topics I am passionate about.
- Inverted Indexes
Why search engines can query billions of records instantly
database indexing elasticsearch inverted-index - Bloom Filters
Avoiding wasted work in distributed systems and databases
database data-structure bloom-filters distributed-systems - Java 21 Virtual Threads
Scaling backend systems without thread pool headaches
java concurrency virtual-threads jvm - Full Text Search in PostgreSQL - Part 1
From basic string matching to actually useful search
database postgresql full-text-search database-internals - Raft Consensus Algorithm
A simple way to make multiple servers agree and stay consistent
database raft consensus distributed-systems - Redis Basics
Why It Shows Up Everywhere
database redis caching redis-internals database-internals - Indexing in PostgreSQL using B-Trees
A deep dive into B-Tree indexing in PostgreSQL
database btree postgresql indexing database-internals - Two Phase Commit
From Theory to a Working Go Implementation
distributed-systems database two-phase-commit distributed-transactions - Inside PostgreSQL Transactions
MVCC, Isolation, and What Really Happens Under the Hood
database postgres isolation postgresql-internals - What I Learned From the Clerk System Outage
How a PostgreSQL Query Plan Flip Took Down a Production System
database postgres outage postmortem - Consistent Hashing
Designing Stable Partitioning for Distributed Systems
distributed-systems database consistent-hashing - Scaling your Database - Partitioning and Sharding
Everything about Partitioning and Sharding in Distributed Databases
distributed-systems database partitioning sharding - What I learned about replication from DDIA
Everything about replication in Distributed Systems
distributed-systems replication database designing-data-intensive-applications