Q33: What is the difference between Database Partitioning and Sharding?
- Partitioning (Vertical/Horizontal): Splitting a large table into smaller sub-tables within a single database instance. The application interacts with the table normally while the database engine routes queries to specific partitions automatically.
- Sharding: Horizontally distributing data across multiple independent physical server nodes. Sharding requires network-level routing and cross-node coordination, enabling applications to scale out beyond single-node hardware limits.
Key Takeaways
- Partitioning splits tables on a single database instance; Sharding distributes data across separate servers.
- Sharding enables massive horizontal scale, but increases application routing and cross-node maintenance complexity.