Making 768 servers look like 1
Jul 15, 2026Ben Dicken

Summary
This post explains the necessity of database sharding for scaling relational databases beyond single-node limitations, detailing bottlenecks like write limitations, data capacity, and backup times. It introduces the concept of a proxy layer (router) as the critical component that makes a sharded database appear as a single entity to applications. The post elaborates on how routers handle sharding strategies, query parsing, planning, and aggregation for multi-shard queries, using Neki (Postgres) and Vitess (MySQL) as examples. It also touches upon the use of JSON configuration files (VSchema/data topology) to define sharding rules and the role of Network Load Balancers in distributing traffic across multiple proxy instances at scale.