Системи за управление на бази от данни с отворен код. NoSQL бази от данни.


Категория на документа: Информатика



Isolation - изолация. Това е изискване, че не може да се достъпва информация, която е в
незавършила операция. Това правило в съвременните бази данни се поддържа с известно
заобикаляне, чрез няколко различни вида ниво на изолация и се допускат компромиси в
името на намаляване броя dead locks (READ UNCOMMITED isolation level).

Durability - устойчивост. Означава, че след като транзакцията е извършена и потвърдена, тя ще остане такава дори и в случаите на прекъсване на захранването, повреди и грешки в системата. За да се съхранят резултатите от транзакцията за постоянно, те трябва да бъдат записвани в енергонезависима памет.
BASE означава Basically Available, Soft-state, Eventual consistency.
BASE е противоположност на ACID. BASE приема, че в края на операцията ще има
консистентност, без изрично да я осигурява, в името на по-добра производителност,
скалируемост и наличност (Basically Available).

Soft State по отношение състоянието на данните означава, че:

- Състоянието се управлява с вероятности

- Състоянието не е непременно консистентно

- Потребителят поема отговорност за управление на състоянието на данните

- Състоянието може да бъде прекратено от мрежата / сървъра, но може да бъде
прекратено и от потребителя

- Състоянието не е критично за услугата
Терминът Eventual consistency (евентуална консистентност) се описва и въвежда в практиката от Amazon Dynamo paper (2007), въпреки че може да се срещне и в разработки от преди това. Означава, че ако няма обновяване, евентуално всички нодове (възли, инстанции) на базата от данни ще връщат актуалната и консистентна стойност на данните.

Според дефиницията на Amazon, публикувана в блога на Вернер Вогелс, консистентността
бива 2 вида, според гледната точка - от гледна точка на клиента и от гледна точка на сървъра.

Клиентската консистентност трябва да се справи с това как отделните процеси,
комуникиращи със системата, виждат обновяванията. Ако процес А направи обновяване,
имаме следните видове консистентност:

- Силна консистентност. След приключване на обновяването, всеки един клиент ще вижда
обновената стойност.

- Слаба консистентност. Системата не гарантира, че последващите клиенти ще получат
обновената стойност, освен ако не са изпълнени някакви условия. Периодът до изпълняване
на условията е период на неконсистентност.

- Евентуална консистентност. Това е форма на слаба консистентност, при която системата
гарантира, че ако няма направени нови обновявания на данната, евентуално всички точки на
достъп ще върнат вярната стойност.

Нерелационните бази данни не могат непременно да дадат пълна гаранция за ACID (Atomicity, Consistency, Isolation, Durability). Обикновено съгласуваността е гарантирана или транзакциите са ограничени до един обект с информация. Това означава, че ако се даде достатъчно дълъг период от време, по време на който не се пращат промени, може да се очаква всички обновления да се разпространят в системата.

Приложение и перспективи
NoSQL базите данни споделят общи принципи, но задоволяват различни потребности. Поради
това често в практиката на NoSQL базите данни се възлага изпълнението на една или няколко
специфични задачи от проект, а не на целия проект и основната функционалност се реализира
с RDBMS или друга NoSQL база от данни.



Сподели линка с приятел:





Яндекс.Метрика
Системи за управление на бази от данни с отворен код. NoSQL бази от данни. 9 out of 10 based on 2 ratings. 2 user reviews.