Съдържание:
Определение - Какво означава изолация?
Изолацията, в контекста на бази данни, определя кога и как промените, реализирани в дадена операция, стават видими за други паралелни операции. Изолацията на транзакциите е важна част от всяка транзакционна система. Той се занимава с последователност и пълнота на данните, извлечени чрез заявки, които не засягат потребителските данни от други действия на потребителя. База данни придобива заключване на данни, за да поддържа високо ниво на изолация.
Техопедия обяснява Изолацията
Определени са редица нива на изолация, за да се контролира степента на заключване на данните. Високото ниво на изолация може да доведе до заключване на режима на системата, създаваща задънена улица. Четирите основни нива на изолация са: Прочетено неприето: Това ниво се занимава с мръсни четения, при които прочетените данни не съответстват на други части на таблицата или заявката и не са ангажирани. Тук данните се четат директно от блоковете на таблицата без никаква проверка, валидиране и обработка. Следователно данните са толкова мръсни, колкото могат да бъдат. Прочетено ангажирано: В този случай редовете, които се връща заявката, са редове, които вече са ангажирани, когато заявката е започнала. Тъй като фиксирането е завършено преди да започне заявката, резултатът не се показва в изхода на заявката. Повторно четене: Редовете, върнати от заявка в този случай, се извършват, когато транзакцията е била стартирана. Направените промени не присъстват в транзакцията и следователно не се появяват в резултата от заявката. Сериализируемост: На това ниво транзакциите се извършват по напълно изолиран начин, серийно една след друга. Бази данни като Oracle и Postgre SQL понякога не гарантират серийно подреждане на транзакции, но поддържат изолиране на моментни снимки, при което всички четения в транзакция са последователни снимки на базата данни и транзакции се извършват само ако никакви актуализации не създават конфликти с други едновременни актуализации, направени след момента на снимката. Аномалиите, разрешени от изолация на моментни снимки, могат да доведат до нарушаване на съгласуваността на данните чрез преплитане на транзакции, които поддържат последователност. Тези аномалии могат да бъдат премахнати чрез въвеждане на конфликти за актуализация или изкуствено заключване. Всички бази данни позволяват на потребителите да задават своите нива на изолация по подразбиране. Избраните перфектни нива на изолация пречат на приложенията да въвеждат грешки като мръсни четения, повторяеми четения и фантомни четения. Когато първата транзакция чете неизпратени промени, направени от втората транзакция, тя поражда мръсни четения. Когато четенето на данни остава същото, ако бъде прочетено отново по време на същата транзакция, това е повторяемо четене. Phantom четене се случва, когато добавените нови записи са посочени от транзакции преди въвеждането. Различните нива на изолация на ключалки в базата данни се занимават с: Read Locks: Read Locks предотвратява промяната на данните, прочетени по време на транзакция, докато транзакцията приключи, като елиминира случаите на повторяеми четения. Други транзакции могат да четат тези данни, но не е осигурен достъп за запис или промяна. Заключване на запис: Заключването на запис предотвратява други транзакции да променят данни, докато транзакцията приключи. Изключителни заключения за запис: Изключителното заключване на запис предотвратява други транзакции да четат или променят данни, докато текущата транзакция приключи. Снимки: моментната снимка е замразен изглед на данните, когато транзакцията стартира. Той предотвратява мръсни четения, неповторими четения и фантомни четения. Това определение е написано в контекста на бази данни