Video: What is DATABASE SHARDING?

Channel: Gaurav Sen

About

Sharding a database is a common scalability strategy for designing server-side systems. The server-side system architecture uses concepts like sharding to make systems more scalable, reliable, and performant.

Sharding is the 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! 🔥

https://interviewready.io

00:00 Introduction

00:52 Sharding - The problem

01:59 Horizontal Partitioning

03:20 Considerations

04:30 Potential Drawbacks

08:46 A challenge!

Video lectures, architecture diagrams, capacity planning, API contracts, and evaluation tests. It's a complete package.

Horizontal vs. Vertical partitioning: https://stackoverflow.com/questions/18302773/what-are-horizontal-and-vertical-partitions-in-database-and-what-is-the-differen

Consistent Hashing:

https://en.wikipedia.org/wiki/Consistent_hashing

https://www.youtube.com/watch?v=zaRkONvyGr8

Sources:

https://medium.com/@jeeyoungk/how-sharding-works-b4dec46b3f6

https://medium.com/@jeeyoungk/why-i-love-databases-1d4cc433685f

https://www.quora.com/What-is-the-difference-between-consistent-hashing-and-sharding-in-a-distributed-system

https://en.wikipedia.org/wiki/Partition_(database)

Designing Data-Intensive Applications - https://amzn.to/2yQIrxH

#database #sharding #systemdesign