Author name: Damian

Serializable

Jest to najbardziej restrykcyjny poziom izolacji – ma za zadanie zabezpieczać przed wszystkimi anomaliami. Niestety okazuje się, że bazy Oracle i SQL Server (MVCC) wyłamują się jeśli chodzi o anomalię Zniekształconego zapisu (Write skew). Anomalia SQL Server SQL Server (MVCC) PostgreSQL MySQL Oracle Brudny odczyt (Dirty read) Nie występuje Nie występuje Nie występuje Nie występuje …

Serializable Czytaj dalej »

MVCC

MVCC to skrót od Multiversion Concurrency Control, czyli tłumacząc swobodnie na język polski – oparte o wersje zarządzanie współbieżnością. A mówiąc prościej, jest to sposób na to jak za pomocą wersji (przypisywanych do rekordów) zarządzać dostępem do/modyfikacją danych. MVCC rozwiązuje problem dostępu do zasobów, który pojawia się przy zastosowaniu blokad. Warto też wspomnieć, że zastosowanie …

MVCC Czytaj dalej »

Repeatable Read

Jest to poziom izolacji zabezpieczający przed Brudnym odczytem (Dirty read), Brudnym zapisem (Dirty write), Zniekształconym odczytem(Read skew) oraz (jak sama nazwa wskazuje) przed Niepowtarzalnym odczytem (Non-Repeatable Read). Dodatkowo broni on także przed innymi anomaliami, lecz tutaj występują różnice pomiędzy silnikami baz danych (Oracle nie wspiera tego poziomu izolacji): Anomalia SQL Server PostgreSQL MySQL Brudny odczyt …

Repeatable Read Czytaj dalej »

Read Committed

Jest to jeden z najczęściej stosowanych poziomów izolacji (i w większości baz danych jest to domyślny poziom izolacji). Zabezpiecza on przed takimi anomaliami jak Brudny odczyt (Dirty read) oraz Brudny zapis (Dirty write). Pozostałe anomalie mogą wystąpić. Anomalia SQL Server PostgreSQL MySQL Oracle Brudny odczyt (Dirty read) Nie występuje Nie występuje Nie występuje Nie występuje …

Read Committed Czytaj dalej »

Read Uncommitted

Jest to poziom izolacji, który zabezpiecza jedynie przed anomalią typu Brudny zapis (Dirty write). Wszystkie inne anomalie mogą wystąpić przy tym poziomie izolacji. Pozwala on na odczyt danych jeszcze nie zatwierdzonych (commit) przez inne transakcje. Niektóre bazy danych nie wspierają tego poziomu izolacji (na przykład Oracle czy PostgreSQL). Anomalia SQL Server PostgreSQL MySQL Brudny odczyt …

Read Uncommitted Czytaj dalej »

Anomalie integralności (Phenomena)

W sytuacji gdy chcemy zapewnić najwyższy poziom izolacji transakcji często kończy się to zbyt długim czasem jej obsługi. Rozwiązaniem często jest tutaj zmniejszenie poziomu izolacji. Aczkolwiek w takim wypadku trzeba się liczyć z różnymi anomaliami, które mogą wystąpić. Wyróżnić można następujące anomalie: Brudny odczyt (Dirty read)Brudny zapis (Drity write)Niepowtarzalny odczyt (Non-repeatable read)Odczyt widmo (Phantom read)Zniekształcony …

Anomalie integralności (Phenomena) Czytaj dalej »

Odczyt widmo (Phantom read)

Jest to sytuacja w której dwa odczyty w ramach jednej transakcji zwracają różną ilość wierszy. Jest to bliźniaczo podobna sytuacja do Niepowtarzalnego odczytu (Phantom read), lecz w tym wypadku chodzi o liczbę odczytanych wierszy. Przykład – zamawianie towaru 0. Na stanie w magazynie jest już tylko jedna sztuka towaru (jeden wiersz)1. John postanawia kupić ten …

Odczyt widmo (Phantom read) Czytaj dalej »