logo

ACID īpašības DBVS

Darījumi ir pamata darbības, kas ļauj mums modificēt un izgūt datus. Tomēr, lai nodrošinātu datu bāzes integritāti, ir svarīgi, lai šīs transakcijas tiktu izpildītas tā, lai saglabātu konsekvences pareizību un uzticamību pat kļūmju/kļūdu gadījumā. Šeit tiek izmantotas ACID īpašības.

ACID apzīmē atomu konsistences izolāciju un izturību.



SKĀBES īpašības:

skābes_īpašības' title=

Ir četras SKĀBES īpašības

1. Atomiskums

Atomiskums nozīmē, ka darījums ir “viss vai nekas”, vai nu visas tā darbības izdodas, vai arī netiek piemērota neviena. Ja kāda daļa neizdodas, viss darījums tiek atcelts, lai nodrošinātu datu bāzes konsekvenci.

  • Apņemties : Ja darījums ir veiksmīgs, izmaiņas tiek piemērotas neatgriezeniski.
  • Pārtraukt/atcelt : Ja darījums neizdodas, visas darījuma laikā veiktās izmaiņas tiek atmestas.

Piemērs : Apsveriet šādu darījumu T kas sastāv no T1 un T2 : 0 pārskaitījums no konta X uz kontu UN .

atomiskums' loading='lazy' title=Atomiskums

Ja darījums neizdodas pēc T1 pabeigšanas, bet pirms T2 pabeigšanas, datu bāze tiks atstāta nekonsekventā stāvoklī. Izmantojot Atomicity, ja kāda darījuma daļa neizdodas, viss process tiek atgriezts sākotnējā stāvoklī un netiek veiktas daļējas izmaiņas.



Darījumu konsekvence nozīmē, ka datubāzei jāpaliek derīgā stāvoklī pirms un pēc darījuma.

kad iznāca Windows 7
  • Derīgs stāvoklis ievēro visus definētos noteikumu ierobežojumus un attiecības (piemēram, primāro atslēgu ārējās atslēgas utt.).
  • Ja darījums pārkāpj kādu no šiem noteikumiem, tas tiek atsaukts, lai novērstu bojātus vai nederīgus datus.
  • Ja darījuma rezultātā nauda tiek atskaitīta no viena konta, bet netiek pievienota citam (pārskaitījuma ietvaros), tas pārkāpj konsekvenci.

Piemērs : Pieņemsim, ka visu banku sistēmas atlikumu summai vienmēr jābūt nemainīgai. Pirms pārskaitījuma kopējais atlikums ir 0. Pēc darījuma kopējam atlikumam jāpaliek 0. Ja darījums neizdodas vidū (piemēram, viena konta atjaunināšana, bet ne otra), sistēmai jāsaglabā konsekvence, atceļot darījumu.

Kopā pirms T = 500 + 200 = 700 .
Kopā pēc T parādīšanās  = 400 + 300 = 700 .



izolācija' loading='lazy' title=Konsekvence

3. Izolācija

Izolācija nodrošina, ka darījumi tiek veikti neatkarīgi, neietekmējot viens otru. Viena darījuma veiktās izmaiņas nav redzamas citiem, kamēr tās nav veiktas.

Tas nodrošina, ka vienlaicīgu darījumu rezultāts ir tāds pats kā tad, ja tie tiktu palaisti viens pēc otra, novēršot tādas problēmas kā:

  • Netīri raksti: nesaistītu datu lasīšana
  • Neatkārtojami lasījumi: datu izmaiņas starp diviem nolasījumiem
  • Phantom skan: darījuma laikā parādās jaunas rindas

Piemērs : Apsveriet divus darījumus T un T''.

  • X = 500 Y = 500
izolācija' loading='lazy' title=Izolācija

Paskaidrojums:

1. Darījums T:

  • T vēlas pāriet no X uz Y.
  • T skan UN (vērtība: 500) atņem no X (jaunais X = 450) un pievieno Y (jaunais Y = 550).

2. Darījums T'':

  • T' ' sākas un nolasa X (500) un Y (500).
  • Tas aprēķina summu: 500 + 500 = 1000.
  • Tikmēr X un Y vērtības mainās attiecīgi uz 450 un 550.
  • Tātad pareizajai summai jābūt 450 + 550 = 1000.
  • Izolācija nodrošina, ka T'' nenolasa novecojušas vērtības, kamēr vēl notiek cits darījums (T).
  • Darījumiem ir jābūt neatkarīgiem, un T'' ir jāpiekļūst galīgajām vērtībām tikai pēc T saistību izpildes.
  • Tas ļauj izvairīties no nekonsekventiem rezultātiem, piemēram, nepareizas summas, ko aprēķina pēc T''.

4. Izturība:

Izturība nodrošina, ka pēc darījuma veikšanas tās izmaiņas tiek neatgriezeniski saglabātas pat tad, ja sistēma neizdodas. Dati tiek glabāti nemainīgā atmiņā, lai datu bāze varētu atgūt savu pēdējo veikto stāvokli, nezaudējot datus.

java vesels skaitlis uz virkni

Piemērs : Pēc veiksmīgas naudas pārskaitīšanas no konta A uz kontu B izmaiņas tiek saglabātas diskā. Pat ja tūlīt pēc apņemšanās notiek avārija, pārsūtīšanas informācija joprojām būs neskarta, kad sistēma atgūsies, nodrošinot izturību.

Kā ACID īpašības ietekmē DBVS dizainu un darbību

The ACID rekvizīti kopumā nodrošina mehānismu, kas nodrošina datu bāzes pareizību un konsekvenci tādā veidā, ka katrs darījums ir darbību grupa, kas darbojas kā viena vienība, rada konsekventus rezultātus, darbojas izolēti no citām operācijām, un tā veiktie atjauninājumi tiek ilgstoši saglabāti.

ACID rekvizīti aizsargā DBVS datu integritāti, nodrošinot, ka transakcijas tiek veiksmīgi pabeigtas vai neatstāj nekādas pēdas, ja tās tiek pārtrauktas. Tie neļauj daļējiem atjauninājumiem sabojāt datus un nodrošina datu bāzes pāreju tikai starp derīgajiem stāvokļiem.

2. Vienlaicības kontrole

ACID īpašības nodrošina stabilu sistēmu vienlaicīgu darījumu pārvaldībai. Izolācija nodrošina, ka darījumi netraucē viens otru, novēršot datu anomālijas, piemēram, pazaudētu atjauninājumu īslaicīgu neatbilstību un nesaistītus datus.

3. Atkopšana un kļūdu tolerance

Izturība nodrošina, ka pat tad, ja sistēma avarē, datubāze var atgūt konsekventu stāvokli. Pateicoties atomiskuma un izturības īpašībām, ja darījums neizdodas pusceļā, datu bāze paliek konsekventā stāvoklī.

Īpašums Atbildība par īpašumu uzturēšanu
AtomiskumsDarījumu vadītājs
KonsekvenceLietojumprogrammu programmētājs
IzolācijaVienlaicības kontroles vadītājs
IzturībaAtveseļošanās

ACID kritiski lietošanas gadījumi datu bāzēs

Mūsdienu lietojumprogrammās ir ļoti svarīgi nodrošināt datu uzticamību un konsekvenci. ACID īpašības ir būtiskas tādās nozarēs kā:

  • Banku darbība : Darījumiem, kas saistīti ar naudas pārvedumu iemaksu vai izņemšanu, ir jāsaglabā stingra konsekvence un noturība, lai novērstu kļūdas un krāpšanu.
  • E-komercija : lai nodrošinātu, ka krājumi uzskaita pasūtījumus un klientu informāciju tiek pareizi un konsekventi apstrādāti pat lielas satiksmes laikā, ir nepieciešama atbilstība ACID.
  • Veselības aprūpe : Pacientu ierakstu testu rezultātiem un receptēm ir jāatbilst stingriem konsekvences integritātes un drošības standartiem.