Изолиране на собственост в база данни

Изолацията контролира как и кога се правят промени в база данни

Изолацията е неразделна част от транзакционните свойства на базата данни. Това е третото свойство на ACID (атомност, консистенция, изолация, устойчивост) и тези свойства гарантират, че данните са последователни и точни.

Изолацията е собственост на ниво база данни, която контролира как и кога се правят промени и дали те стават видими един към друг. Една от целите на изолацията е да позволи множество транзакции, които се случват едновременно, без да се отразяват на изпълнението на другия.

Как работи изолацията

Например, ако Джо издава транзакция срещу база данни в същото време, когато Мария издава различна транзакция, двете транзакции трябва да работят в базата данни по един изолиран начин. Базата данни трябва или да извърши пълната сделка на Джо, преди да изпълни Mary's, или обратното. Това предотвратява транзакцията на Джо да чете междинни данни, получени като страничен ефект от част от транзакцията на Мери, която в крайна сметка няма да бъде ангажирана с базата данни. Имайте предвид, че собствеността на изолацията не гарантира коя транзакция ще се изпълни първо, просто, че няма да се намесват помежду си.

Нива на изолация

Има четири нива на изолация:

  1. Serializable е най-високото ниво, което означава, че транзакциите ще бъдат завършени преди друга транзакция да започне.
  2. Повтарящите се четения позволяват достъп до транзакциите, след като транзакцията е започнала, въпреки че не е приключила.
  3. Заявеният ангажимент позволява достъп до данните, след като данните са предадени на базата данни, но не и преди.
  4. Прочетете необвързаното е най-ниското ниво на изолация и позволява достъп до данните, преди да са направени промените.