Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Transakce Roman Špánek TU v Liberci 5.1.2005. Transakce Transakce = série příkazů čtení a zápisu do databáze A Atomic C Consistency I Isolation D Durability.

Podobné prezentace


Prezentace na téma: "Transakce Roman Špánek TU v Liberci 5.1.2005. Transakce Transakce = série příkazů čtení a zápisu do databáze A Atomic C Consistency I Isolation D Durability."— Transkript prezentace:

1 Transakce Roman Špánek TU v Liberci

2 Transakce Transakce = série příkazů čtení a zápisu do databáze A Atomic C Consistency I Isolation D Durability ACID property

3 Typy konfliktů WR  T1 R(A), T1 W(A), T2 R(A), T1 commit, T2 commit RW  T1 R(A), T2 W(A), T1 R(B), T1 R(A) WW (blind write)  T1 R(A), T1 W(A), T2 W(A), T1 commit, T2 commit

4 Concurrency Control Lock Management  Lock Table Počet T mající zámek na objektu Typ zámku (S,X) Pointer do řady čekatelů na zámek  Transaction table Popis pro kažkou T Ukazatel do seznamu zámků

5 Concurrency Control 2PL (Two-Phase Locking) a Strict 2PL Přidělování sdílených zámků Atomicita zamykání Lock Upgrade

6 DeadLock Prevence (pomocí priorit T)  Wait-Die  Wound-Die Detekce  Wait-For Graph  Time-out Prevence x Detekce Kterou T abortovat T1 T2 T3 T4 T1T2T3T4 S(A) R(A) X(B) W(B) S(B) S(C) R(C) X(C) X(B) X(A)

7 Dynamické databáze Phantom problem  Index Locking  T musí projít všechny stránky a zamknout  B+ stromy  Multiple-Granularity Locking Soubor->Stránka->Záznam

8 Concurrency without Locking Optimistic Concurrency Control Timestamp-Based C.C.  Čtení:  If TS(T) restart(T), TS++;  If TS(T)>WTS(O) -> read(O),RTS(O)=RTS(O)||TS(T);  Zápis:  If TS(T) restart(T),konflikt  If TS(T) Thomas Write Rule || Abort(T);  Else T Write(O), WTS(O)=TS(T);

9 Recovery Atomicity and durability properties ARIES recovery algorithm  Analýza  REDO  UNDO update: T1 W(P5) update: T2 W(P3) T2 commit T2 end update: T3 W(P1) update: T3 W(P3) CRASH, RESTART

10 ARIES al. - principy Write-ahead logging  Nejdříve do logu (uložen na stabilním místě) a pak změny zapsány do databáze Repeating history during redo  Návrat do stavu v jakém byla DB v době pádu Logging changes during undo  Pro případ opakovaného pádu

11 Log (žurnál) Musí být zachován i při pádu (více kopií) Každý záznam má unikátní ID (LSN) Záznamy pro:  Update stránky, Commit, Abort, End, UNDO Pomocí prevLSN, transID, type (typ záznamu) je „nalinkována“ minulost prevLSNtransIDtypepegeIDlengthoffsetbeforeafter

12 Transakce v SQL TRANSACTION jméno_transakce WHENEVER { ERROR|podmínka } ROLLBACK příkazy COMMIT END  Příkazy z množiny manipulačních TRANSACTION dalsi_rok WHENEVER ERROR ROLLBACK UPDATE osoba SET vek=vek+1 COMMIT END

13 Úvod – Mobilní databázový systém

14 Hlavní překážky a problémy Nízká přenosová rychlost Ztráta spojení Omezená kapacita baterií Omezené (výpočetní, paměťové, …) prostředky Rychlá změna pozice MU (Hand-off) Omezený počet kanálů Bezpečnost

15 Správa dat Location Dependent Data Location Dependent Data LDD „Kde je nejbližší restaurace?“ Odpověď zjevně závislá na místě položení dotazu Location Free Data Location Free Data LFD „Místo narození paní X?“ Odpověď nezávislá na místě položení dotazu

16 Mobilní transakce MDS je dynamická varianta distribuovaného DS Definice: Mobilní transakce je trojice kde Fi je množina fragmentů, Li je množina lokací, a FLMi je množina zobrazení fragmentů.

17 Struktura sítě Hlavní problémy:  Bezpečnost  Navázání komunikace  Vytvoření skupiny Ad-hoc mobilní sítě


Stáhnout ppt "Transakce Roman Špánek TU v Liberci 5.1.2005. Transakce Transakce = série příkazů čtení a zápisu do databáze A Atomic C Consistency I Isolation D Durability."

Podobné prezentace


Reklamy Google