ACID модел на бази на податоци

ACID ги заштитува податоците од вашата база на податоци

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

Дефиниран ACID

Да земеме еден момент за детално да ги испитаме овие карактеристики:

Како работи киселина во практика

Администраторите на бази на податоци користат неколку стратегии за спроведување на ACID.

Едниот што се користи за да се спроведе атомска и издржливост е запишувањето пред запишување (WAL) во кое секој детал за трансакција првпат е напишан во дневник кој ги вклучува и повторите и вратите информации. Ова осигурува дека, со оглед на неуспех на базата на податоци од било кој вид, базата на податоци може да провери најавите и споредба на неговата содржина со состојбата на базата на податоци.

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

Друга стратегија се нарекува двофазен протокол за извршување , особено корисен во системите со дистрибуирани бази на податоци. Овој протокол го одделува барањето за модифицирање на податоците во две фази: фаза на барање за извршување и фаза на извршување. Во фазата на барање, сите DBMS-ови на мрежа што се засегнати од трансакцијата мора да потврдат дека го примиле и да имаат капацитет да ја извршат трансакцијата. Откако ќе се добие потврда од сите релевантни DBMS, завршува фазата на извршување во која податоците се всушност модифицирани.