208-222 Flashcards

1
Q

Navesti i ukratko objasniti najvažnije ciljeve pri pravljenju
distribuiranih sistema.

A

Konzistentnost (C) – konzistentan sistem funkcioniše kao celina ili ne funkcioniše uopšte
* Raspoloživost (A) – odzivnost sistema u nekim garantovanim granicama
* Prihvatanje razdvojenosti (P) – nijedan skup problema, osim potpunog otkazivanja, ne sme
da proizvede neispravan odziv sistema

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

Objasniti konzistentnost kao jedan od osnovnih ciljeva pri
pravljenju distribuiranih sistema.

A

Konzistentan sistem funkcioniše kao celina ili ne funkcioniše uopšte. Sva čitanja moraju da daju isti
rezultat. Rezultat operacije nikada ne zavisi od čvora na kome se izvršava.

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

Objasniti raspoloživost kao jedan od osnovnih ciljeva pri
pravljenju distribuiranih sistema.

A

Sistem je uvek raspoloživ. Raspoloživost se definiše kao odzivnost sistema u nekim garantovanim
granicama. Paradoks je da sistem obično nije raspoloživ upravo onda kada je najpotrebniji. U vreme
kada je raspoloživost najpotrebnija, onda je i najteže ostvariva, zato što je sistem tada obično
najviše opterećen. Ako je sistem raspoloživ kada nije potreban, to nema značaja

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

Objasniti prihvatanje razdvojenosti kao jedan od osnovnih ciljeva
pri pravljenju distribuiranih sistema.

A

Nijedan skup problema, osim potpunog otkazivanja, ne sme da proizvede neispravan odziv sistema.
Sistem mora da prihvata delimične otkaze komunikacije i da nastavlja ispravno funkcionisanje.
Povremeni prekidi komunikacije među čvorovima su neizbežni. Razdvojenost je stanje
komunikacione mreže u kome su delovi sistema podeljeni na particije između kojih ne postoji
komunikacija. Očekuje se da sistem funkcioniše i daje ispravne rezultate čak i u uslovima
razdvojenosti.

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

Navesti teoremu CAP i ukratko je objasniti.

A

“Nije moguće definisati sistem koji zadovoljava sve CAP uslove” (Eric Brewer, 2000).
Moguće je definisati sistem koji zadovoljava izabrana dva od ovih uslova. Ideja dokaza:
Pretpostavke – neka imamo dva čvora i na njima repliciran podatak V:
* neka na čvoru 1 transakcija A ažurira V
* ažuriranje se porukom M propagira na čvor 2
* neka na čvoru 2 nešto kasnije transakcija B čita V
Pretpostavimo da poruka M nije stigla na odredište zbog razdvojenosti delova sistema. U osnovi
imamo tri moguća ponašanja sistema:
1. transakcija A se poništava – sistem ne prihvata razdvojenost svojih delova
2. transakcija A se uspešno nastavlja i zatim završava – sistem nije konzistentan (čitanje na
čvorovima 1 i 2 će davati razlićite rezultate)
3. transakcija A čeka na uspešno slanje poruke M – sistem nije raspoloživ (ne može da
garantuje vreme u kome će se transakcija završiti)

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

Koji vidovi kompromisa se prave radi prevazilaženja ograničenja
koja proističu iz teoreme CAP?

A

Odbacivanje tolerancije razdvojenosti; odbacivanje raspoloživosti; odbacivanje konzistentanosti;
ublažavanje uslova; zasnivanje sistema na drugačijem skupu uslova; projektovanje zaobilaznih
puteva.

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

Objasniti “odbacivanje prihvatanja razdvojenosti” kao posledicu
teoreme CAP.

A

Pristajemo da sistem ne radi u slučaju razdvojenosti. Jedan način prevazilaženja je da sve bude na
jednoj mašini, ali ako već moramo da pravimo DBP, onda to verovatno nije prihvatljivo. Alternativa
je da se razdvojenost svede na najmanju moguću meru pomoću višestrukog umrežavanja. Oba
načina su veoma skupa. Ovaj vid kompromisa se retko pravi.

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

Objasniti “odbacivanje raspoloživosti” kao posledicu teoreme
CAP.

A

U slučaju razdvojenosti ne garantuje se vreme odziva. Posledice problema se umanjuju pažljivim
projektovanjem sistema tj. uspostavljanjem što niže sprege među čvorovima. Sistem koji nije
raspoloživ je praktično neupotrebljiv. Zbog toga se ovaj pristup koristi relativno retko.

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

Objasniti “odbacivanje konzistentnosti” kao posledicu teoreme
CAP.

A

Dopuštamo da isti upit daje različite rezultate na različitim čvorovima, ako su razlike prihvatljivije
nego niska raspoloživost, ako je učestalost pojavljivanja svedena na prihvatljivu meru tj. ako je cena
nekonzistentnosti prihvatljiva. Konzistentnost je jedan od osnovnih uslova za uspešan rad baza
podataka. Ipak, postoje slučajevi kada nije primarna.

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

Na čemu počivaju alternativni skupovi uslova za projektovanje
distribuiranih sistema, koji se uvode radi prevazilaženja posledica
teoreme CAP?

A

Pojmovi iz teoreme počivaju na uobičajenim konceptima rada sa bazama podataka tj. postoji
zavisnost sa osobinama transakcija – ACID. Ali, može da se definiše i drugačiji skup uslova, manje
oštar, u kom slučaju sve odgovarajuće osobine mogu da se usklade – BASE.

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

Navesti i objasniti izmenjen skup uslova integriteta baze podataka
– BASE.

A

Basically Available – ne garantuje se raspoloživost odgovora, već samo sistema. Ako ne
može da se dobije odgovor, bar će se dobiti obaveštenje o tome i, pored toga, visoka
raspoloživost na štetu preostalih uslova.
* Soft-state – stanje sistema može da se menja čak i kada nije u toku nijedna transakcija.
* Eventually consistent - žrtvuju se garantovana stalna konzistentnost i izolovanost
transakcija zarad raspoloživosti. Sistem će u nekom trenutku postati konzistentan ali će i pre
tog trenutka raditi i davati odgovore.
Suština koncepta je u odloženom usklađivanju sadržaja na različitim čvorovima.

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

Objasniti specifičnosti projektovanja baze podataka u odnosu na
uslove BASE.

A

U osnovi se svode na dve nove aktivnosti:
* funkcionalna dekompozicija podataka u fragmente
* implementacija transakcija prema BASE uslovima
* određivanje uslova replikacije
Dekompozicija – skup podataka se deli na fragmente: koji predstavljaju najmanje moguće
funkcionalne celine, unutar kojih moraju da važe ACID uslovi, među kojima je dovoljno da važe
BASE uslovi.
Podela transakcija na sinhroni i asinhroni deo. Svaka transakcija se locira u jednom matičnom
fragmentu. Promene podataka u matičnom fragmentu se implementiraju sinhrono, odnosno na
uobičajen način u okviru transakcije. Promene podataka u drugim fragmentima se u okviru
transakcije samo evidentiraju. Evidentirane potrebne izmene se u drugim fragmentima sprovode
asinhrono.
Određivanje uslova replikacije – pretpostavlja se da među replikama važe BASE uslovi.
Sinhronizacija replika se odvija asinhrono, van transakcija.

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

Objasniti pojam „konflikata“ pri projektovanju baze podataka na
osnovu uslova BASE i načine njihovog razrešavanja.

A

Konflikti su osnovni vid problema kod svih vidova implementacije BASE skupa uslova. Postoje
različite vrste konflikata. Osnovni oblik: ako se dve replike istog podatka nezavisno menjaju,
pitanje je koja verzija je ispravna i kako uspešno izvesti usklađivanje. Složeniji oblik: ako se koriste
i redundantni podaci a ne samo replike.
Načini razrešavanja:
* zabrana menjanja podataka u slučaju particionisanja
* definisanje hijerarhija među redundantnim kopijama konkretnih vrsta podataka
* višestruke verzije podataka

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