Data Replication and Scalability Flashcards

1
Q

Why is Replicating Data important?

A

-Data objects replicated on more servers.
-Fault tolerance.
-Load balancing.

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

Describe Primary Backup Replication? (See Diagram)

A
  1. Client sends request to primary.
  2. Primary checks if request has been already executed before; if yes, got to step 5.
  3. Primary executes request and stores response.
  4. If write request, primary sends updated state and response to all backups, and wait for ACKs.
  5. Primary sends response to the client.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Primary Backup Replication: What should happen when a backup server fails?

A

It will be eventually replaced/restored and it will collect the updated state from the other backups .

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

Primary Backup Replication: How to choose a new primary if the current one fails?

A

Leader election.

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

Primary Backup Replication: How do clients know who the new primary is?

A

The new primary can register itself as the primary with a name service that clients consult.

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

Primary Backup Replication: What happens to pending requests?

A

-State updates sent using ordered multicast, so all backups are synchronized.
-Clients will resend those requests after a certain timeout.
-If the request has already been executed and propagated by an old primary, then the response is available and ready to be sent back to the client.

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

Primary Backup Replication: How many server failures can be tolerated?

A

With N servers, up to N-1 server failures can be tolerated.

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

What is CAP theorem?

A

Commonly desired properties for a replicated data store:
-Consistency: all replicas of a same data object has always the same state.
-Availabilty: Requests are served as long as at least one server is available.
-Partition Tolerance: The data store keeps working even if servers are partitioned.

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

AP Systems give up consistency to ensure availability and partition tolerance. What type of consistency can AP systems guarantee?

A

-An asynchronous network that may delay messages among correct nodes arbitrarily, but eventually behaves synchronously and delivers all messages within a fixed time bound.
-During “synchronous periods”, servers can reconcile data objects replicas to make them consistent.
-During “asynchronous periods” read operations can return non-consistent versions.
=> Eventual consistency.

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

CA Systems give up partition tolerance to ensure consistency and availability. What does it mean to give up partition tolerance?

A

-Assuming that partitions cannot occur.
-A distributed system deployed on a single site is less likely to experience network partitions than a geographically distributed system.
- However network partitions in a datacentre are not impossible.

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

What is Scalability?

A

Refers to the possibility to adapt something to meet greater needs in the future.

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

What are Scale parameters?

A

External parameters that can change over time.

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

What are Scalability metrics?

A

Measurements of system properties.

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