Skip to main content

Co to jest izolacja migawki?

Izolacja migawki to właściwość w przetwarzaniu transakcji i bazach danych, które gwarantują wszystkie odczyty wykonane w transakcji, patrz ta sama migawka bazy danych.Oznacza to, że transakcja zobowiązuje się do pomyślnego przetwarzania żądania, jeśli jego aktualizacje nie są sprzeczne z żadnymi innymi współbieżnymi aktualizacjami.Izolacja migawki jest algorytmem kontrolnym współbieżności wielu wersji, który zapewnia poziomy izolacji, które unikają problemów, które zwykle występują z współbieżą.Ta izolacja została zaimplementowana przez kilka różnych serwerów języka ustrukturyzowanego zapytań (SQL), działające z minimalnymi ilościami anomalii serializacji.Izolacja migawek nie gwarantuje jednak pełnej serializacji na serwerze.

Wiele głównych systemów zarządzania danymi zawiera domyślne poziomy izolacji, które nie można szeregować i często napotyka anomalie serializacji bez izolacji migawki.Może to powodować, że duże systemy mają wiele wystąpień błędów izolacyjnych każdego dnia, co może prowadzić do uszkodzenia danych, zwłaszcza tych, które można znaleźć w zastosowaniach danych magazynowych.Powodem, dla którego system może działać w tym stanie, jest to, że aplikacje działające na niższych poziomach izolacji mogą poprawić wydajność, jeśli nie wystąpią poważne błędy.Włączenie izolacji migawki w układzie zmniejsza te anomalie i mdash;Podczas poświęcenia czasu operacji i liczby błędów występujących z uwzględnieniem i mdash;Zwiększa wydajność jeszcze bardziej.

Niektóre bazy danych oferują izolację migawki w przeciwieństwie do pełnej serializacji, ale istnieją również anomalie, które mogą wystąpić w bazie danych z wykorzystaniem tego rodzaju izolacji.Te anomalie mogą prowadzić do naruszenia spójności danych, ponieważ transakcje, które utrzymują spójność przeplatania lub są ułożone w warstwach naprzemiennych.Jednym ze sposobów rozwiązania problemu i zapobiegania takim anomalii jest manipulowanie zastosowaniami za pomocą sztucznych zamków i sprzecznych aktualizacji, po których po analizie konfliktów między każdą parą transakcji.Innym sposobem rozwiązania tych anomalii jest jednak modyfikacja algorytmów kontroli współbieżności systemu bazy danych w celu automatycznego wykrywania i zapobiegania anomalii izolacji migawki w czasie wykonywania.Można to zrobić w przypadku ważnych lub dowolnych zastosowań, ale zapewnia izolację, która jest serializacyjna.

Nowsze serwery SQL były w stanie wprowadzić nowe poziomy izolacji, a także nowe poziomy izolacji migawki w celu zwiększenia współbieżności w niektórych aplikacjach.Tam, gdzie wczesne wersje serwera SQL wykorzystywały blokowanie jako podstawę współbieżności, izolacja migawki zależy od ulepszeń wersji wiersza przeznaczonych do poprawy wydajności.Poprawia tę wydajność, gdy napotyka scenariusze z blokowaniem odczytu lub zapisu, unikając ich.