logo

АЦИД својства у ДБМС

Трансакције су основне операције које нам омогућавају да мењамо и преузимамо податке. Међутим, да би се осигурао интегритет базе података важно је да се ове трансакције изврше на начин који одржава доследност, исправност и поузданост чак и у случају кварова/грешака. Овде долази до изражаја својства АЦИД.

АЦИД је скраћеница од Атомицити Цонсистенци Исолатион анд Дурабилити.



Својства КИСЕЛИНЕ:

ацид_пропертиес' title=

Постоје четири својства КИСЕЛИНЕ

1. Атомичност

Атомичност значи да је трансакција све или ништа или све њене операције успеју или се ниједна не примењује. Ако било који део не успе, цела трансакција се поништава да би база података била доследна.

  • Цоммит : Ако је трансакција успешна, промене се трајно примењују.
  • Прекини/Врати : Ако трансакција не успе, све промене направљене током трансакције се одбацују.

Пример : Размотрите следећу трансакцију Т који се састоји од Т1 и Т2 : Пренос 0 са рачуна Кс на рачун И .

атомичност' loading='lazy' title=Атомицити

Ако трансакција не успе након завршетка Т1, али пре завршетка Т2, база података би била остављена у недоследном стању. Уз Атомицити, ако било који део трансакције не успе, цео процес се враћа у првобитно стање и не праве се делимичне промене.



Конзистентност у трансакцијама значи да база података мора остати у важећем стању пре и после трансакције.

супв
  • Важеће стање прати сва дефинисана ограничења правила и односе (као што су примарни кључеви страни кључеви итд.).
  • Ако трансакција крши било које од ових правила, она се поништава да би се спречили оштећени или неважећи подаци.
  • Ако трансакција одузима новац са једног рачуна, али га не додаје на други (у трансферу), то крши доследност.

Пример : Претпоставимо да збир свих биланса у банкарском систему увек треба да буде константан. Пре трансфера укупно стање је 0. Након трансакције укупно стање треба да остане 0. Ако трансакција не успе у средини (као ажурирање једног налога, али не и другог), систем треба да одржи своју доследност враћањем трансакције уназад.

Укупно пре него што се појави Т = 500 + 200 = 700 .
Укупно после Т  = 400 + 300 = 700 .



изолација' loading='lazy' title=Доследност

3. Изолација

Изолација осигурава да се трансакције одвијају независно без утицаја једна на другу. Промене направљене једном трансакцијом нису видљиве другима док се не обаве.

Осигурава да је резултат истовремених трансакција исти као да су покренуте једна за другом спречавајући проблеме као што су:

  • Прљаво гласи: читање неповезаних података
  • Непоновљиво читање: промене података између два читања
  • Фантом гласи: нови редови се појављују током трансакције

Пример : Размотримо две трансакције Т и Т''.

  • Кс = 500 И = 500
изолација' loading='lazy' title=Изолација

Објашњење:

1. Трансакција Т:

  • Т жели да пређе са Кс на И.
  • Т чита И (вредност: 500) одузима од Кс (ново Кс = 450) и додаје И (ново И = 550).

2. Трансакција Т'':

  • Т' ' почиње и чита Кс (500) и И (500).
  • Израчунава збир: 500 + 500 = 1000.
  • У међувремену се вредности Кс и И мењају на 450 и 550 респективно.
  • Дакле, тачан збир би требао бити 450 + 550 = 1000.
  • Изолација осигурава да Т'' не чита застареле вредности док је друга трансакција (Т) још увек у току.
  • Трансакције треба да буду независне и Т'' треба да приступи коначним вредностима тек након што Т урезује.
  • Овим се избегавају недоследни резултати као што је нетачна сума коју израчунава Т''.

4. Трајност:

Трајност осигурава да када се трансакција изврши, њене промене се трајно чувају чак и ако систем не успе. Подаци се чувају у непроменљивој меморији тако да база података може да се врати у своје последње урезано стање без губитка података.

Пример : Након успешног преноса новца са налога А на налог Б промене се чувају на диску. Чак и ако дође до пада одмах након урезивања, детаљи трансфера ће и даље бити нетакнути када се систем опорави, обезбеђујући трајност.

Како својства АЦИД утичу на дизајн и рад ДБМС-а

Тхе Својства АЦИД-а у целини обезбеђују механизам који обезбеђује исправност и конзистентност базе података на начин да свака трансакција представља групу операција која делује као једна јединица која производи конзистентне резултате, делује изоловано од других операција и ажурирања која она прави се трајно чувају.

Својства АЦИД-а штите интегритет података ДБМС-а тако што осигуравају да се трансакције или успешно заврше или да не остављају трагове ако су прекинуте. Они спречавају да делимична ажурирања оштете податке и обезбеђују да база података прелази само између важећих стања.

јава побољшана петља

2. Контрола конкурентности

АЦИД својства пружају солидан оквир за управљање истовременим трансакцијама. Изолација осигурава да трансакције не ометају једна другу и спречавају аномалије података као што су изгубљена ажурирања, привремена недоследност и неповезани подаци.

3. Опоравак и толеранција грешака

Трајност осигурава да чак и ако систем падне, база података може да се врати у конзистентно стање. Захваљујући својствима Атомицити и Дурабилити, ако трансакција не успе на пола пута, база података остаје у доследном стању.

Имовина Одговорност за одржавање имовине
АтомицитиМенаџер трансакција
ДоследностПрограмер апликација
ИзолацијаЦонцурренци Цонтрол Манагер
ТрајностОпоравак

Критични случајеви употребе АЦИД-а у базама података

У савременим апликацијама осигурање поузданости и конзистентности података је кључно. Својства АЦИД су фундаментална у секторима као што су:

  • Банкарство : Трансакције које укључују трансфере новца, депозите или повлачења морају одржавати строгу доследност и трајност како би се спречиле грешке и преваре.
  • Е-трговина : Обезбеђивање да се поруџбине и детаљи о клијентима обрађују исправно и доследно чак и током великог промета захтева АЦИД усклађеност.
  • Здравствена нега : Пацијент бележи резултате тестова и рецепте морају да се придржавају строгих стандарда доследности интегритета и безбедности.