BASE модел на разработка на бази данни
Релационните бази данни са проектирани с надеждност и последователност в основата си. Инженерите, които ги разработиха, се фокусираха върху транзакционен модел, който гарантира, че четирите принципа на ACID модел винаги се запазват. Въпреки това, появата на нов модел на неструктурирана база данни преобръща ACID с главата надолу. Моделът на базата данни NoSQL избягва силно структурирания релационен модел в полза на гъвкавия подход за съхранение на ключ/стойност. Този неструктуриран подход към данните изисква алтернатива на ACID модела: BASE модела.

Основни принципи на модела ACID
Има четири основни принципа на модела ACID:
- В атомност на транзакциите гарантира, че всяка транзакция на база данни е единична единица, която приема подход "всичко или нищо" за изпълнение. Ако някое изявление в транзакцията се провали, цялата транзакция се връща обратно.
- Релационните бази данни също гарантират последователност на всяка транзакция с бизнес правилата на базата данни. Ако някой елемент от атомарна транзакция би нарушил последователността на базата данни, цялата транзакция се проваля.
- Двигателят на базата данни налага изолация между множество транзакции, извършвани по едно и също време или близо до него. Всяка транзакция се извършва преди или след всяка друга транзакция и изгледа на базата данни че транзакцията вижда в началото си, се променя само от самата транзакция преди нейната заключение. Никоя транзакция никога не трябва да вижда междинния продукт на друга транзакция.
- Окончателният принцип на КИСЕЛИНА, издръжливост, гарантира, че след като дадена транзакция е ангажирана в базата данни, тя се запазва постоянно чрез използването на резервни копия и регистрационни файлове за транзакции. В случай на неуспех тези механизми могат да се използват за възстановяване на извършени транзакции.
Основни принципи на BASE
NoSQL бази данни, от друга страна, обхващат ситуации, при които ACID моделът е излишен или всъщност би попречил на работата на базата данни. Вместо това, NoSQL разчита на по-мек модел, известен по подходящ начин като BASE модел. Този модел включва гъвкавостта, предлагана от NoSQL и подобни подходи за управление и куриране на неструктурирани данни. BASE се състои от три принципа:
- Основна наличност. Подходът на базата данни NoSQL се фокусира върху наличието на данни дори при наличие на множество повреди. Той постига това чрез използване на силно разпределен подход към управлението на базата данни. Вместо да поддържат едно голямо хранилище за данни и да се фокусират върху отказоустойчивостта на това хранилище, базите данни NoSQL разпространяват данни в много системи за съхранение с висока степен на репликация. В малко вероятния случай, че повреда наруши достъпа до сегмент от данни, това не води непременно до пълно прекъсване на базата данни.
- Меко състояние. Базите данни BASE изоставят почти напълно изискванията за последователност на модела ACID. Една от основните концепции зад BASE е, че последователността на данните е проблем на разработчика и не трябва да се обработва от базата данни.
- Евентуална последователност. Единственото изискване, което NoSQL бази данни имат по отношение на последователността, е да изискват в някакъв момент в бъдеще данните да се сближават до последователно състояние. Не се дават гаранции обаче кога ще се случи това. Това е пълно отклонение от изискването за непосредствена последователност на ACID, което забранява транзакция от изпълнение до завършване на предишната транзакция и конвергенция на базата данни до последователна състояние.
В BASE основната наличност може да означава, че дори не контролирате източниците на данни. Например, можете да се свържете с публични набори от данни за част от вашите усилия.
Относителни случаи на употреба
Моделът BASE не е подходящ за всяка ситуация, но със сигурност е гъвкава алтернатива на модела ACID за бази данни, които не изискват стриктно придържане към релационен модел.
Оптималните случаи на използване на бази данни, използващи ACID, зависят от силно структурирани данни с предвидими входове и изходи. По този начин базите данни за човешки ресурси, базите данни на дребно и електронните медицински досиета се възползват от стабилната вътрешна проверка на последователността, която ACID предлага.
Решенията на BASE обаче са по-добри за размити теми като анализ на настроенията. Например, BASE-структуриран проект може да сканира емисия в Twitter, търсейки думи, които предполагат емоция въз основа на конкретен хештаг. Емисията в Twitter не е добре структурирана или локално инстанцирана, но потокът от данни предлага това информация, която е програмирана в заявки, дори ако обхватът и естеството на тези данни не са изчистени ограничен.