Elosztott adatfeldolgozás DDBMS @ Adatb haladóknak
Bujáki Attila
[email protected] Adatbázisok haladóknak 2012. 2012. Október 9.
Miről lesz szó? Adatreplikáció, Georeplikáció általánosan Georeplikáció a nagyméretű felhő alkalmazásokban • Nehézségek
• Adat konzisztencia modellek • Replikációs stratégiák • Konkrét implementációk
2012.10.09.
Bujáki Attila
Kérdések, válaszok
DDBMS @ Adatb haladóknak
Elosztottságról általában
2.
Elosztottság - DDBMS DDBMS @ Adatb haladóknak
z
Elosztottság módozatai z
Felbontás (Fragmentation) z z z
z
Replikáció z z z
z
Vízszintes Függőleges Kevert Nem teljes Teljes replikáció Teljes rendundancia
Lehet kombinálni.
2012.10.09.
Bujáki Attila
3.
Adatreplikáció DDBMS @ Adatb haladóknak
z
Létezik cél HW, cél SW z
z
Biztonsági mentések, archiválás, de most DB
Georeplikáció z
Nagy távolságok
z
Koordináció jelentős költséget jelent
z
Kritériumok enyhítése?
z
Magában is nagy üzlet (iOra, Syntergy) z z
2012.10.09.
Hajó-part replikáció Katonai célok Bujáki Attila
4.
Konkurens hozzáférésvezérlés DDBMS @ Adatb haladóknak
z
Soros végrehajtás – jól átlátható
z
Konkurens – nem feltétlen
z
Ne legyen konkurencia?
z
Valamifajta sorrendben… z z
z
Adat konzisztencia modellek Meghatározzák melyek az elfogadható kimenetelek
Az erős konzisztencia túl költséges a georeplikált rendszerekben. /
2012.10.09.
Bujáki Attila
5.
Replikáció menedzsment DDBMS @ Adatb haladóknak
z
z
A replikáció több célt szolgál z
Terhelés elosztás, Megbízhatóság növelése
z
Elérési idők csökkennek
z
Hibatűrés biztosítása (akár komoly katasztrófáknál)
Konzisztencia fenntartása? z
Látszólag egy példány?
z
Georeplikált környezetben enyhébb kell. / z
z
Nehezebb programozni
CAP
2012.10.09.
Bujáki Attila
6.
Tanulság DDBMS @ Adatb haladóknak
z
Replikáció előnyös
z
Konkurens hozzáférés szabályozás előnyös
z
z
Földrajzilag elosztott rendszereknél használjuk mind a kettőt – erős érvek. Georeplikáció z
z
Hálózat szétszakadása z z
z
Magas késleltetési idők Lehetetlenné teszi az erős konzisztenciát Enyhébbnél viszont nehézebb programozni
Konzisztencia helyett teljesítmény
2012.10.09.
Bujáki Attila
7.
Adat konzisztencia modellek - Feltevések DDBMS @ Adatb haladóknak
z
z
Feltevések: z
Csak regiszterek (Read+Write művelet)
z
Nincs pl. set (kommutatív szemantika)
Konfliktusok és feloldásuk z
Last writer wins rule: „Az ír igazán, aki utoljára ír!” z z z
Regiszterre ok – de komplexebb okjektumokra? Pl.:set kommutatív hozzáadás, szemantikát is figyelni kell Léteznek műveleti szemantikát is figyelembe vevő sémák z
2012.10.09.
Set-nél: Add + Add - Merge Bujáki Attila
8.
Adat konzisztencia modellek - Típusok DDBMS @ Adatb haladóknak
z
z
Adat konzisztencia modellek z
Nem tranzakciós
z
Tranzakciós
Regiszterek a megosztott adatelemek
2012.10.09.
Bujáki Attila
9.
Adat konzisztencia modellek - Típusok DDBMS @ Adatb haladóknak
z
Adat konzisztencia modellek z
Nem tranzakciós z z z z z z
z
Linearizálhatóság Szekvenciális konzisztencia Rekordonkénti idővonal konzisztencia Kauzális konzisztencia Esetleges konzisztencia Kauzális+ konzisztencia
Tranzakciós
2012.10.09.
Bujáki Attila
10.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Nem tranzakciós: z
Linearizálhatóság (Atomi kontiztencia modell) z
Legközelebbi az ideálishoz
z
Művelet hatása azonnali minden csúcsban
z
Kompózabilitás
z
Elosztott nagyon költséges
z
Írás után egyből látszik
2012.10.09.
Bujáki Attila
11.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Nem tranzakciós: z
Szekvenciális konzisztencia z
Enyhébb mint a linearizálhatóság
z
Nem kompózábilis
z
Írás nem kell, hogy egyből mindenhol látszódjon
z
Ábra: z z
2012.10.09.
Írás után régi érték Később már az új
Bujáki Attila
12.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Nem tranzakciós: z
Rekordonkénti idővonal konzisztencia z
A szekvenciális enyhítése
z
A replikációt felfedi a fejlesztőnek
z
Objektumként biztosítja a szekvenciális konzisztenciát
z
Objektumonkénti idővonal
z
Visszalépés az idővonalon
z
Egy adatház, egy objektuma
2012.10.09.
Bujáki Attila
13.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Nem tranzakciós: z
Kauzális konzisztencia z
z z
Az korrekt végrehajtások eredményei mindig konzisztensek a „korábban történt” részleges rendezéssel. „Korábban történt” – részleges rendezés - Lamport Különböző csúcsokban különböző sorrenben láthatjuk a konkurens írásokat megjelenni
2012.10.09.
Bujáki Attila
14.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Nem tranzakciós: z
Esetleges konzisztencia z
Összefoglaló fogalom
z
Inkonzisztencia ablak
2012.10.09.
Bujáki Attila
15.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Nem tranzakciós: z
Kauzális+ konzisztencia z
A korábban történt rendezés miatt z
z z z
z
2012.10.09.
Konkurrens írások különböző sorrendben hathatnak a különböző csúcsokon A replikák akár örökké divergálhatnak Konvergens konfliktus kezelés Konvergencia tulajdonság biztosítása – pl.: Last writer wins Szemantikus feloldást is lehetővé tesz Bujáki Attila
16.
Adat konzisztencia modellek - Típusok DDBMS @ Adatb haladóknak
z
Adat konzisztencia modellek z
Nem tranzakciós
z
Tranzakciós z z z
2012.10.09.
Sorosíthatóság Snapshot izoláció Parallel Snapshot Izoláció
Bujáki Attila
17.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Tranzakciós: z
Sorosíthatóság z
Sok szó volt róla
z
CAP z z
2012.10.09.
Georeplikált rendszerben egyszerűen nem megy Túl költséges.
Bujáki Attila
18.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Tranzakciós: z
Snapshot Isolation z
Enyhébb modell
z
Elterjedten (Oracle, SQLServer)
z
Adott időpontban összes korábban Commit-ált tranzakció hatása látszik.
z
A tranzakciók mindig érvényes állapoton dolgoznak
z
Nem függünk „félkész” tranzakcióktól
Itt nem tükrözi a rendszer az időbeli TELJES rendezést – nem minden korábbi látszik. 2012.10.09. Bujáki Attila z
19.
Adat konzisztencia modellek DDBMS @ Adatb haladóknak
Tranzakciós: z
Parallel Snapshot Isolation z
SI Enyhítés georeplikált rendszereket célozva
z
Egy csúcson belül Snapshot Isolation
z
Csúcsok közt enyhébb z
2012.10.09.
Csúcsonként külön snapshot
Bujáki Attila
20.
Parallel Snapshot Isolation - Anomáliák DDBMS @ Adatb haladóknak
Anomaly dirty read non-repeatable read lost update
Serializ- Snapshot PSI Eventual ability Isolation No No No Yes No No No Yes No
No
No
Yes
short fork
No
Yes
Yes
Yes
long fork conflicting fork
No No
No No
Yes No
Yes Yes 21.
Parallel Snapshot Isolation - Fork DDBMS @ Adatb haladóknak
T1
T1 commits
Short fork (allowed by snapshot isolation)
T2 commits
T2 T1 commits T1
Long fork (disallowed by snapshot isolation)
T2 T2 commits
T1 and T2 propagate to both sites
DDBMS @ Adatb haladóknak
Konkurens hozzáférés kezelő mechanizmusok z
Lehetőségek z
Pesszimista vs. Optimista
z
Pesszimista
z
Optimista
z
Valóság: z
2012.10.09.
Attól függ.
Bujáki Attila
23.
Adat replikációs stratégiák DDBMS @ Adatb haladóknak
z
Aktív replikáció z
Determinált, szinkronizált végrehajtás
z
Atomi üzenetszórás kell hozzá z
Azonos sorrendben, mindenki megkapja
z
Elsődleges példány replikáció
z
Multi-master replikáció
2012.10.09.
Bujáki Attila
24.
Adat replikációs stratégiák DDBMS @ Adatb haladóknak
z
Aktív replikáció
z
Elsődleges példány replikáció z z
z
Primary-backup replication Egyetlen replikát módosítunk mindig (elsődleges példány) - AdatB
z
Lazy vs. Eager
z
Bottleneck
Multi-master replikáció
2012.10.09.
Bujáki Attila
25.
Adat replikációs stratégiák DDBMS @ Adatb haladóknak
z
Aktív replikáció
z
Elsődleges példány replikáció
z
Multi-master replikáció z
Több adatpéldány módosítható
z
Több szinkronizáció és koordináció szükséges
2012.10.09.
Bujáki Attila
26.
Létező rendszerek DDBMS @ Adatb haladóknak
z
A leírt modellek konkrét implementációi z
Cluster of Order-Preserving Servers (COPS) z z z z z z
Causal+ (függőségekkel) Princeton Uni., Intel, Carnagie Mellon Uni. Jól skálázható „wide-area” elosztott méretekben is Műveletek függőségei Első Causal+, ami georeplikált szinten is jól skálázódik Get-tranzakciók z
2012.10.09.
Pl.
Bujáki Attila
27.
Létező rendszerek DDBMS @ Adatb haladóknak
z
A leírt modellek konkrét implementációi z
Walter z z z z
Friss – georeplikált környezetre Tranzakciók – hatásai asszinkron módon terjednek (PSI) Key-value store (Egyszerű API) Parallel Snapshot Isolation z z z z
z
2012.10.09.
Timestamp vector (Tranzakciók elején, külön minden csúcshoz) Preferred site Fast commit vs. Slow commit Counting set - Fast commit (kommutatív műveletekre, am. nem)
Problémák: Site center (+megoldás), Slow commit / Bujáki Attila
28.
Létező rendszerek DDBMS @ Adatb haladóknak
z
A leírt modellek konkrét implementációi z
2012.10.09.
Walter (folytatás)
Bujáki Attila
29.
Létező rendszerek DDBMS @ Adatb haladóknak
z
A leírt modellek konkrét implementációi z
Yahoo – PNUTS z z z z z z
Rekordonkénti idővonal konzisztencia Rekord alapú – de nincsenek tranzakciók / Minden rekordhoz elsődleges példány Elsődleges példány adaptív kiválasztása PNUTS API – konzisztencia modell választás, nem szép Hálózat szétesését nem tudja megfelelően tolerálni z
2012.10.09.
Elsődleges nem érhető el ezért? z Új elsődleges választása (két elsődleges – nem OK) vagy z Nincs frissítés ahol nem érhető el az elsődleges Bujáki Attila
30.
Létező rendszerek DDBMS @ Adatb haladóknak
z
A leírt modellek konkrét implementációi z
Amazon – Dynamo z z z
Key-value store Elosztott Hash-tábla Esetleges konzisztencia z z z
z z
Verziózás - Írásnál új verzió, „vektor óra” Ez kivételesen az írás megbízhatóságára tervezték z
2012.10.09.
Hibák vagy magas terhelés esetén Ilyenkor szavazásos írás, szavazásos olvasás (konfigurálható) DE: R# + W# > Replikák száma
Írás-Írás konfliktus lehet – Automatikus kezelés vagy alkalmazás Bujáki Attila
31.
Létező rendszerek DDBMS @ Adatb haladóknak
z
Összefoglalás és összehasonlítás
2012.10.09.
Bujáki Attila
32.
Kérdések… DDBMS @ Adatb haladóknak
z
…válaszok (?)
2012.10.09.
Bujáki Attila
33.
Köszönöm a figyelmet! DDBMS @ Adatb haladóknak
Marton József Ernő Bujá
[email protected] Adatbázisok haladóknak 2012. 2012. Október 9.