Sharding

Introduction

  • Database sharding is a database architecture strategy used to divide and distribute data across multiple database instances or servers

  • Sharding spreads the database load evenly across multiple servers, resulting in better query performance and responsiveness.

  • As data grows, new shards can be added, allowing for nearly unlimited scalability.

Strategy

Range-based

  • Range-based sharding involves partitioning data based on a specific range of values in the shard key.

Directory-based

  • Directory-based sharding maintains a central directory that maps shard keys to their corresponding shards. This directory helps route queries to the appropriate shards efficiently. However, it can introduce a single point of failure.

Routing Implemetation

Partitioning

  • Some of the database (e.g: PostgresSQL) supports partitioning natively

Last updated

Was this helpful?