Zpracování dat v distribuovaných DBS speciální přednáška pro NSWI035 - Principy distribuovaných systémů. Obsah. Definice problému Pojem distribuovaného SŘBD Přístupy k DSŘBD Distribuované zpracování dotazu Transakce – zotavení z chyb Praxe: replikační zpracování. Obsah.
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation
Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement.Téléchargez la présentation en cliquant sur ce lien.Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.
Obsah • Definice problému • Pojem distribuovaného SŘBD • Přístupy k DSŘBD • Distribuované zpracování dotazu • Transakce – zotavení z chyb • Praxe: replikační zpracování
Obsah • Definice problému • Pojem distribuovaného SŘBD • Přístupy k DSŘBD • Distribuované zpracování dotazu • Transakce – zotavení z chyb • Praxe: replikační zpracování
Definice problému Distribuovaná DB: DB je umístěna na více místech Místa jsou propojena Plzeň Hradec Králové
Definice problému ZAMĚSTNANEC SŘBD2 SŘBD1 Plzeň nyní: connect k HK; exec sql select * from ZAM; ... connect k Pl; exec sql select * from ZAMĚSTNANEC; ... Hradec Králové ZAM
Definice problému lépe: connect k distr-HK; exec sql select * from DZAM; Hradec Králové ZAMĚSTNANEC DSŘBD DSŘBD ZAM SŘBD2 SŘBD1 Plzeň
Obsah • Definice problému • Pojem distribuovaného SŘBD • Přístupy k DSŘBD • Distribuované zpracování dotazu • Transakce – zotavení z chyb • Praxe: replikační zpracování
Distribuce • Distribuovaný výpočetní systém (DVS) • rozložen do uzlů (míst) sítě svázaných komunikačními kanály, • v uzlech je umožněno autonomní uložení a zpracování dat, • prostředky v uzlech mohou být nehomogenní, avšak rovnocenné • uživatel nic neví o existenci ostatních uzlů sítě (transparence) • DSŘBD je speciálním případem DVS
Výhody DDBS • data tam, kde se nejvíce používají • rozdělení zátěže • snižuje se cena komunikace • větší spolehlivost systému • lepší škálovatelnost • lepší dostupnost, možnost sdílení, integrace • zachování autonomního zpracování
Nevýhody DDBS • složitější návrh • složitější optimalizace • složitější slovník dat • složitější globální transakční zpracování • složitější uváznutí • redundance implikuje složitější zotavení z chyb • heterogennost v uzlech implikuje složitější integraci
Obsah • Definice problému • Pojem distribuovaného SŘBD • Přístupy k DSŘBD • Distribuované zpracování dotazu • Transakce – zotavení z chyb • Praxe: replikační zpracování
Typy DDBS • shora dolů (společně organizovaná data, globální schéma) • zdola nahoru (integrace heterogenních dat, globální schéma) • federativní integrace (schémata importu a exportu) • škálovatelné NoSQL databáze pro webové aplikace a cloud computing Pz.: speciální případy – klient/server, replikační přístup,
místo 1 Fragmentace tabulky R11 R1 R21 místo 2 R2 R22 R4 R31 R3 R R41 alokace fragmenty
globální ext. sch. globální ext. sch. Místo n globální konceptuální schéma globální schéma distribuce schéma lokální reprezentace schéma lokální reprezentace lokální konceptuální schéma lokální konceptuální schéma lokální interní schéma lokální interní schéma Obecná architektura schémat Místo 1
Příklad konstrukce schémat • UZEL: DÍL(Č_DÍLU, Č_DODAVATELE,CENA) ADRESÁŘ (Č_DODAVATELE, MĚSTO) DODAVATEL(Č_DODAVATELE, JM_DODAVATELE) • UZEL: KUS(Č_KUSU, CENA, FIRMA_DODAVATELE) DODAVATEL(Č_DODAVATELE, FIRMA_DODAVATELE, PSČ, MĚSTO) IO: v 1. uzlu díly od dodavatelů 000-700, v 2. uzlu od dodavatelů 650-999. DÍL je ve 3NF.
Příklad • Schémata relačních DB představují LKS v uzlech • Strategie integrace (SLR): • do globálního světa „co nejvíce“ (použité NULL) • do globálního světa „spíše průnik dílčích světů“ • uzel LR_DÍL(ČÍS_DÍLU, ČÍS_DODAVATELE, CENA), LR_ADRESÁŘ(ČÍS_DODAVATELE, MĚSTO) • uzel LR_DÍL(KUS * DODAVATEL)[Č_KUSU, Č_DODAVATELE, CENA] LR_ADRESÁŘ DODAVATEL[Č_DODAVATELE, MĚSTO]
Příklad • GSD bude obsahovat SLR1 SLR2. • Rozdělení dat v GSD bude dáno tabulkou: LR_DÍL 1 ČÍS_DÍLU < 650 LR_DÍL 1,2 650 ČÍS_DÍLU 700 LR_DÍL 2 ČÍS_DÍLU > 700 • GKS obsahuje relace GK_DÍL a GK_ADRESÁŘ se stejnými atributy jako LR_DÍL a LR_ADRESÁŘ. Může však být def. pomocí RA z GSD. Pz.: RA je vhodná, ale nestačí, např. pro ADRESA a atributů (PSČ, MĚSTO, ULICE, Č_DOMU) je třeba speciální funkci (konkatenace) nebo: barva (číslo vs.název)
Obsah • Definice problému • Pojem distribuovaného SŘBD • Přístupy k DSŘBD • Distribuované zpracování dotazu • Transakce – zotavení z chyb • Praxe: replikační zpracování
Distribuované zpracování dotazu • problémy (přídavné k centralizovanému případu) • cena přenosů • cpu, disk, #přenášených Byte, #přenášených zpráv • paralelismus /překrývání prodlev • Jak minimalizovat uběhnutý čas? • Nebo jak minimalizovat spotřebu zdrojů?
Další plány? P4: • redukuj DODÁVKA na DODÁVKA’ • redukuj DODAVATEL na DODAVATEL’ • DODÁVKA’ -> M3 • DODAVATEL’ -> M3
Další plány? P5: • redukuj DODAVATEL na DODAVATEL’ • DODAVATEL’ -> M2 • proveď * v M2 • přesuň výsledek -> M3
Obsah • Definice problému • Pojem distribuovaného SŘBD • Přístupy k DSŘBD • Distribuované zpracování dotazu • Transakce – zotavení z chyb • Praxe: replikační zpracování
Transakce v DSŘBD • Problém: transakce provádí převod 1000 Kč z HK -> 500 do Pl, 500 do ČB • 3 dílčí transakce na 3 systémech • Jak garantovat atomicitu (všechno nebo nic)? Např. pomocí 2PC. • Pozorování: další typy chyb (připojení servery, prodlevy, time-outs ....)
Transakční monitor Transakční monitor(monitor globálního volání, koordinátor transakcí) • analyzuje požadavky T, • rozděluje ji na dílčí transakce (DT), • provádí syntézu výsledků, • Implementace: • jeden ve vybraném místě • distribuovaný: je v každém uzlu sítě
Transakční monitor Role: • Zajišťuje přidělení privátního prostoru B pro T, kterou řídí: • Zajišťuje promítnutí hodnot do DB • Zajišťuje řízení kopií objektu v DB • Zajišťuje konzistenci DB
Distribuované zotavení z chyb • Základní technika: zámky (podobně jako v 2PL protokolu u centralizovaných SŘBD) • Další problémy: • uváznutí, • problémy s 2PC (co když nastane chyba u koordinátora, co když není spojení atd.) • Různá řešení (např. 3-phase commit)
Obsah • Definice problému • Pojem distribuovaného SŘBD • Přístupy k DSŘBD • Distribuované zpracování dotazu • Transakce – zotavení z chyb • Praxe: replikační zpracování
Replikace dat • fragment relacejereplikovaný, je-li uložen současně na více místech. • úplnáreplikacerelace: případ, kdy je relace umístěna ve všech místech • plně redundantní databáze: případ, kdy je databáze umístěna ve všech místech
Replikace dat • výhody • dostupnost: chyba v místě s relací R nevede k nedostupnosti R, • paralelismus: dotazy nadRmohou být zpracovávány paralelně na více místech, • redukce přenosů dat. • nevýhody • složitější aktualizace: každá replika Rmusí býtaktualizována, • zvýšená složitost řízení souběžného zpracování: možnost vzniku nekonzistence dat,
master kdekoliv synch asynch Strategie aktualizací • v závislosti - KDY: • synchronní (rychlejší) • asynchronní (pomalejší) • v závislosti - KDE: • primární kopie (master) • aktualizace kdekoliv
Replikační strategie master kdekoliv • + změny nemusí být koordinovány • + žádné nekonzistence • dlouhá odezva • v hodné pro málo změn • lokální kopie mohou být pouze čteny • + žádné nekonzistence • + elegantní (symetrické) řešení • dlouhá odezva • změny musí být koordinovány synch asynch • + koordinace není nutná • + krátký čas odezvy • lokální kopie nejsou up-do-date • nekonzistence • + žádná centrální koordinace • + nejkratší čas odezvy • změny mohou být ztraceny (urovnávání rozdílů) • nekonzistence
Protokol primární kopie • zvol repliku prvku dat jako jeho primární kopii. • její místo je primární místopro daný prvek dat • různé prvky dat mohou mít různá primární místa • požaduje-li transakce zamknout prvek P, požaduje to na primárním místě pro P. • odtud se provádějí propagace změn na kopie • výhody: • souběžné zpracování jako na nereplikovaných datech – jednoduchá implementace. • nevýhody • v případě chyby v primárním místě, je P nedostupný, dokonce i když jiná místa s replikou P jsou dostupná
Slabě konsistentní replikace • negarantuje uspořádatelnost rozvrhu • Př.: replikace master-slave– aktualizace jsou prováděny v jednom “master” místě a jsou propagovány do “slave” míst. • Propagace není součástí transakce !: • Může nastat bezprostředně po potvrzení transakce, • Může být periodická • Data v podřízených místech mohou být pouze čtena, nikoliv aktualizována • Netřeba používat zámky na vzdálených místech • Využitelné při distribuci informací (např. centrální úřad a jeho pobočky)
Mobilní databáze • mobilní databáze je rozšíření distribuovaného DBS. • mobilní databáze může obsahovat databáze spojené sítí pevných linek a databáze zabudované na mobilní stanice. • charakteristiky: • bezdrátová síť má omezenou šířku pásma, • energie použitá v mobilních stanicích má omezenou dobu života, • kvůli energetickým omezenímnejsou mobilní stanice vždy dostupné, • mobilní stanice se pohybují různou rychlostí a v různých oblastech.
Mobilní databáze • Maje uvedené charakteristiky, problém souběžného zpracování v mobilních databázích je těžší než v distribuovaných databázích. • Odpojení stanice je dlouhé, takže uzamykací protokoly a časová razítka nejsou vhodné. 2PC je nevhodný také, protože dostupnost je redukována. • Pro prostředí s mobilními databázemi byly navrženy různé transakční modely založené na uvolnění vlastností ACID a uvolnění uspořádatelnosti.
Connexion au compte
Connectez-vous pour publier votre contenu sur SlideServe.