Sharding

Last updated

What is Sharding?

Sharding is a technique used to horizontally partition a large data set across multiple servers, in order to improve the performance, scalability, and availability of a system. This is done by breaking the data set into smaller chunks, called shards, and distributing the shards across multiple servers. Each shard is self-contained and can be managed and scaled independently of the other shards. Sharding can be used in scenarios like scalability, availability, and geo-distribution. Sharding can be implemented using several different algorithms such as range-based sharding, hash-based sharding, and directory-based sharding.

Free resources to learn Sharding

More in stage 23: Reliability Patterns

Sharding: common questions

Can I learn Sharding in Hindi?

This lesson is written in English. Once you sign in, open it in the interactive course and ask the AI tutor to explain Sharding in Hindi or Hinglish. The tutor answers from this lesson’s own text, so it stays on the syllabus, and it runs on your own Google, OpenAI or Anthropic key.

Is this Sharding tutorial for beginners?

It is lesson 109 of 147 in the free System Design roadmap, in stage 23, Reliability Patterns. If you are new to System Design, start from stage 1 and come back here in order; if you already know the earlier stages, this lesson stands on its own.

Still confused? Ask me