PA152Notes 101 CS 245: Database System Principles Notes 10: More TP Hector Garcia-Molina Pavel Rychlý.

Slides:



Advertisements
Podobné prezentace
ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Advertisements

Pascal - větvení.
Databázové systémy Přednáška č. 3 Proces návrhu databáze.
Třídění Seminář IVT. Definice uspořádání skupiny dat (záznamů) dle daného klíče vzestupně (od nejmenší do největší hodnoty klíče) sestupně (od největší.
Paralelní programování
Paralelní programování
Transakční zpracování
Doplňující referát k přednášce Transakce Šárka Hlušičková
Kombinatorické algoritmy
Algoritmizace a programování Podmíněné a cyklické příkazy- 08
Informatika I 3. přednáška
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Informatika I 2. přednáška
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě VY_32_INOVACE_INF_RO_18 Digitální učební materiál Sada: Úvod do programování.
C – strukturované příkazy
TI 7.1 NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6. TI 7.2 Nejkratší cesty z jednoho uzlu Seznámíme se s následujícími pojmy: w-vzdálenost (vzdálenost na.
Operační systémy Přednášky pro výuku předmětu Operační systémy Ing. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003.
Sémantická analýza Jakub Yaghob
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Systémy pro podporu managementu 2
Vypracoval: Ondřej Dvorský Třída: VIII.A
Databázové systémy Tomáš Skopal
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
PictureBox u vkládání obrázků u vlastnost Picture pomocí příkazu LoadPicture u přiřazení obrázku mezi dvěma prvky PictureBox Auto.Picture = AutoCerv.Picture.
Transakční zpracování v SQL P. Částek. Transakce Transakce = logická jednotka práce Podaří-li se všechny části transakce, potvrdíme je. COMMIT Jestliže.
Transakce Roman Špánek TU v Liberci Transakce Transakce = série příkazů čtení a zápisu do databáze A Atomic C Consistency I Isolation D Durability.
Systémy pro podporu managementu 2 Inteligentní systémy pro podporu rozhodování 1 (DSS a znalostní systémy)
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
A3B33OSD (J. Lažanský) verze: Jaro 2013 Transakce a řízení souběhu 1 Obsah Téma 12 – Transakce, řízení souběhu a obnova dat 1.Transakce a jejich stavy.
PA152Notes 081 CS 245: Database System Principles Notes 08: Failure Recovery Hector Garcia-Molina Pavel Rychlý.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Zablokování (deadlock, smrtelné objetí, uváznutí)
A1PRG - Programování – Seminář Ing. Michal Řízení běhu programu 5 Verze
Typy cyklů Do...Loop For...Next For Each...Next.
Turingův stroj.
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
GA a predčasná konvergence Předčasná konvergence - výpočet konverguje příliš rychle k nějakému neoptimálnímu řešení Co způsobuje předčasnou konvergenci?
Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít.
Příkaz switch Příkaz switch se používá, pokud testujete jednu proměnnou s více možnými hodnotami. Příkaz switch se používá, pokud testujete jednu proměnnou.
6. Typ záznam Strukturovaný datový typ - znamená spojení několika elementů stejného nebo různých typů do jedné proměnné. Např. pole je strukturovaný datový.
Sestavení kombinační logické funkce
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
doc. RNDr. Zdeněk Botek, CSc.
Tento digitální učební materiál vznikl díky finanční podpoře EU- OP Vzdělávání pro konkurenceschopnost. Není-li uvedeno jinak, je tento materiál zpracován.
Pascal – strukturované příkazy
C – cyklus do-while Mgr. Lenka Švancarová.
Doc. Josef Kolář (ČVUT)Prohledávání grafůGRA, LS 2010/11, Lekce 4 1 / 15Doc. Josef Kolář (ČVUT)NP-úplné problémyGRA, LS 2012/13, Lekce 13 1 / 14 NP-ÚPLNÉ.
Pascal - větvení.
Excel a Excelent v denní praxi
1 Syntaxe a sémantika aktivních databází Databázové triggery Aktivní pravidla 10. listopadu 2004 Zuzana Reitermanová & Vojtěch Hlaveš.
XML a datový standard Zdeněk Jirkovec Softwarové Aplikace a systémy.
NEJKRATŠÍ CESTY Nejkratší cesty - kap. 6.
Téma 6 – Uváznutí Obsah Problém uváznutí a časově závislých chyb
Databázové systémy přednáška 8 – Transakce
Inf Cykly ve vývojových diagramech
A5M33IZS – Informační a znalostní systémy
MS WORD 2010 – úvod do programu
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
© Copyright Radim Štefan
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
PERMUTACE BEZ OPAKOVÁNÍ
Kalendář 2009.
Paralelní přístup k databázi
Přednášky z distribuovaných systémů
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Přednášky z distribuovaných systémů
Algoritmizace a datové struktury (14ASD)
Unit of Work vzor z P of EAA (Fowler) 1.
Transkript prezentace:

PA152Notes 101 CS 245: Database System Principles Notes 10: More TP Hector Garcia-Molina Pavel Rychlý

PA152Notes 102 Další oblasti souběžného zpracování kaskádový rollback, obnovitelný rozvrh uváznutí –prevence –detekce

PA152Notes 103 Příklad: T j T i W j (A) r i (A) Commit T i Abort T j Řízení souběžného zpracování a obnova … … … … … …  Kaskádový rollback (raději ne!)

PA152Notes 104 Rozvrh je konfliktně serializovatelný T j T i ale ne obnovitelný

PA152Notes 105 Pro každou transakci potřebujeme dělat konečné rozhodnutí: –commit - systém zajistí, že transakce je nebo bude dokončena –abort - systém zajistí, že transakce je nebo bude zrušena (nebude mít žádný efekt)

PA152Notes 106 Přidáme další dvě akce: C i - commit T i A i - abort T i

PA152Notes Zpět k příkladu: T j T i W j (A) r i (A) C i  může být tady commit?

PA152Notes 108 Definice T i čte z T j v S (T j  S T i ) pokud (1) w j (A) < S r i (A) (2) a j < S r i (A) (< : není před ) (3) If w j (A) < S w k (A) < S r i (A) then a k < S r i (A)

PA152Notes 109 Definice Rozvrh S je obnovitelný pokud kdykoliv T j  S T i a j  i a C i  S tak C j < S C i

PA152Notes 1010 Poznámka: v transakcích jsou čtení i zápisy před commit nebo abort  If C i  T i, then r i (A) < C i w i (A) < C i  If A i  T i, then r i (A) < A i w i (A) < A i a navíc právě jedna akce Ci nebo Ai na transakci

PA152Notes 1011 Jak zajistit obnovitelné rozvrhy?

PA152Notes 1012  striktní 2PL: zámky pro zápis držíme až do commit T j T i W j (A) C j u j (A) r i (A)...

PA152Notes 1013  Kontroly (validation) beze změny!

PA152Notes 1014 S je obnovitelný pokud má každá transakce commit až po dokončení (commit) všech transakcí, ze kterých čte. S zamezuje kaskádovému rollback pokud každá transakce čte hodnoty pouze dokončených transakcí.

PA152Notes 1015 Rozvrh S je striktní pokud každá transakce čte a zapisuje hodnoty pouze dokončených transakcí. Avoids cascading rollback RC ACR ST SERIAL

PA152Notes 1016 Příklady Obnovitelný: –w 1 (A) w 1 (B) w 2 (A) r 2 (B) c 1 c 2 Zamezuje kaskádovému Rollback: –w 1 (A) w 1 (B) w 2 (A) c 1 r 2 (B) c 2 Striktní: –w 1 (A) w 1 (B) c 1 w 2 (A) r 2 (B) c 2 Předpokl. w 2 (A) děláme bez čtení

PA152Notes 1017 Uváznutí (Deadlocks) detekce –graf čekání prevence –upořádání zdrojů –časový limit –čekej-zemři –Wound-wait

PA152Notes 1018 Detekce uváznutí vytváříme (inkrementálně nebo opakovaně) graf čekání používáme zámky pokud najdeme cyklus, rollback viníka T1T1 T3T3 T2T2 T6T6 T5T5 T4T4 T7T7

PA152Notes 1019 Uspořádání zdrojů uspořádáme všechny elementy A 1, A 2, …, A n transakceT může zamknout A i po A j pouze pokud i > j Problém : žádosti o zámky jsou nepřirozené

PA152Notes 1020 Časový limit Pokud transakce čeká více než L sec., zrušit! jednoduché schéma těžká volba L

PA152Notes 1021 Čekej-zemři Transakce dostávají časovou známku ts(T i ) při svém startu T i může čekat na T j pouze pokud ts(T i )< ts(T j ) jinak umírá (je zrušena)

PA152Notes 1022 T 1 (ts =10) T 2 (ts =20) T 3 (ts =25) wait Příklad: wait?

PA152Notes 1023 T 1 (ts =22) T 2 (ts =20) T 3 (ts =25) wait(A) Druhý příklad: žádá A: čeká na T 2 nebo T 3 ? Pozn.: ts mezi 20 a 25.

PA152Notes 1024 T 1 (ts =22) T 2 (ts =20) T 3 (ts =25) wait(A) Druhý příklad (pokračování): wait(A) Jedna možnost: T 1 čeká pouze na T 3. Jakmile T 2 získá zámek, T 1 musí zemřít!

PA152Notes 1025 T 1 (ts =22) T 2 (ts =20) T 3 (ts =25) wait(A) Druhý příklad (pokračování): wait(A) Jiná možnost: T 1 získá zámek na A až po dokončení T 2 i T 3, tedy T 1 čeká na T 2 i T 3  T 1 umírá okamžitě!

PA152Notes 1026 T 1 (ts =22) T 2 (ts =20) T 3 (ts =25) wait(A) Druhý příklad (pokračování): wait(A) Další možnost: T 1 má být před T 2, tedy T 1 čeká pouze na T 3 ; T 2 tedy čeká na T 3 i T 1...  T 2 může strádat? redundantní hrana

PA152Notes 1027 zraň-čekej Transakce dostávají časovou známku ts(T i ) při svém startu T i zraňuje T j pokud ts(T i )< ts(T j ) jinak čeká “zraň”: rollback na T j a přiděl zámek pro T i

PA152Notes 1028 T 1 (ts =25) T 2 (ts =20) T 3 (ts =10) wait Příklad: wait

PA152Notes 1029 T 1 (ts =15) T 2 (ts =20) T 3 (ts =10) wait(A) Druhý příklad: requests A: wait for T 2 or T 3 ? Pozn.: ts mezi 10 a 20.

PA152Notes 1030 T 1 (ts =15) T 2 (ts =20) T 3 (ts =10) wait(A) Druhý příklad (pokračování): wait(A) Jedna možnost: T 1 čeká pouze na T 3. Ale jakmile T 2 dostane zámek, T 1 čeká na T 2 a zraňuje T 2.

PA152Notes 1031 T 1 (ts =15) T 2 (ts =20) T 3 (ts =10) wait(A) Druhý příklad (pokračování): wait(A) Jiná možnost: T 1 získá zámek na A až po dokončení T 2 i T 3, tedy T 1 čeká na T 2 i T 3  T 2 zraní okamžitě!

PA152Notes 1032 T 1 (ts =15) T 2 (ts =20) T 3 (ts =10) wait(A) Druhý příklad (pokračování): wait(A) Jiná možnost: T 1 má být před T 2, tedy T 1 čeká pouze na T 3 ; T 2 tedy čeká na T 3 a T 1...  T 2 otočen!

PA152Notes 1033 Uživatelské příkazy Mnoho různých variant, obecně Begin_work Commit_work Abort_work