chapter 6 Flashcards
how do we keep replicas consistent?
- ensure that all conflicting operations are done in the the same order everywhere
- when one copy is updated we need to ensure that the other copies are updated as well.
give an example of a Conflicting operations.
- concurrent Read–write conflict
- concurrent Write–write conflict
Reasons for Replication?
1) Replication for reliability
- possible to continue working after one replica crashes by simply switching to one of the other replicas.
- to provide better protection against corrupted data
2) Replication for performance
- when number of processes need to access data managed by a single server. by replicating the server and subsequently dividing the work.
- by placing a copy of data in the proximity of the process using them, the time to access the data decreases.
Guaranteeing global ordering on conflicting operations may be a costly operation, downgrading scalability. Solution?
weaken consistency requirements so that hopefully global synchronization can be avoided
describe a Data-centric consistency models.
is a contract between a distributed data store [ distributed collection of storages ] and processes in which, the data store will specify the result of a read and write operation during concurrency.
describe a Continuous Consistency.
- allows us to measure the degree of consistency.
- replicas may have:
- inconsistent numerical values
- inconsistent staleness [ time of ops ]
- inconsistent number or order of update ops
describe a conit.
specifies the data unit, whose consistency we are measuring
- stack market [ conit = stock value ]
describe weak consistency
Shared data can be counted on to be consistent only after a synchronization is done.
Properties Weak Consistency:
- Accesses to synchronization variables associated with a data-store are sequentially consistent.
- No operation on a synchronization variable is allowed to be performed until all previous writes have been completed everywhere.
- No read or write operation on data items are allowed to be performed until all previous operations to synchronization variables have been performed.
describe Causal consistency
Writes that are potentially causally related must be seen by all processes in the same order. Concurrent writes may be seen in a different order by different processes.
describe Sequential consistency.
The result of any transaction is the same as if all operations contained within the transaction were executed in a sequential order specified by the program.
list types of data centric Consistency models.
- sequential
- strict
- casual
- weak
what is the goal of a Client-centric consistency models?
Aims to achieve the consistency that the client wants instead of the consistency that the server should maintain.
what are the techniques to find the best place fore replica placement?
- Select best location out of N − K for which the average distance to clients is minimal. Then choose the next best server. EXPENSIVE
- Select the K-th largest autonomous system and place a server at the best-connected host. COMPUTATIONALLY EXPENSIVE
- Position nodes in a d-dimensional geometric space, where distance reflects latency. Identify the K regions with highest density and place a server in every one. COMPUTATIONALLY CHEAP
what are the types of replicas?
- permanent
- server initiated
- client initiated