A transakce je jediná logická jednotka práce, která přistupuje a případně upravuje obsah databáze. Transakce přistupují k datům pomocí operací čtení a zápisu.
Aby byla zachována konzistence v databázi, před a po transakci jsou dodržovány určité vlastnosti. Tyto jsou tzv KYSELINA vlastnosti.
Pro ty, kteří chtějí zvládnout tyto pojmy a vyniknout ve zkouškách, jako je BRÁNA , naše kurz GATE nabízí hloubkový průzkum systémů správy databází. Pokrýváme vše od základů až po pokročilá témata a zajišťujeme důkladné porozumění, které je nezbytné pro vysoké skóre a praktickou aplikaci
Atomicita:
Tím myslíme, že buď celá transakce proběhne najednou, nebo neproběhne vůbec. Neexistuje žádná střední cesta, tj. transakce neprobíhají částečně. Každá transakce je považována za jednu jednotku a buď proběhne do konce, nebo se neprovede vůbec. Zahrnuje následující dvě operace.
— Přerušit : Pokud se transakce přeruší, změny provedené v databázi nejsou viditelné.
— Spáchat : Pokud se transakce potvrdí, provedené změny jsou viditelné.
Atomicita je také známá jako „pravidlo všechno nebo nic“.
Zvažte následující transakci T skládající se z T1 a T2 : Převod 100 z účtu X na účet A .
Pokud se transakce po dokončení nezdaří T1 ale před dokončením T2 .(řekněme poté napsat (X) ale předtím napsat (Y) ), pak byla částka odečtena X ale nepřidaný A . Výsledkem je nekonzistentní stav databáze. Transakce musí být proto provedena celá, aby byla zajištěna správnost stavu databáze.
Konzistence:
To znamená, že musí být zachována omezení integrity, aby databáze byla konzistentní před a po transakci. Odkazuje na správnost databáze. S odkazem na výše uvedený příklad
Celková částka před a po transakci musí být zachována.
Celkový před T nastane = 500 + 200 = 700 .
Celkový poté, co nastane T = 400 + 300 = 700 .
Proto je databáze konzistentní . Nekonzistence nastává v případě T1 dokončí ale T2 selže. V důsledku toho je T neúplné.
Izolace:
Tato vlastnost zajišťuje, že více transakcí může probíhat současně, aniž by to vedlo k nekonzistenci stavu databáze. Transakce probíhají nezávisle bez rušení. Změny, ke kterým dojde v konkrétní transakci, nebudou viditelné pro žádnou jinou transakci, dokud nebude tato konkrétní změna v této transakci zapsána do paměti nebo nebude potvrzena. Tato vlastnost zajišťuje, že souběžné provádění transakcí povede ke stavu, který je ekvivalentní stavu, ve kterém byly tyto transakce prováděny sériově v určitém pořadí.
Nechat X = 500, A = 500.
Zvažte dvě transakce T a T.
Předpokládat T byla provedena do Přečíst (Y) a pak T'' začíná. V důsledku toho dochází k prokládání operací díky čemuž T'' přečte správnou hodnotu X ale nesprávná hodnota A a součet vypočítaný podle
T’’: (X+Y = 50 000 + 500 = 50 500)
není tedy konzistentní se součtem na konci transakce:
T: (X+Y = 50 000 + 450 = 50 450) .
To má za následek nekonzistenci databáze kvůli ztrátě 50 jednotek. Transakce proto musí probíhat izolovaně a změny by měly být viditelné až poté, co byly provedeny v hlavní paměti.
Trvanlivost:
Tato vlastnost zajišťuje, že jakmile je transakce dokončena, aktualizace a úpravy databáze jsou uloženy a zapsány na disk a přetrvávají, i když dojde k selhání systému. Tyto aktualizace se nyní stanou trvalými a jsou uloženy v energeticky nezávislé paměti. Účinky transakce se tak nikdy neztratí.
Některé důležité body:
Vlastnictví | Zodpovědnost za údržbu majetku |
---|---|
Atomicita | Správce transakcí |
Konzistence | Aplikační programátor |
Izolace | Správce souběžného řízení |
Trvanlivost | Správce obnovy |
The KYSELINA vlastnosti jako celek poskytují mechanismus k zajištění správnosti a konzistence databáze takovým způsobem, že každá transakce je skupinou operací, která funguje jako jediná jednotka, vytváří konzistentní výsledky, jedná izolovaně od ostatních operací a aktualizuje díky němu jsou trvanlivě uloženy.
Vlastnosti ACID jsou čtyři klíčové charakteristiky, které definují spolehlivost a konzistenci transakce v systému správy databáze (DBMS). Zkratka ACID znamená atomicita, konzistence, izolace a trvanlivost. Zde je stručný popis každé z těchto vlastností:
- Atomicita: Atomicita zajišťuje, že transakce je považována za jedinou nedělitelnou jednotku práce. Buď jsou všechny operace v rámci transakce úspěšně dokončeny, nebo žádná z nich. Pokud některá část transakce selže, celá transakce se vrátí do původního stavu, čímž je zajištěna konzistence a integrita dat.
- Konzistence: Konzistence zajišťuje, že transakce převede databázi z jednoho konzistentního stavu do jiného konzistentního stavu. Databáze je v konzistentním stavu před i po provedení transakce. Aby byla zajištěna konzistence dat, musí být zachována omezení, jako jsou jedinečné klíče a cizí klíče.
- Izolace: Izolace zajišťuje, že více transakcí může být prováděno současně, aniž by se vzájemně ovlivňovaly. Každá transakce musí být izolována od ostatních transakcí, dokud není dokončena. Tato izolace zabraňuje nečistým čtením, neopakovatelným čtením a fantomovým čtením.
- Trvanlivost: Trvanlivost zajišťuje, že jakmile je transakce potvrzena, její změny jsou trvalé a přežijí všechna následná selhání systému. Změny transakce jsou trvale uloženy do databáze a i když systém zkolabuje, změny zůstanou nedotčeny a lze je obnovit.
Celkově vlastnosti ACID poskytují rámec pro zajištění konzistence, integrity a spolehlivosti dat v DBMS. Zajišťují, že transakce jsou prováděny spolehlivým a konzistentním způsobem, a to i v případě selhání systému, problémů se sítí nebo jiných problémů. Tyto vlastnosti dělají z DBMS spolehlivý a efektivní nástroj pro správu dat v moderních organizacích.
Výhody vlastností ACID v DBMS:
- Konzistence dat: Vlastnosti ACID zajišťují, že data zůstávají konzistentní a přesná po provedení jakékoli transakce.
- Integrita dat: Vlastnosti ACID udržují integritu dat tím, že zajišťují, že jakékoli změny v databázi jsou trvalé a nelze je ztratit.
- Concurrency Control: Vlastnosti ACID pomáhají řídit více transakcí probíhajících současně tím, že brání vzájemnému rušení.
- Obnova: Vlastnosti ACID zajišťují, že v případě jakékoli poruchy nebo havárie může systém obnovit data až do bodu selhání nebo zhroucení.
Nevýhody vlastností ACID v DBMS:
- Výkon: Vlastnosti ACID mohou způsobit režii výkonu v systému, protože vyžadují dodatečné zpracování k zajištění konzistence a integrity dat.
- Škálovatelnost: Vlastnosti ACID mohou způsobit problémy se škálovatelností ve velkých distribuovaných systémech, kde dochází k více transakcím současně.
- Složitost: Implementace vlastností ACID může zvýšit složitost systému a vyžadovat značné odborné znalosti a zdroje.
Celkově výhody vlastností ACID v DBMS převažují nad nevýhodami. Poskytují spolehlivý a konzistentní přístup k datům - správa, zajištění integrity, přesnosti a spolehlivosti dat. V některých případech však může režie implementace vlastností ACID způsobit problémy s výkonem a škálovatelností. Proto je důležité vyvážit výhody vlastností ACID se specifickými potřebami a požadavky systému.