PA152Notes 081 CS 245: Database System Principles Notes 08: Failure Recovery Hector Garcia-Molina Pavel Rychlý.

Slides:



Advertisements
Podobné prezentace
Vestavné mikropočítačové systémy
Advertisements

SoftPC SQL Prezentace nového SQL modulu Mzdy a personalistika
Windows 8 ZMVS. Windows 8 Nové 3D uživatelské rozhraní s kódovým názvem Wind. Nové uživatelské rozhraní bude požadovat minimálně 170MB video paměti a.
Základy databázových systémů
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Databázové systémy Přednáška č. 3 Proces návrhu databáze.
Souborové systémy.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
ALGO – Algoritmizace 1. cvičení
Programování v Pascalu Přednáška 9 RNDr. Hana Havelková.
Fakulta elektrotechniky a informatiky
YDASYS Ing. Monika Šimková.
Jitka Banetková Delta – SŠIE 5.MA. Externí pevné disky jsou ideálním médiem pro zálohování a pro přenášení souborů. Pokud často cestujete a chcete mít.
Zpracování programu programovatelným automatem. Zpracování programu na PA se vykonává v periodicky se opakujícím uzavřeném cyklu, tzv. scanu. Nejprve.
Materiály k přednášce Úvod do programování Ondřej Čepek.
Medians and Order Statistics Nechť A je množina obsahující n různých prvků: Definice: Statistika i-tého řádu je i-tý nejmenší prvek, tj., minimum = statistika.
Databáze Jiří Kalousek.
Databáze výhody a nevýhody Ing. Emilie Šeptáková
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
BEZPEČNOST DAT 2 Složky bezpečnosti dat  Integrita dat (Integrity)  Ochrana dat (Security)  Zotavení z chyb (Recovery)  Paralelní zpracování (Concurrency)
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Zálohování a Disaster Recovery pro školy Aleš Hok
Relační databáze.
Vypracoval: Ondřej Dvorský Třída: VIII.A
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Databázové systémy Přednáška č. 7 Uživatelské rozhraní.
Informatika pro ekonomy II přednáška 10
Ochrana dat Ochrana dat je jednou z nejdůležitějších činností uživatele výpočetní techniky. Data, uložená v počítači, jsou různě důležitá. Od souborů,
13AMP 3. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled I. Co je to kontext úlohy Co je to kontext úlohy Task switching (přepnutí úlohy)
NeoSync on-line zálohování pro každého / pro každou firmu
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
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.
Databáze.
10. Dynamické proměnné Dynamická proměnná se nezavádí deklarací proměnných, ale vzniká za běhu programu provedením speciálního příkazu. Nemá přidělen žádný.
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.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
PA152Notes 101 CS 245: Database System Principles Notes 10: More TP Hector Garcia-Molina Pavel Rychlý.
Databáze teorie.
Typy cyklů Do...Loop For...Next For Each...Next.
Databázové systémy Informatika pro ekonomy, př. 18.
Import záznamů diplomových prací nové řešení Antonín Vaishar, SUAleph, 26. –
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Systém souborů. Množina souborů různých typů – Data – Spustitelné programy – Konfigurační a pomocné informace – I/O zařízení Způsob organizace množiny.
doc. RNDr. Zdeněk Botek, CSc.
Kontakty slajdy: ftp://ulita.ms.mff.cuni.cz/predn/POS.
Databázové systémy Úvod, Základní pojmy. Úvod S rozvojem lidského poznání roste prudce množství informací. Jsou kladeny vysoké požadavky na ukládání,
Návrh struktury - normalizace
Překlad jmen, instalace AD
Úvod do databází zkrácená verze.
Vypracoval / Roman Málek
Úvod do databázových systémů
Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Databázové systémy přednáška 8 – Transakce
Inf Cykly ve vývojových diagramech
Financováno z ESF a státního rozpočtu ČR.
A5M33IZS – Informační a znalostní systémy
ZAL – 3. cvičení 2016.
Souborové systémy 2 Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Dávkové soubory Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
PROLOG strategie vyhodnocení dotazu
Informatika pro ekonomy přednáška 8
Databázové systémy a SQL
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Přednášky z distribuovaných systémů
Přednáška 9 Triggery.
Přednášky z distribuovaných systémů
Transkript prezentace:

PA152Notes 081 CS 245: Database System Principles Notes 08: Failure Recovery Hector Garcia-Molina Pavel Rychlý

PA152Notes 082 Integrita nebo správnost dat Chtěli bychom, aby data byla stále „bezesporná“ a „správná“. EMP Name White Green Gray Age

PA152Notes 083 Integritní omezení Predikáty, které musí data splňovat Příklady: - x je klíčem relace R - v R platí závislost x  y - Domain(x) = {Red, Blue, Green}  je platný index atributu x v R - žádný zaměstnanec by neměl mít více než dvojnásobek průměrného platu

PA152Notes 084 Definice: Konzistentní stav: splňuje všechna omezení Konzistentní DB: DB v konzistentním stavu

PA152Notes 085 Omezení ( jak je používáme zde) nemusí zajistit „plnou správnost“ Příklad 1 Transakční omezení Pokud měníme plat: new salary > old salary Pro smazání bankovního účtu musí platit: balance = 0

PA152Notes 086 Example 2 Databáze by měla odpovídat skutečnému světu. DB Realita Omezení ( jak je používáme zde) nemusí zajistit „plnou správnost“

PA152Notes 087  v každém případě pokračuj s kontrolou podmínek Pozorování: DB nemůže být konzistentní stále. Příklad: a 1 + a 2 +…. a n = TOT ( constraint ) Deposit $100 in a 2 : a 2  a TOT  TOT + 100

PA152Notes 088 a 2 TOT Příklad: a 1 + a 2 +…. a n = TOT ( constraint ) Deposit $100 in a 2 : a 2  a TOT  TOT + 100

PA152Notes 089 Transakce: soubor akcí udržujících konzistenci Consistent DBConsistent DB’ T

PA152Notes 0810 Velký předpoklad: Pokud T začíná v konzistentním stavu a T běží samostatně  T končí také v konzistentním stavu

PA152Notes 0811 Správnost (neformálně) Pokud přerušíme běžící transakci, DB zůstane conzistentní Každá transakce vidí konzistení DB

PA152Notes 0812 Jak může dojít k poruše konzistence? Chyba transakce Chyba DBMS Výpadek Hardwaru např., výpadek disku poruší stav účtu na disku Sdílení Dat např.: T1: přidej 10% platu programátorům T2: změň programátor  systémový analytik

PA152Notes 0813 události žádoucí nežádoucí předpokládané nepředpokládané Model výpadků

PA152Notes 0814 Model výpadků procesor paměť disk CPU M D

PA152Notes 0815 Nežádoucí očekávané události: Krach systému - ztráta paměti - zastavení procesoru, reset

PA152Notes 0816 Příklady: Ztráta dat na disku Chyba paměti bez zastavení procesoru Imploze CPU pohlcující známý vesmír… Nežádoucí neočekávané: vše ostatní!

PA152Notes 0817 Je tento model rozumný? Přístup: Přidání kontrol na nejnižší úrovni + redundance zvýší pravděpodobnost zachování podmínek. Tj., Replikace disku (stabilní uložení) Paritní součty v paměti Kontrola CPU

PA152Notes 0818 Model běhu transakce: Organizace paměti Paměť Disk x x

PA152Notes 0819 Základní operace: Input (x): blok obsahující x  paměť Output (x): blok obsahující x  disk Read (x,t): Input(x) pokud je potřeba t  hodnota x v bloku Write (x,t): Input(x) pokud je potřeba hodnota x v bloku  t

PA152Notes 0820 Klíčový problém: nedokončené transakce PříkladOmezení: A=B T 1 : A  A  2 B  B  2

PA152Notes 0821 T 1 :Read (A,t); t  t  2 Write (A,t); Read (B,t); t  t  2 Write (B,t); Output (A); Output (B); A: 8 B: 8 A: 8 B: 8 paměť disk 16 výpadek!

PA152Notes 0822 Potřebujeme atomičnost: provedení všech akcí transakce nebo vůbec žádné

PA152Notes 0823 T 1 :Read (A,t); t  t  2 A=B Write (A,t); Read (B,t); t  t  2 Write (B,t); Output (A); Output (B); A:8 B:8 A:8 B:8 paměť disk žurnál Undo logging (Okamžitý zápis)

PA152Notes 0824 Drobná “komplikace” Žurnál je nejdříve vytvářen v paměti Nezapisuje se na disk při každé akci paměť DB žurnál A: 8 16 B: 8 16 Log: A: 8 B: 8 16 CHYBA # 1

PA152Notes 0825 Drobná “komplikace” Žurnál je nejdříve vytvářen v paměti Nezapisuje se na disk při každé akci paměť DB žurnál A: 8 16 B: 8 16 Log: A: 8 B: 8 16 CHYBA # 2...

PA152Notes 0826 Pravidla Undo logging (1) Pro každou akci vytvoř v žurnálu záznam obsahující starou hodnotu (2) Před změnou x na disku musí být na disku záznamy žurnálu týkající se x (write ahead logging: WAL) (3) Před vytvořením záznamu v žurnálu musí být všechny zápisy transakce uloženy na disku.

PA152Notes 0827 Pravidla obnovy: Undo logging For every Ti with in log: - If or in log, do nothing - Else For all in log: write (X, v) output (X ) Write to log  JE TO SPRÁVNĚ?

PA152Notes 0828 Pravidla obnovy: Undo logging (1) Let S = set of transactions with in log, but no (or ) record in log (2) For each in log, in reverse order (latest  earliest) do: - if Ti  S then - write (X, v) - output (X) (3) For each Ti  S do - write to log

PA152Notes 0829 Co v případě výpadku během obnovy? Žádný problém!  Undo je idempotentní

PA152Notes 0830 Redo logging (odložený zápis) T 1: Read(A,t); t t  2; write (A,t); Read(B,t); t t  2; write (B,t); Output(A); Output(B) A: 8 B: 8 A: 8 B: 8 paměť DB žurnál 16 output 16

PA152Notes 0831 Pravidla Redo logging (1) Pro každou akci vytvoř v žurnálu záznam obsahující novou hodnotu (2) Před změnou X na disku (DB) musí být na disku všechny záznamy žurnálu (včetně commit) pro transakci měnící X

PA152Notes 0832 For every Ti with in log: –For all in log: Write(X, v) Output(X) Pravidla obnovy: Redo logging  JE TO SPRÁVNĚ?

PA152Notes 0833 (1) Let S = set of transactions with in log (2) For each in log, in forward order (earliest  latest) do: - if Ti  S then Write(X, v) Output(X) volitelně Pravidla obnovy: Redo logging

PA152Notes 0834 Obnova je velice POMALÁ ! Redo log: PrvníT1 zapíše A,B Poslední záznamPotvrzeno před rokem záznam (1 rok starý)--> STÁLE potřebujeme pro obnovu!!... výpadek

PA152Notes 0835 Řešení: Kontrolní body (jednoduchá verze) Opakovaně: (1) Přestaň přijímat nové transakce (2) Počkej na ukončení všech transakcí (3) Ulož všechny záznamy žurnálu na disk (4) Ulož všechny bloky na disk (DB) (5) Zapiš záznam “checkpoint” na disk (log) (6) Pokračuj ve zpracování transakcí

PA152Notes 0836 Příklad: co dělat při obnově? Redo log (disk): Checkpoint Crash...

PA152Notes 0837 Hlavní nevýhody: Undo logging: ze zálohy DB nelze vytvořit aktuální stav DB Redo logging: všechny modifikované bloky musíme držet v paměti až do commitu zápisy na disk jsou vynuceny pravidly žurnálu a ne přístupem k datům

PA152Notes 0838 Řešení: undo/redo logging! Update 

PA152Notes 0839 Pravidlo undo/redo logging Před zapsáním elementu X na disk, musí být na disk zapsán záznam žurnálu (WAL) Obnova undo/redo logging Ukončené transakce zopakujeme (redo) od začátku Nedokončené transakce vrátíme (undo) od konce

PA152Notes 0840 Průběžné kontrolní body L O G začátky transakcízápis bloků s nezapsanými modifikacemi Start-ckpt active TR: T1,T2,... end ckpt...

PA152Notes 0841 Příklad co dělat při obnově? T1 nemá commit L O G T 1,- a... Ckpt T 1... Ckpt end... T1-bT1-b  Undo T 1 (undo a,b)

PA152Notes 0842 Example LOGLOG... T1aT1a T1bT1b T1cT1c T 1 cmt... ckpt- end ckpt-s T 1  Redo T1: (redo b,c)

PA152Notes 0843 Proces obnovy: Zpětný běh (konec žurnálu  začátek posledního k. bodu) –vytvoř množinu S potvrzených transakcí –vrať (undo) akce transakcí, které nejsou v S Vrácení trvajících transakcí –vrať řetězce akcí transakcí z (aktivní transakce kontrolního bodu) - S Dopředný běh (začátek posledního k. bodu  konce žurnálu) –opakuj akce transakcí z S backward pass forward pass start check- point

PA152Notes 0844 Akce reálného světa Př.: vybírání peněz a ATM Ti = a 1 a 2 …... a j …... a n $

PA152Notes 0845 Řešení (1) provedení akcí reálného světa po commitu (2) akce pokud možno idempotentní

PA152Notes 0846 ATM Give$$ (amt, Tid, time) $ give(amt) lastTid: time:

PA152Notes 0847 Výpadek média A: 16 Řešení: Kopie dat na nižší úrovni, záloha DB + žurnál

PA152Notes 0848 Example #3: DB Dump + Log záložní DB aktivní DB žurnál Při výpadku, – obnova DB ze zálohy – zopakuj Redo pro každou nedokončenou trasnakci

PA152Notes 0849 Kdy zahodit žurnál? check- point db dump last needed undo not needed for media recovery not needed for undo after system failure not needed for redo after system failure log time

PA152Notes 0850 Souhrn Konzistence dat Jeden zdroj problémů: - Logging - Redundancy Další zdroj problémů: Sdílení dat