Sharding a database is a common scalability strategy used when designing server side systems. The server side system architecture uses concepts like sharding to make systems more scalable, reliable and performant.
Sharding is horizontal partitioning of data according to a shard key. This shard key determines which database the entry to be persisted is sent to. Some common strategies for this are reverse proxies.
Database interviews ask for concepts like sharding to make databases more performant and available. This makes horizontal partitioning a logical choice.
Looking to ace your next interview? Try this System Design video course! 🔥
Video lectures, architecture diagrams, capacity planning, API contracts and evaluation tests. It’s a complete package.
Horizontal vs. Vertical partitioning: n
Designing Data Intensive Applications – H