1 / 17

Transakce

Transakce. Roman Špánek TU v Liberci 5.1.2005. Transakce. Transakce = série příkazů čtení a zápisu do databáze A tomic C onsistency I solation D urability ACID property. 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)

chesna
Télécharger la présentation

Transakce

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • Atomic • Consistency • Isolation • 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. T1 T3 T4 T2 DeadLock • Prevence (pomocí priorit T) • Wait-Die • Wound-Die • Detekce • Wait-For Graph • Time-out • Prevence x Detekce • Kterou T abortovat

  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)<WTS(O) -> restart(T), TS++; • If TS(T)>WTS(O) -> read(O),RTS(O)=RTS(O)||TS(T); • Zápis: • If TS(T)<RTS(O) -> restart(T),konflikt • If TS(T)<WTS(O) -> Thomas Write Rule || Abort(T); • Else T Write(O), WTS(O)=TS(T);

  9. CRASH, RESTART update: T1 W(P5) update: T2 W(P3) T2 commit T2 end update: T3 W(P1) update: T3 W(P3) 10 20 30 40 50 60 Recovery • Atomicity and durability properties • ARIES recovery algorithm • Analýza • REDO • UNDO

  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

  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. Location Dependent DataLDD „Kde je nejbližší restaurace?“ Odpověď zjevně závislá na místě položení dotazu Location Free DataLFD „Místo narození paní X?“ Odpověď nezávislá na místě položení dotazu Správa dat

  16. Mobilní transakce • MDS je dynamická varianta distribuovaného DS • Definice: Mobilní transakce je trojice <Fi, Li, FLMi> kdeFi je množina fragmentů, Li je množinalokací, a FLMi je množinazobrazení fragmentů.

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

More Related