H7: Replication Flashcards

(30 cards)

1
Q

Waarom gebruikt men replicatie? (3)

A
  • Improved performance (minder latency tussen locaties bv.)
  • Increased availability
  • Data corruptie beveiliging (2f + 1 replicas nodig)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wat is het CAP (aka Brewer) Theorema?

A
  • Consistency: Nodes see the same data
  • Availability: Every request receives a response
  • Partition-tolerance: Garanties blijven ook als een fout de communicatie verstoord.
    Onmogelijk alle 3 te geven.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Geef een voorbeeld van een toepassing van weak consistency en hoge availability en een voor omgekeerd.

A
  • NMBS app
  • Bank App
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welke 2 typen consistency models zijn er?

A

Client-Centric en Data-Centric

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

Wat is een consistency model?

A

Contract tussen client processes en replica datastore. Als client de regels volgt, zal de datastore correct werken. Geeft ook in regels hoe parelelle requests van andere clients geregeld worden.

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

Hoe werkt strict consistency?

A
  • Identiek aan single machine
  • Bij aanpassingen, meteen propageren
  • Absolute tijd ordening met globale clock
  • Read geeft laatste write in deze tijd ordening
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Hoe werkt sequentiële consistency?

A
  • Delay kan bestaan
  • Order van operaties is fixed
  • Alle processen zien dezelfde order
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wat is causale relatedness? Wat als niet causaal related?

A

Als hij van een ander proces afhangt, anders concurrent.

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

Hoe werkt causale consistency?

A

Alle causale writes in ordening, alles wat concurrent is mag in eender welke volgorde.

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

Wat is PRAM consistency?

A

Pipeline Random Access Memory consistency is dat FIFO geldt voor writes van hetzelfde process, voor de rest maakt het niet uit hoe het gebeurt.

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

Wat is feature per operation consistency? Welke methodes (4)?

A

Consistency per operatie, hieronder vallen:
- PRAM consistency
- Causaal consistency
- Sequentieel consistency
- Strict consistency

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

Wat is group consistency? Welke methodes? (3)

A

Consistency op een groep operaties:
- Weak
- Release
- Entry

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

Wat is weak consistency?

A
  • Gebruikt synchronisatie variabele S
  • Reads worden bij elke S gepropageerd, ervoor alleen lokaal
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wat doet de S- variabele? (3)

A
  • Kan alleen gecalled worden als alle writes overal klaar zijn
  • Je kan niet readen of writen totdat de S overal klaar is
  • S ordening is sequentieel consistent
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wat is release consistency? Wat zijn de properties? (3)

A
  • Gebruikt acquire en release methodes:
  • Aqcuire(S): pullt state
  • Release(S): pusht state
    Properties:
    1. Release kan alleen als Reads en Writes van hetzelfde proces klaar zijn
    2. Read en write kunnen niet als niet alle acquires van het proces uitgevoert zijn
    3. Synchronisatie operaties zijn altijd FIFO
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wat is lazy release consistency?

A

Zelfde, maar ipv updates te sturen bij release, wordt deze gedaan bij acquire. Zorgt voor efficientie als acquire en release telkens door zelfde client gedaan worden

17
Q

Wat is entry consistency?

A

Data items hebben guarded synchronisatie values:
- Acquire(S): Geeft exclusieve write of niet exclusieve read access tot var. Synchroniseert door value te krijgen van owner (vorige die access had). Is alleen completed als data up to date is lokaal.
- Release(S): Laat access los.

18
Q
  • Wat zijn de 7 data-centric consistency models? Rank ze op sterkte.
A
  1. Strict
  2. Sequantial
  3. Causal
  4. PRAM
  5. Weak
  6. Release
  7. Entry
19
Q

Wat is NoSQL?

A

Staat voor Not Only SQL, kan dus verschillende datastructuren hebben, is vaak distrirbuted en gebruikt meestal lossere consistency modellen.

20
Q

Welke data consistency modellen gebruiken:
- MongoDB
- FoundationDB

A
  • Strict
  • Sequential
21
Q

Verschil Client-centric vs Data centric data store?

A

Client-centric focusses on how the client sees the data, Data-centric op de datastore zelf.

22
Q

Waarom Client-Centric gebruiken? (4)

A
  • Reads&raquo_space; Writes in aantal
  • Heel weinig Write Write confllicts, en als ze er zijn zijn ze easy te resolven
  • Data items hebben een owner
  • Goed voor slechte netwerk performance en reliability
23
Q

Wat is eventual consistency?

A

Alle clients worden uiteindelijk consistent

24
Q

Wat is monotonische read consistency?

A

Elke read operatie van een client gaat alleen maar een zelfde of nieuwere versie kunnen returnen.

25
Noem 3 voorbeelden van Monotonische reads
- Persoonlijke calender updates - Email service openen - DNS server
26
Wat is monotonische write consistency?
Een write operatie door een proces op een data item x is completed voor eender welke volgende write operatie door hetzelfde proces. (Alleen bij up to date writen)
27
Wat is read-your-write consistency?
Het effect van een write operatie wordt gezien eender welke opvolgende read operatie (bv. password db)
28
Wat is writes-follow-reads consistency?
Een write operatie na een read operatie gebruikt zeker een zelfde of nieuwere waarde dan deze read.
29
Wat zijn de tradeoffs van consistency modellen? (3)
- Consistency en Redundancy: Als alle kopien de strongly consistent moeten zijn en de hele state bevatten, krijg je veel reduncancy. - Consistency en Performance: Consistency zorgt voor extra computatie en communicatie - Consistency en scalability: hangt af van consistency model. Vermijd veel communicatie en gecentraliseerde modellen.
30
Welke soorten client based consistency modellen zijn er? (4)
- Monotonic read consistency - Monotonic write consistency - Read your writes consistency - Write follow reads consistency