DBMS upravljanje transakcijama: Što su ACID svojstva?

Sadržaj:

Anonim

Što je transakcija baze podataka?

Baza Transakcija je logičan jedinica za obradu u DBMS što podrazumijeva jedan ili više pristupa bazi podataka operaciju. Ukratko, transakcije baza podataka predstavljaju stvarne događaje bilo kojeg poduzeća.

Sve vrste operacija pristupa bazama podataka koje se drže između početka i kraja naredbi transakcija smatraju se jedinstvenom logičkom transakcijom u DBMS-u. Tijekom transakcije baza podataka nije u skladu. Tek nakon što je baza podataka uređena, stanje se mijenja iz jednog dosljednog stanja u drugo.

U ovom vodiču naučit ćete:

  • Činjenice o transakcijama baze podataka
  • Zašto vam treba istodobnost u transakcijama?
  • Stanja transakcija
  • Što su ACID svojstva?
  • Vrste transakcija
  • Što je raspored?

Činjenice o transakcijama baze podataka

  • Transakcija je programska jedinica čije izvršavanje može ili ne mora promijeniti sadržaj baze podataka.
  • Koncept transakcije u DBMS-u izvršava se kao jedna cjelina.
  • Ako operacije baze podataka ne ažuriraju bazu podataka, već samo dohvaćaju podatke, ova vrsta transakcije naziva se transakcijom samo za čitanje.
  • Uspješna transakcija može promijeniti bazu podataka iz jedne SUSTAVNE DRŽAVE u drugu
  • DBMS transakcije moraju biti atomske, dosljedne, izolirane i trajne
  • Da je baza podataka bila u nedosljednom stanju prije transakcije, ostala bi u nedosljednom stanju nakon transakcije.

Zašto vam treba istodobnost u transakcijama?

Baza podataka je zajednički resurs kojem se pristupa. Koriste ga mnogi korisnici i istodobno obrađuju. Na primjer, bankarski sustav, željeznički i zračni rezervacijski sustavi, praćenje tržišta dionica, inventar supermarketa i blagajne itd.

Ne upravljanje istodobnim pristupom može stvoriti probleme poput:

  • Kvar hardvera i pad sustava
  • Istodobno izvršavanje iste transakcije, zastoj ili spora izvedba

Stanja transakcija

U nastavku su navedena različita stanja koncepta transakcije u DBMS-u:

država Vrste transakcija
Aktivno stanje Transakcija prelazi u aktivno stanje kada započinje postupak izvršenja. Tijekom ovog stanja mogu se izvoditi operacije čitanja ili pisanja.
Djelomično predano Transakcija prelazi u djelomično angažirano stanje nakon završetka transakcije.
Predana država Kada je transakcija predana stanju, ona je već uspješno dovršila svoje izvršenje. Štoviše, sve se njegove promjene trajno bilježe u bazu podataka.
Neuspjela država Transakcija se smatra neuspjelom kada bilo koja provjera ne uspije ili ako je transakcija prekinuta dok je u aktivnom stanju.
Okončana država Stanje transakcije dostiže završeno stanje kada se određene transakcije koje napuštaju sustav ne mogu ponovno pokrenuti.
Dijagram prijelaza stanja za transakciju baze podataka

Proučimo dijagram prijelaza stanja koji naglašava kako se transakcija kreće između tih različitih stanja.

  1. Jednom kada transakcija navede izvršenje, ona postaje aktivna. Može izdati READ ili WRITE operaciju.
  2. Nakon završetka operacija READ i WRITE, transakcije postaju djelomično predane države.
  3. Dalje, neki protokoli oporavka moraju osigurati da kvar sustava neće rezultirati nemogućnošću trajnog bilježenja promjena u transakciji. Ako je ova provjera uspješna, transakcija se obavezuje i ulazi u predano stanje.
  4. Ako provjera ne uspije, transakcija prelazi u stanje Neuspjelo.
  5. Ako je transakcija prekinuta dok je u aktivnom stanju, prelazi u neuspjelo stanje. Transakcija bi se trebala vratiti natrag kako bi se poništio učinak njenih operacija pisanja na bazu podataka.
  6. Prekinuta država odnosi se na transakciju koja napušta sustav.

Što su ACID svojstva?

ACID svojstva koriste se za održavanje integriteta baze podataka tijekom obrade transakcija. Kiseline u DBMS predstavlja A tomicity, C onsistency, I solation i D urability.

  • Atomicnost: Transakcija je jedna jedinica rada. Ili ga izvršavate u potpunosti ili ga uopće ne izvršavate. Ne može biti djelomičnog izvršenja.
  • Dosljednost: Jednom kada se transakcija izvrši, trebala bi se premjestiti iz jednog dosljednog stanja u drugo.
  • Izolacija: Transakciju treba izvršiti izolirano od ostalih transakcija (bez zaključavanja). Tijekom istodobnog izvršavanja transakcija, međusobni rezultati transakcija istodobno izvršenih transakcija ne bi trebali biti dostupni jedni drugima. (Razina 0,1,2,3)
  • Trajnost: · Nakon uspješnog završetka transakcije, promjene u bazi podataka trebale bi potrajati. Čak i u slučaju kvara sustava.

ACID svojstvo u DBMS-u s primjerom:

Ispod je primjer svojstva ACID u DBMS-u:

Transaction 1: Begin X=X+50, Y = Y-50 ENDTransaction 2: Begin X=1.1*X, Y=1.1*Y END

Transakcija 1 prenosi 50 USD s računa X na račun Y.

Transakcija 2 pripisuje svakom računu plaćanje kamate od 10%.

Ako su obje transakcije predane zajedno, ne postoji jamstvo da će se Transakcija 1 izvršiti prije Transakcije 2 ili obrnuto. Neovisno o redoslijedu, rezultat mora biti takav da se transakcije odvijaju serijski jedna za drugom.

Vrste transakcija

Na temelju područja primjene

  • Neraspoređeno u odnosu na distribuirano
  • Kompenzacijske transakcije
  • Vrijeme transakcija
  • On-line protiv serije

Na temelju akcija

  • U dva koraka
  • Ograničen
  • Akcijski model

Na temelju strukture

  • Ravne ili jednostavne transakcije: Sastoji se od niza primitivnih operacija izvršenih između početka i završetka operacija.
  • Ugniježđene transakcije: Transakcija koja sadrži druge transakcije.
  • Tijek rada

Što je raspored?

Raspored je postupak koji stvara jednu skupinu više paralelnih transakcija i izvršava ih jednu po jednu. Trebao bi sačuvati redoslijed kojim se upute pojavljuju u svakoj transakciji. Ako se istodobno izvršavaju dvije transakcije, rezultat jedne transakcije može utjecati na izlaz druge.

Primjer

Initial Product Quantity is 10Transaction 1: Update Product Quantity to 50Transaction 2: Read Product Quantity

Ako se transakcija 2 izvrši prije transakcije 1, očitat će se zastarjele informacije o količini proizvoda. Stoga su potrebni rasporedi.

Paralelno izvršavanje u bazi podataka je neizbježno. Ali, paralelno izvršavanje dopušteno je kada postoji odnos ekvivalencije između istovremeno izvršavanih transakcija. Ova je ekvivalencija 3 vrste.

EKVALIVNOST REZULTATA:

Ako dva rasporeda prikazuju isti rezultat nakon izvršavanja, naziva se raspored ekvivalentan rezultatu. Oni mogu ponuditi isti rezultat za neku vrijednost i različite rezultate za drugi skup vrijednosti. Na primjer, jedna transakcija ažurira količinu proizvoda, dok druga ažurira podatke o kupcu.

Pogledajte ekvivalenciju

Ekvivalentnost prikaza pojavljuje se kada transakcija u oba rasporeda izvodi sličnu radnju. Primjerice, jedna transakcija ubacuje detalje o proizvodu u tablicu proizvoda, dok druga transakcija ubacuje detalje o proizvodu u arhivsku tablicu. Transakcija je ista, ali tablice su različite.

KONFLIKT Ekvivalencija

U ovom slučaju, dvije transakcije ažuriraju / pregledavaju isti skup podataka. Postoji sukob među transakcijama jer će redoslijed izvršenja utjecati na izlaz.

Što je serializacija?

Serijalizacija je postupak pretraživanja istodobnog rasporeda čiji je izlaz jednak serijskom rasporedu gdje se transakcije izvršavaju jedna za drugom. Ovisno o vrsti rasporeda, postoje dvije vrste serializacije:

  • Sukob
  • Pogled

Sažetak:

  • Upravljanje transakcijama logična je jedinica obrade u DBMS-u koja podrazumijeva jednu ili više operacija pristupa bazi podataka
  • To je transakcija programska jedinica čije izvršavanje može ili ne mora promijeniti sadržaj baze podataka.
  • Ako se ne upravlja istodobnim pristupom, mogu se stvoriti problemi poput kvara hardvera i padova sustava.
  • Aktivno, djelomično izvršeno, izvršeno, neuspjelo i prekinuti su važna stanja transakcija.
  • Puni oblik ACID svojstava u DBMS-u je atomskost, dosljednost, izoliranost i trajnost
  • Tri vrste transakcija DBMS-a temelje se na aplikacijskim područjima, akciji i strukturi.
  • Raspored je postupak koji stvara jednu skupinu više paralelnih transakcija i izvršava ih jednu po jednu.
  • Serijalizacija je postupak pretraživanja istodobnog rasporeda čiji je izlaz jednak serijskom rasporedu gdje se transakcije izvršavaju jedna za drugom.