Upravljanje transakcij DBMS: kaj so lastnosti ACID?

Kazalo:

Anonim

Kaj je transakcija baze podatkov?

Transakcijske podatkovne baze je logična enota obdelavo v SUPB kar zahteva eden ali več operacijskih dostopne podatkovne baze. Na kratko, transakcije z bazami podatkov predstavljajo resnične dogodke katerega koli podjetja.

Vse vrste operacij dostopa do baze podatkov, ki so med začetnimi in končnimi stavki transakcij, se v DBMS obravnavajo kot ena logična transakcija. Med transakcijo je baza podatkov neskladna. Šele ko je baza podatkov urejena, se stanje spremeni iz enega konsistentnega stanja v drugega.

V tej vadnici boste izvedeli:

  • Dejstva o transakcijah z bazami podatkov
  • Zakaj potrebujete sočasnost pri transakcijah?
  • Stanja transakcij
  • Kaj so lastnosti kisline?
  • Vrste transakcij
  • Kaj je urnik?

Dejstva o transakcijah z bazami podatkov

  • Transakcija je programska enota, katere izvajanje lahko spremeni ali ne vsebino baze podatkov.
  • Koncept transakcije v DBMS se izvaja kot ena enota.
  • Če operacije baze podatkov ne posodobijo baze podatkov, temveč le pridobijo podatke, se ta vrsta transakcije imenuje transakcija samo za branje.
  • Uspešna transakcija lahko spremeni bazo podatkov iz ene NESOJNE DRŽAVE v drugo
  • Transakcije DBMS morajo biti atomske, dosledne, izolirane in trajne
  • Če bi bila baza podatkov pred transakcijo v neskladnem stanju, bi po transakciji ostala v neskladnem stanju.

Zakaj potrebujete sočasnost pri transakcijah?

Baza podatkov je vir v skupni rabi. Uporabljajo ga številni uporabniki in sočasno procesirajo. Na primer, bančni sistem, železniški sistem in sistem letalskih rezervacij, spremljanje delniških trgov, popis supermarketov, blagajne itd.

Če ne upravljate sočasnega dostopa, lahko pride do težav, kot so:

  • Okvara strojne opreme in zrušitve sistema
  • Sočasno izvajanje iste transakcije, zastoj ali počasno delovanje

Stanja transakcij

Spodaj so navedena različna stanja koncepta transakcije v DBMS:

Država Vrste transakcij
Aktivno stanje Transakcija preide v aktivno stanje, ko se začne postopek izvršitve. V tem stanju je mogoče izvajati operacije branja ali pisanja.
Delno predano Transakcija preide v delno prevzeto stanje po koncu transakcije.
Zavezana država Ko je transakcija predana stanju, je že uspešno zaključila svoje izvajanje. Poleg tega se vse njene spremembe trajno zabeležijo v bazo podatkov.
Država ni uspela Transakcija šteje za neuspešno, kadar katero od preverjanj ne uspe ali če je transakcija prekinjena, ko je v aktivnem stanju.
Končana država Stanje transakcije doseže zaključeno stanje, ko nekaterih transakcij, ki zapustijo sistem, ni mogoče znova zagnati.
Diagram prehoda stanja za transakcijo baze podatkov

Proučimo diagram prehoda stanja, ki poudarja, kako se transakcija premika med različnimi stanji.

  1. Ko transakcija navede izvršitev, postane aktivna. Lahko izda operacijo READ ali WRITE.
  2. Ko se operacije READ in WRITE zaključijo, postanejo transakcije delno predane.
  3. Nato morajo nekateri obnovitveni protokoli zagotoviti, da okvara sistema ne bo povzročila nezmožnosti trajnega beleženja sprememb v transakciji. Če je to preverjanje uspešno, se transakcija zaveže in vstopi v prevzeto stanje.
  4. Če preverjanje ne uspe, transakcija preide v stanje Failed.
  5. Če je transakcija prekinjena, ko je v aktivnem stanju, gre v neuspelo stanje. Transakcijo je treba premakniti nazaj, da razveljavite učinek njenih operacij pisanja na bazo podatkov.
  6. Prekinjeno stanje se nanaša na transakcijo, ki zapusti sistem.

Kaj so lastnosti kisline?

Lastnosti ACID se uporabljajo za vzdrževanje integritete baze podatkov med obdelavo transakcij. Kisline v DBMS stoji za A tomicity, C OSLEDNOST, I solation in D urability.

  • Atomskost: Transakcija je ena sama enota delovanja. Izvedete ga bodisi v celoti bodisi ga sploh ne izvedete. Delne izvedbe ne more biti.
  • Doslednost: Ko je transakcija izvedena, se mora premakniti iz enega konsistentnega stanja v drugo.
  • Izolacija: Transakcijo je treba izvesti ločeno od drugih transakcij (brez zaklepanja). Med sočasno izvedbo transakcij vmesni rezultati transakcij iz istočasno izvedenih transakcij ne bi smeli biti na voljo drug drugemu. (Raven 0,1,2,3)
  • Trajnost: · Po uspešnem zaključku transakcije naj se spremembe v zbirki podatkov nadaljujejo. Tudi v primeru okvar sistema.

Lastnost ACID v DBMS s primerom:

Spodaj je primer lastnosti ACID v DBMS:

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

Transakcija 1 pomeni prenos 50 USD z računa X na račun Y.

Transakcija 2 vsakemu računu pripiše 10% plačilo obresti.

Če sta obe transakciji predloženi skupaj, ni nobenega zagotovila, da se bo transakcija 1 izvedla pred transakcijo 2 ali obratno. Ne glede na naročilo mora biti rezultat tak, kot da transakcije potekajo zaporedno ena za drugo.

Vrste transakcij

Glede na področja uporabe

  • Nerazporejeno v primerjavi z razdeljenim
  • Kompenzacijske transakcije
  • Čas transakcij
  • Spletno in serijsko

Na podlagi akcij

  • Dvostopenjski
  • Omejeno
  • Akcijski model

Na podlagi strukture

  • Ravne ali enostavne transakcije: Sestavljena je iz zaporedja primitivnih operacij, izvedenih med začetnimi in končnimi operacijami.
  • Vgnezdene transakcije: Transakcija, ki vsebuje druge transakcije.
  • Potek dela

Kaj je urnik?

Urnik je postopek, ki ustvarja eno skupino več vzporednih transakcij in jih izvaja eno za drugo. Ohraniti mora vrstni red, v katerem so navodila prikazana v vsaki transakciji. Če se izvedeta dve transakciji hkrati, lahko rezultat ene transakcije vpliva na rezultat druge.

Primer

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

Če se transakcija 2 izvede pred transakcijo 1, se preberejo zastarele informacije o količini izdelka. Zato so potrebni urniki.

Vzporedno izvajanje v zbirki podatkov je neizogibno. Vzporedno izvajanje pa je dovoljeno, kadar obstaja sorazmernost med istočasno izvedenimi transakcijami. Ta enakovrednost je treh vrst.

EKVIVALENCA REZULTATOV:

Če dva urnika po izvedbi prikazujeta enak rezultat, se imenuje urnik, enakovreden rezultatu. Za določeno vrednost lahko ponudijo enak rezultat, za drug niz vrednosti pa različne rezultate. Ena transakcija na primer posodobi količino izdelka, druga pa podrobnosti o kupcu.

Ogled enakovrednosti

Enakovrednost pogleda se pojavi, ko transakcija v obeh razporedih izvede podobno dejanje. Primer: ena transakcija vstavi podrobnosti o izdelku v tabelo izdelkov, druga transakcija pa podrobnosti o izdelku v arhivsko tabelo. Transakcija je enaka, tabele pa so različne.

KONFLIKT Enakovrednost

V tem primeru dve transakciji posodobita / si ogledata isti nabor podatkov. Med transakcijami je konflikt, saj bo vrstni red izvrševanja vplival na rezultat.

Kaj je serializacija?

Serializabilnost je postopek iskanja sočasnega urnika, katerega izhod je enak serijskemu urniku, kjer se transakcije izvršijo ena za drugo. Glede na vrsto urnikov obstajata dve vrsti serializacije:

  • Konflikt
  • Pogled

Povzetek:

  • Upravljanje transakcij je logična enota obdelave v DBMS, ki vključuje eno ali več operacij dostopa do baze podatkov
  • Gre za transakcijo, ki je programska enota, katere izvajanje lahko spremeni ali ne vsebino baze podatkov.
  • Če ne upravljate sočasnega dostopa, lahko pride do težav, kot so okvara strojne opreme in zrušitve sistema.
  • Aktivna, delno prevzeta, prevzeta, neuspešna in zaključena so pomembna stanja transakcij.
  • Celotna oblika lastnosti ACID v DBMS je atomskost, doslednost, izolacija in trajnost
  • Tri vrste transakcij DBMS temeljijo na področjih aplikacij, ukrepih in strukturi.
  • Urnik je postopek, ki ustvarja eno skupino več vzporednih transakcij in jih izvaja eno za drugo.
  • Serializabilnost je postopek iskanja sočasnega urnika, katerega izhod je enak serijskemu urniku, kjer se transakcije izvajajo ena za drugo.