Напуштање на ACID во корист на BASE во базата на податоци Инженеринг

Релациони бази на податоци се дизајнирани со сигурност и конзистентност во нивното јадро. Инженерите кои ги развиле се фокусираа на трансакциски модел кој гарантира дека четирите принципи на моделот ACID секогаш ќе се зачуваат. Сепак, доаѓањето на новиот модел на неструктурирани бази на податоци го претвора ACID на нејзината глава. Моделот за базата на податоци NoSQL го избегнува високо структурираниот релациски модел во корист на пристапот за пристап на флексибилни клучеви / вредност. Овој неструктуриран пристап кон податоците бара алтернатива на ACID моделот: моделот BASE.

Основни намени на ACID модел

Постојат четири основни принципи на ACID модел:

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

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

Моторот на база на податоци наметнува изолација помеѓу повеќекратни трансакции кои се случуваат во или во исто време. Секоја трансакција се јавува или пред или по секоја друга трансакција, а приказот на базата на податоци што трансакцијата го гледа на својот почеток е изменета само од самата трансакција пред нејзиниот заклучок. Ниту една трансакција никогаш не треба да го види посредниот производ на друга трансакција.

Крајниот ACID принцип, издржливост , гарантира дека откако трансакцијата е посветена на базата на податоци, таа е трајно зачувана со користење на бекап и логови на трансакции. Во случај на неуспех, овие механизми може да се користат за враќање на извршени трансакции.

Основни принципи на BASE

Базите на податоци NoSQL, од друга страна, ги опфаќаат ситуациите каде ACID модот е надминат или, всушност, ќе го попречи функционирањето на базата на податоци. Наместо тоа, NoSQL се потпира врз помек модел познат, соодветно, како BASE модел. Овој модел ја прилагодува флексибилноста понудена од NoSQL и слични пристапи за управување и зачувување на неструктурирани податоци. BASE се состои од три принципи:

Основна достапност . Пристапот на базата на податоци NoSQL се фокусира на достапноста на податоците дури и во присуство на повеќе неуспеси. Тоа го постигнува со користење на високо дистрибуиран пристап кон управувањето со бази на податоци. Наместо да се одржи единствено големо складирање на податоци и да се фокусира на толеранцијата на грешки на таа продавница, NoSQL базите на податоци шират податоци низ многу системи за складирање со висок степен на репликација. Малку е веројатно дека неуспехот го нарушува пристапот до еден сегмент на податоци, тоа не мора да резултира со целосен прекин на базата на податоци.

Мека држава . Основните бази на податоци сосема целосно ги напуштаат барањата за конзистентност на ACID моделот. Еден од основните концепти зад BASE е дека конзистентноста на податоците е проблемот на програмерот и не треба да се ракува со базата на податоци.

Евентуална конзистентност . Единствениот услов дека бази на податоци на NoSQL во врска со конзистентност е да се бара во одреден момент во иднина, податоците ќе се спојат во конзистентна состојба. Меѓутоа, не се прават никакви гаранции за тоа кога ќе се случи ова. Тоа е целосно отстапување од условот за непосредна конзистентност на ACID што забранува извршување на трансакцијата се додека не заврши претходната трансакција и базата на податоци се усогласи во доследна состојба.

Основниот модел не е соодветен за секоја ситуација, но секако е флексибилна алтернатива на моделот ACID за бази на податоци кои не бараат строго придржување кон релациониот модел.