Řízení paralelního zpracování: Porovnání verzí

m
napřímení redirectu šablony (data od Dannyho B.); kosmetické úpravy
m (typo)
m (napřímení redirectu šablony (data od Dannyho B.); kosmetické úpravy)
{{Upravit}}
{{PřejmenovatPřesunout|Řízení souběžného zpracování|Řízení paralelního zpracování}}
 
V oblasti informačních technologií a výpočetní techniky, zejména v oblasti počítačového programování (viz také souběžné programování, paralelní programování), operační systémy (viz také paralelní výpočty), multiprocesory a databáze, kde souběžné řízení zajišťuje správné výsledky pro souběžné operace, které jsou vytvářeny, při získávání těchto výsledků.
* '''Durability (trvanlivost)''' – změny v databázi provedené potvrzenou transakcí musí být trvanlivé
 
=== Proč je Kontrola souběžnosti potřeba? ===
Proč vlastně kontrola souběžnosti transakcí? V případě kdy běží několik transakcí současně, může se stát, že tyto transakce mění tentýž databázový záznam. Pokud by tento souběžný běh transakcí nebyl kontrolován, mohl by nastat problém, jakým je nekonzistentní databáze. Proto v další části popíšeme tři problémy, které mohou nastat při nekontrolovaném běhu souběžných transakcí.
 
Důležitou vlastností DDBS je to, že přes rozložení dat do jednotlivých uzlů sítě se jeví celá distribuovaná báze uživateli tak, jako by byla lokální. Distribuce je uživateli skryta a z hlediska jeho potřeb není podstatná. Celá distribuovaná báze dat je popsána v globálním schématu DDBS. To je popis báze nezávislý na distribuci dat a stejný pro všechny uživatele ve všech uzlech sítě. Nejčastěji je globální schéma popsáno pomocí relačního modelu dat.
 
===== Paralelní zpracování v distribuovaných databázích =====
Zajišťování atomického charakteru transakcí v distribuované bázi je řádově složitější, než u lokálních sítí, protože možné poruchy jsou mnohem složitější. V centralizovaných DDBS řídí pořadí vykonávání operací jediný plánovač umístěný v centru DDBS. protože plánovač má kontrolu nad všemi daty v DDBS, mohou se bez problémů použít typy plánovačů pro klasické SŘBD. Připomeňme, že každá transakce může číst a měnit hodnoty objektů v libovolných lokálních bázích dat. Proto případné zrušení transakce, například při distribuovaném uváznutí, je spojeno s většími problémy. Zrušená transakce musí vrátit původní hodnoty objektům, které již změnila. V distribuované bázi to může být zdlouhavá a nákladná operace, proto budou výhodnější takové plánovače, které pracují bez rušení transakcí. U plánovačů pracujících s časovými razítky je nutno sladit lokální hodiny - tak, aby časová razítka byla navzájem různá, i když pocházejí z různých uzlů. V případě decentralizovaných DDBS jsou plánovače v každém lokálním SŘBD. I v decentralizovaných DDBS je možno použít typy plánovačů z klasických SŘBD. Při zamykání objektů zamyká a odemyká Každý lokální plánovač objekty ve své bázi. Problémem je ale kontrola korektního dodržování dvoufázového protokolu zamykání. Řešením může být pozdržení odemknutí všech objektů zamknutých pro transakci, dokud transakce neskončí a pak vyslat všem plánovačům zprávu o skončení transakce. Pak je možno objekty uvolnit.
Hojně využívanou možností je použití protokolu s dvoufázovým potvrzením. Předpokladem je autonomní činnost uzlů s použitím lokálních žurnálů pro případné použití operací ROLLBACK. Jeden z uzlů převezme roli koordinátora a určuje, kdy je transakce potvrzena nebo odmítnuta a navrácena do výchozího stavu. Komunikace probíhá prostřednictvím zasílání zpráv mezi koordinátorem a ostatními uzly. V první fázi koordinátor pošle všem zúčastněným uzlům zprávu příprava na potvrzení T. Každý autonomní uzel se rozhodne, zda T potvrdí, nebo odmítne svou část T. Pokud potvrdí commit např. < Ready T>, nemůže již přejít do stavu abort. Jinak pošle zprávu < Do not commit T> . Druhá fáze začíná po získání všech odpovědí koordinátorem. Pokud odpovědi nedojdou v odhadnutém čase, předpokládá se zamítnutí. Koordinátor pošle zprávu < Commit T> nebo < Abort T> na všechny zúčastněné uzly. Následně uzly provedou požadovanou akci a informují koordinátora o provedení operace.
1 085 515

editací