Requirements, Trade-offs, and Challenges Flashcards
What are the types of web service availability?
Service availability
Data availability
What are the types of consistency models?
Data - centric
Client - centric
Types of Data-centric consistency that don’t use synchronization?
Strict consistency
Sequential
FIFO (PRAM)
Causal
What is Strict consistency?
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
Sequential Consistency
All processes see the same order of all access operations
No operations started until the previous one is completed
Causal Consistency
Better concurrency than sequential
All processes see causally-related shared accesses in the same order.
Need to keep track of dependencies
FIFO (PRAM) Consistency
PRAM (Pipelined Random Access Memory)
All processes see writes from each other in the order they were used.
Good performance
Simple and Easy
What are the types of Data-centric consistency models that use synchronization?
Weak
Release
Enter
Weak consistency
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
Release consistency
Relaxation of weak consistency
Made consistent when a critical section is exited
Burden on programmer
Explicit feedback on critical section
Good performance
Entry consistency
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.
User-centric consistency
To present individual apps with a view of the database that is consistent with their own actions
Uses Eventual consistency
Eventual consistency
No updates occur for a while, then eventually all updates propagate through the system
User-centric consistency models
Monotonic reads
Monotonic writes
Read your writes
Writes follow reads
Latency
The time between a request and a response