High Availability and Partitioning strategies Flashcards

1
Q

What is Sharding in broad terms?

A

Splitting up the data between multiple servers. Together they represent the entire collection. Allows for better throughput as calculations and search are shared.

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

What is a rule of thumb for High Availability?

A

Have redundant/passive/shadow everything. Eg. Loadbalancers, servers & data storage.

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

What is vertical sharding?

A

Definition: Vertical sharding involves splitting a database table vertically, meaning different columns or attributes of a table are stored in separate shards. Vertical sharding is flexible in accommodating changes to the schema, as adding or removing columns typically affects only specific shards.

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

When should you use Vertical sharding?

A

It is suitable when certain columns of a table are accessed more frequently than others, allowing for improved performance by isolating heavily used columns.

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

What is Horizontal sharding?

A

Horizontal sharding involves distributing rows of a table across multiple shards based on a defined rule or algorithm, typically using a shard key. Horizontal sharding can be more challenging to modify since adding or removing shards might require redistributing the entire dataset.

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

When should you use Horizontal sharding?

A

It is beneficial when the dataset is large and needs to be distributed across multiple servers to enhance performance and scalability.

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