Data Partitioning (Sharding) Flashcards
What is Data Partitioning (Sharding)?
Data partitioning (also known as sharding) is a technique to break up a big database (DB) into many smaller parts. It is the process of splitting up a DB/table across multiple machines
What are the benefit of Data Partitioning ?
to improve the manageability, performance, availability and load balancing of an application.
Why data partitioning is beneficial?
The justification for data sharding is that, after a certain scale point, it is cheaper and more feasible to scale horizontally by adding more machines than to grow it vertically by adding beefier servers.
What are different type of Partitioning?
- Horizontal partitioning
- Vertical Partitioning
- Directory Based Partitioning
What are different criteria for partitioning?
- Key or Hash-based partitioning
- List partitioning
- Round-robin partitioning
- Composite partitioning
What are the problems of partitioning?
- Joins and Denormalization
- Referential integrity
- Rebalancing