SAMSUNG_112020 SAMSUNG_112020 SAMSUNG_112020 Advertisement

Linux súkromne i pracovne v2.0 (34. časť): Transakcie v DBMS

0
Všeobecný význam pojmu transakcia je postupnosť (sekvencia) jedného alebo viacerých príkazov (operácií), ktoré spolu vystupujú ako jednotný celok. V prípade databáz hovoríme najčastejšie o postupnosti príkazov SQL, ktorá sa vníma ako jeden vykonateľný operačný blok. Transakcie riešia ochranu údajov spracúvaných pomocou DBMS, a to dodržiavaním princípu, ktorý označujeme skratkou ACID. Tá vznikla spojením prvých písmen anglických slov Atomicity (rozdrobenie), Consistency (neporušiteľnosť), Isolation (oddelenie) a Durability (udržateľnosť). Túto časť seriálu venujeme transakciám a princípu ACID, pričom praktickú činnosť vykonáme neskôr v prostredí DBeaver. Paralelizmus Súbežné (concurrence) vykonávanie programového kódu viacerými CPU, resp. viacerými vláknami má za následok vznik niekoľkých principiálnych algoritmických problémov, označovaných ako LostUpdate (strata aktuálnosti údajov), DirtyRead (čítanie údajov ešte pred ich aktualizáciou a potvrdením), IncorrectSummary (sčítavanie neaktuálnych údajov), nekonzistencia údajov… Jednoduchým riešením uvedených problémov by mohlo byť izolované sériové vykonávanie príkazov, resp. komplexných operácií. V takom prípade by sa však výpočty realizovali pôvodným spôsobom v jedinom výpočtovom procese a nevyužíval by sa tak vysoký výpočtový výkon paralelných procesorov. V prípade databázových architektúr sa preto zaviedol systém transakcií, ktoré dodržiavajú štyri základné princípy vykonávania, označované spoločnou skratkou ACID. ACID Princíp Atomicity, resp. rozdrobenia znamená, že buď sa vykonajú všetky príkazy v transakcii, alebo ani jeden. Inými slovami, buď sa daná transakcia vykoná celá, alebo sa jej efekt vôbec neprejaví. Každá operácia sa pred jej spustením zaznamená do logovacích súborov (redo log, undo log). Začatie vykonávania transakcie sa označuje značkou BEGIN. Úspešné vykonanie všetkých operácií patriacich danej transakcii je indikované značkou COMMIT. Pri neúspechu sa aplikuje tzv. ROLLBACK, ktorý vracia databázu ... Zobrazit Galériu

Marek Sopko

Všetky autorove články
Linux transakcia DBMS

Mohlo by vás zaujímať

Mohlo by vás zaujímať