Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilPetra Dvořáková
1
Transakce Roman Špánek TU v Liberci 5.1.2005
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 102030405060
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ě
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.