Data Partitioning (Sharding) Flashcards

1
Q

What is Data Partitioning (Sharding)?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the benefit of Data Partitioning ?

A

to improve the manageability, performance, availability and load balancing of an application.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why data partitioning is beneficial?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are different type of Partitioning?

A
  1. Horizontal partitioning
  2. Vertical Partitioning
  3. Directory Based Partitioning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are different criteria for partitioning?

A
  1. Key or Hash-based partitioning
  2. List partitioning
  3. Round-robin partitioning
  4. Composite partitioning
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the problems of partitioning?

A
  1. Joins and Denormalization
  2. Referential integrity
  3. Rebalancing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly