Requirements, Trade-offs, and Challenges Flashcards

1
Q

What are the types of web service availability?

A

Service availability

Data availability

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

What are the types of consistency models?

A

Data - centric

Client - centric

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

Types of Data-centric consistency that don’t use synchronization?

A

Strict consistency
Sequential
FIFO (PRAM)
Causal

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

What is Strict consistency?

A

Uses absolute time ordering

Strongest Memory Coherence and strictest requirements.

Read operations on the memory address always returns the same value written by the most recent write operation to that address.

Requires absolute global time.
Deemed practically impossible for Distributed Systems

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

Sequential Consistency

A

All processes see the same order of all access operations

No operations started until the previous one is completed

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

Causal Consistency

A

Better concurrency than sequential
All processes see causally-related shared accesses in the same order.
Need to keep track of dependencies

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

FIFO (PRAM) Consistency

A

PRAM (Pipelined Random Access Memory)
All processes see writes from each other in the order they were used.

Good performance
Simple and Easy

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

What are the types of Data-centric consistency models that use synchronization?

A

Weak
Release
Enter

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

Weak consistency

A

Synchro accesses are sequentially consistent

Before synchro access, all previous regular data accesses are to be completed.

Before regular access, all synchro data accesses are to be completed.

Burden on programmer
Good performance

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

Release consistency

A

Relaxation of weak consistency

Made consistent when a critical section is exited

Burden on programmer
Explicit feedback on critical section
Good performance

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

Entry consistency

A

Data on a critical region made consistent when a critical region is entered

Ordinary shared data associated with a synchronization variable

when acquire is done on a synchro variable only data guarded by that variable will be made consistent.

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

User-centric consistency

A

To present individual apps with a view of the database that is consistent with their own actions

Uses Eventual consistency

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

Eventual consistency

A

No updates occur for a while, then eventually all updates propagate through the system

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

User-centric consistency models

A

Monotonic reads
Monotonic writes
Read your writes
Writes follow reads

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

Latency

A

The time between a request and a response

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

Tail latency

A

A small percentage of response times that take the longest in comparison to the bulk of its response times.

17
Q

What causes variability in response times?

A
Shared resources
Background services & activities 
Queueing 
Energy management
Garbage collection
18
Q

How to reduce system latency

A

Selective Replication
Parallelization of sub-operations
Reducing head of line blocking (HOL)
Managing background services

19
Q

Reducing database access latency

A
Replication & Sharding
Eventual consistency
Read replicas
Caching
Geo-Locating
20
Q

Resiliency

A

The ability of a system to recover from failures and continue to work with min downtime and data loss