Making 768 servers look like 1
5 hours ago
- #sharding
- #database scaling
- #infrastructure
- Database sharding is essential for scaling relational databases beyond a few terabytes of data, as it addresses bottlenecks like write limitations and storage capacity that arise with single-node databases or read-replicas.
- A proxy layer (router) is key in sharding systems like Neki for Postgres and Vitess for MySQL, as it manages query routing, data distribution, and connection pooling, making multiple shards appear as a single database to applications.
- Sharding involves distributing data across many servers (e.g., 768 servers for a petabyte-scale system), using strategies like hashing IDs, and may include load balancers to handle high query volumes while hiding complexity from apps.