АЦИД штити податке ваше базе података
АЦИД модел дизајна базе података је један од најстаријих и најважнијих концепата теорије база података. Она поставља четири циља којима сваки систем управљања базама података мора постићи: атомичност, конзистентност, изолацију и издржљивост. Релацијска база података која не испуњава било који од ових циљева не може се сматрати поузданим. База података која поседује ове карактеристике се сматра АЦИД-компатибилним.
АЦИД Дефинед
Узмимо тренутак да детаљно испитамо сваку од ових карактеристика:
- Атомицитет наводи да модификације базе података морају да поштују правило "све или ништа". За сваку трансакцију се каже да је "атомска". Ако један део трансакције не успе, цела трансакција не успије. Од пресудног је значаја да систем управљања базом података одржава атомску природу трансакција упркос сваком ДБМС-у, оперативном систему или отказу хардвера.
- Конзистентност наводи да ће у базу података уписати само важеће податке. Ако се из неког разлога изврши трансакција која крши правила конзистентности базе података, цела трансакција ће се вратити назад, а база података ће бити враћена у стање у складу са тим правилима. Са друге стране, ако се трансакција успјешно изврши, узимаће се у базу података из једне државе која је у складу с правилима у другој држави која је такођер у складу с правилима.
- Изолација захтева да више трансакција које се истовремено дешавају не утичу на извршење једне од других. На примјер, ако Јое изда трансакцију против базе података у исто вријеме када Мари изда другу трансакцију, обе трансакције треба да раде на бази података на изолован начин. База података би требало да изврши цјелокупну трансакцију Јое прије извршења Мари'с, или обрнуто. Ово спречава Јоеову трансакцију да очитава посредне податке произведене као нежељени ефекат дела Маријине трансакције која на крају неће бити посвећена бази података. Имајте на уму да имовина изолације не обезбеђује која ће трансакција извршити прво - само да се трансакције неће мешати једно са другим
- Трајност обезбеђује да свака трансакција која је посвећена бази података неће бити изгубљена. Дуготрајност је осигурана кориштењем резервних копија базе података и евиденција трансакција који омогућавају рестаурацију извршених трансакција упркос даљег отказа софтвера или хардвера.
Како АЦИД ради у пракси
Администратори базе података користе неколико стратегија за примену АЦИД-а.
Једна која се користи за спровођење атомичности и издржљивости је записивање напријед (ВАЛ) у којем се сваки детаљ трансакције први пут уписује у дневник који укључује и поновљене и поништене информације. То осигурава да, с обзиром на неуспјех базе података, база података може проверити логирајте и упоредите његов садржај са статусом базе података.
Друга метода која се користи за адресирање атомичности и издржљивости је саге-пагинг у којем се креира сјена страница када се подаци мијењају. Ажурирања упита су уписана на страницу у сенци, а не на стварне податке у бази података. Сама база података се мења само када је едитовање завршено.
Друга стратегија се зове двофазни протокол за извршење , нарочито користан у системима дистрибуираних база података. Овај протокол раздваја захтев за модификовање података у две фазе: фаза захтева за извршавање и фаза урезивања. У фази тражења, сви ДБМС-ови на мрежи на које је трансакција утицала, морају потврдити да су примили и да имају капацитет да изврше трансакцију. Када се потврда добије из свих релевантних ДБМС-ова, завршава се фаза урезивања у којој су подаци у ствари измењени.