Low Level Design: Search Engine and Inverted Index Design
3 min read A search engine indexes documents and answers queries of the form “find documents containing these terms” in milliseconds, even across […] Read article
3 min read A search engine indexes documents and answers queries of the form “find documents containing these terms” in milliseconds, even across […] Read article
6 min read Database indexes are data structures that allow the database engine to find rows matching a query condition without scanning the Read article
3 min read Consensus algorithms allow a cluster of nodes to agree on a single value even when some nodes fail or messages Read article
4 min read OAuth 2.0 is an authorization framework that allows applications to obtain limited access to user accounts on third-party services without Read article
6 min read WebSockets provide full-duplex, persistent communication between a browser and server over a single TCP connection. Unlike HTTP request-response, either side Read article
4 min read Sharding (horizontal partitioning) splits a large dataset across multiple database nodes to scale beyond what a single machine can handle. Read article
4 min read An operating system scheduler decides which process or thread runs on each CPU core at any given moment. The scheduler Read article
3 min read A memory allocator manages heap memory — fulfilling malloc/new requests and returning freed memory for reuse. The C standard library Read article
5 min read TCP and UDP are the two dominant transport-layer protocols underpinning all internet communication. TCP provides reliable, ordered, connection-oriented delivery with Read article
5 min read Forward proxies, reverse proxies, and load balancers are often confused because they all sit between clients and servers in a Read article
3 min read The Log-Structured Merge-tree (LSM-tree) is a data structure optimized for write-heavy workloads. Unlike B-trees that update pages in place (causing Read article
5 min read Garbage collection (GC) automatically reclaims memory occupied by objects no longer reachable from the application. The JVM provides multiple GC Read article
3 min read A materialized view is a pre-computed query result stored as a physical table, refreshed periodically or incrementally as source data Read article
5 min read Storage tiering assigns data to different storage media based on access frequency: hot data (accessed frequently) lives on fast, expensive Read article
3 min read Lambda and Kappa architectures are data processing patterns for building systems that must handle both real-time (streaming) and historical (batch) Read article
What's missing, wrong, or worth adding? One line helps.
Sent — thank you. We read every one.