logo

Vlastnosti ACID v DBMS

A transakcie je jediná logická jednotka práce, ktorá pristupuje a prípadne upravuje obsah databázy. Transakcie pristupujú k údajom pomocou operácií čítania a zápisu.
Aby sa zachovala konzistencia v databáze, pred a po transakcii sa dodržiavajú určité vlastnosti. Tieto sú tzv KYSELINA vlastnosti.

Pre tých, ktorí chcú zvládnuť tieto koncepty a vyniknúť v skúškach ako BRÁNA , náš kurz GATE ponúka hĺbkový prieskum systémov správy databáz. Pokrývame všetko od základov až po pokročilé témy, pričom zaisťujeme dôkladné pochopenie, ktoré je nevyhnutné pre vysoké skóre a praktickú aplikáciu



Atómovosť:

Máme tým na mysli, že buď celá transakcia prebehne naraz, alebo sa neudeje vôbec. Neexistuje žiadna stredná cesta, t. j. transakcie sa neuskutočňujú čiastočne. Každá transakcia sa považuje za jednu jednotku a buď sa dokončí, alebo sa nevykoná vôbec. Zahŕňa nasledujúce dve operácie.
Prerušiť : Ak sa transakcia preruší, zmeny vykonané v databáze nie sú viditeľné.
Zaviazať sa : Ak sa transakcia potvrdí, vykonané zmeny sú viditeľné.
Atomicita je známa aj ako „pravidlo všetko alebo nič“.

Zvážte nasledujúcu transakciu T skladajúci sa z T1 a T2 : Prevod 100 z účtu X na účet A .



Ak transakcia zlyhá po dokončení T1 ale pred dokončením T2 .(povedz po napísať (X) ale predtým napísať (Y) ), potom bola suma odpočítaná X ale nepridané A . Výsledkom je nekonzistentný stav databázy. Preto musí byť transakcia vykonaná ako celok, aby sa zabezpečila správnosť stavu databázy.

konzistencia:

To znamená, že musia byť zachované obmedzenia integrity, aby bola databáza konzistentná pred a po transakcii. Vzťahuje sa na správnosť databázy. Podľa vyššie uvedeného príkladu
Celková suma pred a po transakcii musí byť zachovaná.
Celkom pred T vyskytuje = 500 + 200 = 700 .
Celkom po výskyte T = 400 + 300 = 700 .
Preto je databáza konzistentné . Nekonzistentnosť nastáva v prípade T1 dokončí ale T2 zlyhá. V dôsledku toho je T neúplné.

Izolácia:

Táto vlastnosť zabezpečuje, že viacero transakcií môže prebiehať súčasne bez toho, aby to viedlo k nekonzistentnosti stavu databázy. Transakcie prebiehajú nezávisle bez rušenia. Zmeny vyskytujúce sa v konkrétnej transakcii nebudú viditeľné pre žiadnu inú transakciu, kým sa konkrétna zmena v danej transakcii nezapíše do pamäte alebo kým nebude potvrdená. Táto vlastnosť zabezpečuje, že súbežné vykonávanie transakcií bude mať za následok stav, ktorý je ekvivalentný stavu, v ktorom boli tieto transakcie vykonávané sériovo v určitom poradí.
Nechaj X = 500, A = 500.
Zvážte dve transakcie T a T.



Predpokladajme T bola vykonaná do Čítať (Y) a potom T'' začína. Výsledkom je prekladanie operácií, vďaka ktorým T'' číta správnu hodnotu X ale nesprávna hodnota A a súčet vypočítaný podľa
T’’: (X+Y = 50 000 + 500 = 50 500)
nie je teda v súlade so sumou na konci transakcie:
T: (X+Y = 50 000 + 450 = 50 450) .
Výsledkom je nekonzistentnosť databázy v dôsledku straty 50 jednotiek. Preto musia transakcie prebiehať izolovane a zmeny by mali byť viditeľné až po ich vykonaní v hlavnej pamäti.

Trvanlivosť:

Táto vlastnosť zabezpečuje, že po dokončení transakcie sa aktualizácie a úpravy databázy uložia a zapíšu na disk a pretrvajú aj v prípade zlyhania systému. Tieto aktualizácie sa teraz stanú trvalými a sú uložené v energeticky nezávislej pamäti. Účinky transakcie sa tak nikdy nestratia.

Niektoré dôležité body:

Nehnuteľnosť Zodpovednosť za udržiavanie majetku
Atomicita Manažér transakcií
Dôslednosť Aplikačný programátor
Izolácia Manažér kontroly súbežnosti
Trvanlivosť Správca obnovy

The KYSELINA vlastnosti ako celok poskytujú mechanizmus na zabezpečenie správnosti a konzistencie databázy takým spôsobom, že každá transakcia je skupinou operácií, ktorá pôsobí ako jedna jednotka, vytvára konzistentné výsledky, pôsobí izolovane od ostatných operácií a aktualizuje vďaka nemu sú trvalo skladované.

Vlastnosti ACID sú štyri kľúčové charakteristiky, ktoré definujú spoľahlivosť a konzistenciu transakcie v systéme správy databáz (DBMS). Skratka ACID znamená atómovosť, konzistenciu, izoláciu a trvanlivosť. Tu je stručný popis každej z týchto vlastností:

  1. Atomicita: Atomicita zaisťuje, že s transakciou sa zaobchádza ako s jednou nedeliteľnou jednotkou práce. Buď sú všetky operácie v rámci transakcie úspešne dokončené, alebo žiadna z nich. Ak ktorákoľvek časť transakcie zlyhá, celá transakcia sa vráti do pôvodného stavu, čím sa zabezpečí konzistentnosť a integrita údajov.
  2. Konzistencia: Konzistencia zabezpečuje, že transakcia prenesie databázu z jedného konzistentného stavu do iného konzistentného stavu. Databáza je v konzistentnom stave pred aj po vykonaní transakcie. Obmedzenia, ako sú jedinečné kľúče a cudzie kľúče, musia byť zachované, aby sa zabezpečila konzistencia údajov.
  3. Izolácia: Izolácia zaisťuje, že viaceré transakcie sa môžu vykonávať súčasne bez toho, aby sa navzájom rušili. Každá transakcia musí byť izolovaná od ostatných transakcií, kým nie je dokončená. Táto izolácia zabraňuje nečistému čítaniu, neopakovateľnému čítaniu a fantómovému čítaniu.
  4. Trvanlivosť: Trvanlivosť zaisťuje, že po potvrdení transakcie sú jej zmeny trvalé a prežijú všetky následné zlyhania systému. Zmeny transakcie sa natrvalo uložia do databázy a aj keď systém zlyhá, zmeny zostanú nedotknuté a možno ich obnoviť.

Celkovo vlastnosti ACID poskytujú rámec na zabezpečenie konzistentnosti, integrity a spoľahlivosti údajov v DBMS. Zabezpečujú, že transakcie sa vykonávajú spoľahlivým a konzistentným spôsobom, dokonca aj v prípade zlyhania systému, problémov so sieťou alebo iných problémov. Tieto vlastnosti robia DBMS spoľahlivým a efektívnym nástrojom na správu údajov v moderných organizáciách.

Výhody vlastností ACID v DBMS:

  1. Konzistencia údajov: Vlastnosti ACID zaisťujú, že údaje zostanú konzistentné a presné po vykonaní akejkoľvek transakcie.
  2. Integrita údajov: Vlastnosti ACID zachovávajú integritu údajov tým, že zaisťujú, že akékoľvek zmeny v databáze sú trvalé a nemožno ich stratiť.
  3. Kontrola súbežnosti: Vlastnosti ACID pomáhajú riadiť viacero transakcií vyskytujúcich sa súčasne tým, že bránia vzájomnému rušeniu.
  4. Obnova: Vlastnosti ACID zaisťujú, že v prípade akéhokoľvek zlyhania alebo havárie môže systém obnoviť dáta až do bodu zlyhania alebo havárie.

Nevýhody vlastností ACID v DBMS:

  1. Výkon: Vlastnosti ACID môžu spôsobiť réžiu výkonu v systéme, pretože vyžadujú dodatočné spracovanie na zabezpečenie konzistentnosti a integrity údajov.
  2. Škálovateľnosť: Vlastnosti ACID môžu spôsobiť problémy so škálovateľnosťou vo veľkých distribuovaných systémoch, kde sa súčasne vyskytujú viaceré transakcie.
  3. Zložitosť: Implementácia vlastností ACID môže zvýšiť zložitosť systému a vyžadovať značné odborné znalosti a zdroje.
    Celkovo výhody vlastností ACID v DBMS prevažujú nad nevýhodami. Poskytujú spoľahlivý a konzistentný prístup k údajom
  4. riadenie, zabezpečenie integrity, presnosti a spoľahlivosti údajov. V niektorých prípadoch však môže réžia implementácie vlastností ACID spôsobiť problémy s výkonom a škálovateľnosťou. Preto je dôležité vyvážiť výhody vlastností ACID so špecifickými potrebami a požiadavkami systému.