Member-only story

Understanding The Tradeoffs of Horizontal, Vertical, and Directory-Based Sharding Approaches: Mastering Database Design

The Tradeoffs of Sharding: Horizontal, Vertical, and Directory-Based Approaches

Patrick Karsh
4 min readOct 25, 2023

In today’s data-driven world, database scalability is more than just a buzzword; it’s a necessity. As databases grow, one common solution to distribute this load is sharding. Essentially, sharding involves splitting a database into smaller, more manageable parts, and there are several strategies to achieve this. But like all solutions, each sharding strategy comes with its own set of tradeoffs.

In this article, we’ll delve into three popular sharding strategies: horizontal, vertical, and directory-based sharding, and explore the benefits and challenges of each.

Horizontal Sharding

Definition: Horizontal sharding involves dividing the rows of a database table across multiple locations. Each location contains a subset of rows, usually determined by a consistent hashing mechanism on a chosen shard key.

Benefits:

  • Uniform Distribution: If a proper shard key is selected, data can be uniformly distributed, preventing “hotspots” where certain nodes experience more traffic than others.

--

--

Patrick Karsh
Patrick Karsh

Written by Patrick Karsh

NYC-based Ruby on Rails and Javascript Engineer leveraging AI to explore Engineering. https://linktr.ee/patrickkarsh

No responses yet