DBVS operacijų valdymas: kas yra ACID savybės?

Kas yra duomenų bazės operacija?

Bazė Sandorio yra logiškas vienetas perdirbimo DBVS, apimantys vieną ar daugiau duomenų prieigos operaciją. Trumpai tariant, duomenų bazės operacijos atspindi bet kurios įmonės realius įvykius.

Visi duomenų bazės prieigos operacijų tipai, laikomi tarp operacijos pradžios ir pabaigos sakinių, DBVS laikomi viena logine operacija. Operacijos metu duomenų bazė yra nenuosekli. Tik įvykdžius duomenų bazę, būsena keičiama iš vienos nuoseklios būsenos į kitą.

Šioje pamokoje sužinosite:

  • Faktai apie duomenų bazių operacijas
  • Kodėl operacijose reikia sutapti?
  • Sandorių būsenos
  • Kas yra rūgšties savybės?
  • Operacijų rūšys
  • Kas yra tvarkaraštis?

Faktai apie duomenų bazių operacijas

  • Operacija yra programos vienetas, kurio vykdymas gali pakeisti duomenų bazės turinį arba ne.
  • Sandorio koncepcija DBVS vykdoma kaip vienas vienetas.
  • Jei duomenų bazės operacijos neatnaujina duomenų bazės, o gauna tik duomenis, tokio tipo operacijos vadinamos tik skaitymo operacija.
  • Sėkminga operacija gali pakeisti duomenų bazę iš vienos NUOSEKLOS NARĖS į kitą
  • DBVS operacijos turi būti atominės, nuoseklios, izoliuotos ir patvarios
  • Jei duomenų bazė prieš operaciją būtų nenuoseklioje būsenoje, ji po operacijos liktų nenuoseklioje būsenoje.

Kodėl operacijose reikia sutapti?

Duomenų bazė yra bendras šaltinis, prie kurio prieinama. Jį naudoja daugelis vartotojų ir procesai vienu metu. Pavyzdžiui, bankų sistema, geležinkelių ir oro rezervavimo sistemos, vertybinių popierių rinkos stebėjimas, prekybos centrų inventorius ir kasos ir kt.

Netvarkant vienalaikės prieigos gali kilti tokių problemų:

  • Aparatinės įrangos gedimas ir sistemos gedimai
  • Kartu vykdomas tas pats sandoris, aklavietė ar lėtas vykdymas

Sandorių būsenos

Toliau išvardytos įvairios operacijų koncepcijos būsenos DBVS:

Valstija Operacijų tipai
Aktyvi valstybė Pradėjus vykdymo procesą, operacija įjungiama į aktyvią būseną. Per šią būseną galima atlikti skaitymo ar rašymo operacijas.
Iš dalies įsipareigojusi Sandoris pereina į iš dalies įvykdytą būseną pasibaigus sandoriui.
Įsipareigojusi valstybė Kai sandoris įsipareigoja nurodyti, jis jau sėkmingai užbaigė savo operaciją. Be to, visi jos pakeitimai visam laikui įrašomi į duomenų bazę.
Nepavykusi valstybė Operacija laikoma nesėkminga, kai nepavyksta atlikti vieno iš patikrinimų arba operacija nutraukiama, kai ji yra aktyvi.
Nutraukta valstybė Sandorio būsena tampa nutraukta, kai negalima iš naujo paleisti tam tikrų operacijų, kurios palieka sistemą.
Duomenų bazės operacijos būsenos perėjimo schema

Panagrinėkime būsenos perėjimo schemą, kurioje parodyta, kaip sandoris juda tarp šių įvairių būsenų.

  1. Kai sandoris nurodo vykdymą, jis tampa aktyvus. Jis gali išduoti READ arba WRITE operaciją.
  2. Kai READ ir WRITE operacijos bus baigtos, operacijos bus iš dalies įvykdytos.
  3. Be to, kai kuriais atkūrimo protokolais reikia užtikrinti, kad dėl sistemos gedimo nesugebėtų visam laikui įrašyti operacijos pakeitimų. Jei šis patikrinimas yra sėkmingas, operacija įsipareigoja ir pereina į įsipareigojimų būseną.
  4. Jei patikrinimas nepavyko, operacija perkeliama į būseną „Nepavyko“.
  5. Jei operacija nutraukiama, kai ji yra aktyvi, ji pereina į nepavykusią būseną. Operacija turėtų būti grąžinta atgal, kad būtų panaikintas jo rašymo operacijų poveikis duomenų bazėje.
  6. Nutraukta būsena reiškia sandorį, išeinantį iš sistemos.

Kas yra rūgšties savybės?

ACID ypatybės naudojamos duomenų bazės vientisumui palaikyti apdorojant operacijas. Rūgštis DBVS reiškia Tomity“, „ C pastovumas , „ I solation“ ir „ D“ tinkamumas.

  • Atomiškumas: Sandoris yra vienas operacijos vienetas. Jūs arba vykdote tai visiškai, arba nevykdote visiškai. Dalinis vykdymas negali būti.
  • Nuoseklumas: kai operacija bus įvykdyta, ji turėtų pereiti iš vienos nuoseklios būsenos į kitą.
  • Izoliacija: operacija turėtų būti vykdoma atskirai nuo kitų operacijų (be spynų). Vykdant vienu metu vykdomą operaciją, tarpinio sandorio, atsirandančio iš tuo pačiu metu įvykdytų operacijų, rezultatas neturėtų būti vienas kitam prieinamas. (0,1,2,3 lygis)
  • Patvarumas: · Sėkmingai įvykdžius operaciją, duomenų bazės pakeitimai turėtų išlikti. Net ir sistemos gedimų atveju.

ACID ypatybė DBVS su pavyzdžiu:

Toliau pateikiamas ACMS ypatybės DBVS pavyzdys:

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

1 operacija perveda 50 USD iš X sąskaitos į Y sąskaitą.

2 operacija kiekvienai sąskaitai priskiria 10% palūkanų mokėjimą.

Jei abi operacijos pateikiamos kartu, nėra jokios garantijos, kad 1 operacija bus įvykdyta prieš 2 operaciją arba atvirkščiai. Nepaisant užsakymo, rezultatas turi būti toks, tarsi sandoriai vyktų nuosekliai vienas po kito.

Operacijų rūšys

Remiantis taikymo sritimis

  • Nepaskirstytas ir paskirstytas
  • Kompensaciniai sandoriai
  • Operacijų laikas
  • On-line vs partija

Remiantis Veiksmais

  • Dviejų žingsnių
  • Apribota
  • Veiksmo modelis

Remiantis struktūra

  • Paprastos ar paprastos operacijos: tai susideda iš pirminių operacijų, atliktų tarp pradžios ir pabaigos operacijų, sekos.
  • Įterptosios operacijos: operacija, kurioje yra kitų operacijų.
  • Darbo eiga

Kas yra tvarkaraštis?

Tvarkaraštis yra procesas, sukuriantis vieną daugelio lygiagrečių operacijų grupę ir vykdantis jas po vieną. Tai turėtų išlaikyti tvarką, kuria nurodomos kiekvienos operacijos instrukcijos. Jei vienu metu vykdomos dvi operacijos, vieno sandorio rezultatas gali turėti įtakos kitų operacijų rezultatams.

Pavyzdys

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

Jei 2 operacija vykdoma prieš 1 operaciją, bus perskaityta pasenusi informacija apie produkto kiekį. Taigi reikia tvarkaraščių.

Lygiagretus vykdymas duomenų bazėje yra neišvengiamas. Tačiau lygiagretus vykdymas leidžiamas, kai tarp tuo pačiu metu vykdomų operacijų yra lygiavertiškumo ryšys. Šis ekvivalentiškumas yra trijų tipų.

REZULTATŲ LYGYBĖ:

Jei du tvarkaraščiai po vykdymo rodo tą patį rezultatą, tai vadinama rezultato ekvivalentu grafiku. Jie gali pasiūlyti tą patį rezultatą kai kuriai vertei ir skirtingus rezultatus kitoms reikšmių grupėms. Pavyzdžiui, viena operacija atnaujina produkto kiekį, o kita - kliento duomenis.

Žiūrėti ekvivalentiškumą

Rodinio ekvivalentiškumas įvyksta, kai abiejų tvarkaraščių operacija atlieka panašų veiksmą. Pavyzdžiui, viena operacija į produkto lentelę įterpia išsamią informaciją apie produktą, o kita - į archyvo lentelę. Operacija yra ta pati, tačiau lentelės skiriasi.

KONFLIKTO ekvivalentiškumas

Tokiu atveju dvi operacijos atnaujina / peržiūri tą patį duomenų rinkinį. Tarp operacijų yra konfliktas, nes vykdymo tvarka paveiks išvestį.

Kas yra „Serializability“?

Serializuotumas - tai procesas, kurio metu ieškoma vienalaikio tvarkaraščio, kurio išvestis yra lygi nuosekliam tvarkaraščiui, kai operacijos ae vykdomos viena po kitos. Priklausomai nuo tvarkaraščių tipo, yra du serijizavimo tipai:

  • Konfliktas
  • Vaizdas

Santrauka:

  • Operacijų valdymas yra logiškas duomenų apdorojimo DBVS vienetas, kuris apima vieną ar daugiau prieigos prie duomenų bazės operacijų
  • Tai operacija yra programos vienetas, kurio vykdymas gali pakeisti duomenų bazės turinį arba ne.
  • Netvarkant vienalaikės prieigos gali kilti tokių problemų kaip aparatūros gedimas ir sistemos gedimai.
  • Aktyvus, iš dalies įsipareigojęs, įvykdytas, nepavykęs ir nutrauktas yra svarbios operacijos būsenos.
  • Visa rūgštinių savybių forma DBVS yra atomiškumas, nuoseklumas, izoliavimas ir patvarumas
  • Trys DBVS operacijų tipai yra taikomųjų sričių, veiksmų ir struktūros pagrindai.
  • Tvarkaraštis yra procesas, sukuriantis vieną daugelio lygiagrečių operacijų grupę ir vykdantis jas po vieną.
  • Serializuotumas - tai ieškojimas vienu metu vykstančio tvarkaraščio, kurio išvestis yra lygi nuosekliam tvarkaraščiui, kai operacijos vykdomos viena po kitos.

Įdomios straipsniai...