Skip to main content

ACID model za sustave upravljanja bazama podataka

Lewis Acids and Bases (Travanj 2025)

Lewis Acids and Bases (Travanj 2025)
Anonim

ACID model dizajna baze podataka jedan je od najstarijih i najvažnijih pojmova teorije baze podataka. Ona postavlja četiri cilja da svaki sustav upravljanja bazama podataka mora težiti postizanju: atomsnosti, dosljednosti, izoliranosti i izdržljivosti. Relacijska baza podataka koja ne ispunjava bilo koji od ovih četiri cilja ne može se smatrati pouzdanom. Baza podataka koja posjeduje ta obilježja smatra se sukladnom s ACID-om.

Definirano je ACID

Uzmimo trenutak da bismo detaljno ispitali svaku od ovih obilježja:

  • Valentnost navodi da izmjene baze podataka moraju slijediti pravilo "sve ili ništa". Svaka transakcija se kaže da je "atomska". Ako jedan dio transakcije ne uspije, cjelokupna transakcija ne uspije. Važno je da sustav upravljanja bazama podataka održava atomsku prirodu transakcija usprkos bilo kojem DBMS-u, operativnom sustavu ili hardverskom neuspjehu.
  • Dosljednost navodi da će se u bazu podataka upisati samo važeći podaci. Ako se iz nekog razloga izvrši transakcija koja krši pravila dosljednosti baze podataka, cjelokupna će transakcija biti vraćena i baza će biti vraćena u stanje u skladu s tim pravilima. S druge strane, ako se transakcija uspješno izvrši, zauzima bazu podataka iz jedne države koja je u skladu s pravilima u drugu državu koja je također u skladu s pravilima.
  • Izolacija zahtijeva da se više transakcija koje se odvijaju u isto vrijeme ne utječu na izvršenje svakog drugog. Na primjer, ako Joe izda transakciju protiv baze podataka istodobno kada Mary ispostavlja drugu transakciju, obje transakcije trebaju djelovati na bazi podataka na izolirani način. Baza podataka bi trebala izvršiti Joeovu cjelokupnu transakciju prije nego što izvršite Mariju ili obrnuto. Time se sprječava Joeova transakcija da pročita međupredmetne podatke koji su proizvedeni kao sporedni učinak dijela Marijine transakcije koja neće konačno biti predana bazi podataka. Imajte na umu da svojstvo izolacije ne osigurava koja će transakcija izvršiti prvo - samo da se transakcije neće međusobno miješati
  • Izdržljivost osigurava da se svaka transakcija koja se zalaže za bazu podataka neće izgubiti. Trajnost se osigurava korištenjem sigurnosnih kopija baze podataka i zapisnika transakcija koji olakšavaju obnavljanje počinjenih transakcija unatoč svim naknadnim softverom ili hardverskim kvarovima.

Kako ACID funkcionira u praksi?

Administratori baza podataka koriste nekoliko strategija za primjenu ACID-a.

Jedna se koristi za provođenje atomske i trajnosti zapisivanje naprijed (WAL), u kojem se svaki detalj transakcije prvi put zapisuje u zapisnik koji uključuje i obnoviti i poništiti informacije. To osigurava da, s obzirom na neuspjeh baze podataka bilo koje vrste, baza podataka može provjeriti zapisnik i usporediti njegov sadržaj sa stanjem baze podataka.

Druga metoda koja se koristi za rješavanje atomske i trajnosti jest sjene paging, u kojoj se stvara sjena stranica prilikom promjene podataka. Ažuriranja upita napisana su na stranicu sjena, a ne na stvarne podatke u bazi podataka. Samu bazu podataka mijenja se samo kada je uređivanje dovršeno.

Druga strategija naziva se dvostupanjsko izvršenje protokol, osobito koristan u distribuiranim sustavima baze podataka. Ovaj protokol razdvaja zahtjev za izmjenu podataka u dvije faze: faza zahtjeva za predaju i faza pripreme. U fazi zahtjeva, svi DBMS-ovi na mreži na koje utječe transakcija moraju potvrditi da su ga primili i imati kapacitet za obavljanje transakcije. Nakon primanja potvrde iz svih relevantnih DBMS-ova, završava faza pripreme u kojoj se podaci zapravo mijenjaju.