BASE модел на разработка на база данни

Съдържание:

BASE модел на разработка на база данни
BASE модел на разработка на база данни
Anonim

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

Image
Image

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

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

  • атомарността на транзакциите гарантира, че всяка транзакция на база данни е единична единица, която възприема подхода „всичко или нищо“за изпълнение. Ако някое изявление в транзакцията е неуспешно, цялата транзакция се връща назад.
  • Релационните бази данни също така гарантират съгласуваността на всяка транзакция с бизнес правилата на базата данни. Ако някой елемент от атомарна транзакция наруши съгласуваността на базата данни, цялата транзакция се проваля.
  • Двигателят на базата данни налага изолация между множество транзакции, извършващи се по или почти по едно и също време. Всяка транзакция се случва преди или след всяка друга транзакция и изгледът на базата данни, който транзакцията вижда в началото си, се променя само от самата транзакция преди нейното приключване. Никоя транзакция никога не трябва да вижда междинния продукт на друга транзакция.
  • Окончателният принцип на ACID, трайност, гарантира, че след като дадена транзакция бъде ангажирана към базата данни, тя се запазва завинаги чрез използване на резервни копия и журнали на транзакции. В случай на повреда, тези механизми могат да се използват за възстановяване на ангажирани транзакции.

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

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

  • Основна наличност Подходът на базата данни NoSQL се фокусира върху наличността на данни дори при наличието на множество грешки. Той постига това чрез използване на силно разпределен подход за управление на база данни. Вместо да поддържат едно голямо хранилище за данни и да се фокусират върху устойчивостта на грешки на това хранилище, NoSQL базите данни разпространяват данни в много системи за съхранение с висока степен на репликация. В малко вероятния случай, когато повреда наруши достъпа до сегмент от данни, това не води непременно до пълно прекъсване на базата данни.
  • Меко състояние. Базите данни BASE изоставят изискванията за последователност на ACID модела почти напълно. Една от основните концепции зад BASE е, че последователността на данните е проблем на разработчика и не трябва да се обработва от базата данни.
  • Eventual Consistency Единственото изискване, което NoSQL базите данни имат по отношение на съгласуваността, е да изискват, че в някакъв момент в бъдеще данните ще се сближат до последователно състояние. Не се дават гаранции обаче кога ще се случи това. Това е пълно отклонение от изискването за незабавна последователност на ACID, което забранява изпълнението на транзакция, докато предишната транзакция не приключи и базата данни не достигне последователно състояние.

В BASE основната наличност може да означава, че вие дори не контролирате източниците на данни. Например, можете да се свържете с публични набори от данни за част от вашите усилия.

Случаи на относителна употреба

Моделът BASE не е подходящ за всяка ситуация, но със сигурност е гъвкава алтернатива на модела ACID за бази данни, които не изискват стриктно придържане към релационен модел.

Оптималните случаи на употреба за бази данни, използващи ACID, зависят от силно структурирани данни с предвидими входове и изходи. По този начин базите данни за човешки ресурси, базите данни за търговия на дребно и електронните медицински досиета се възползват от стабилната вътрешна проверка на съгласуваността, която ACID предлага.

Решенията BASE обаче са по-добри за неясни теми като анализ на настроението. Например, BASE-структуриран проект може да сканира емисия в Twitter, търсейки думи, които предполагат емоция въз основа на конкретен хаштаг. Емисията в Twitter не е добре структурирана или локално създадена, но потокът от данни предлага информацията, която е програмирана в заявки, дори ако обхватът и естеството на тези данни не са точно ограничени.

Препоръчано: