Spisu treści:
Definicja - Co oznacza wytrzymałość?
Trwałość w bazach danych to właściwość, która zapewnia, że transakcje są zapisywane na stałe i nie przypadkowo znikają lub są usuwane, nawet podczas awarii bazy danych. Zazwyczaj osiąga się to poprzez zapisanie wszystkich transakcji na nieulotnym nośniku pamięci.
Trwałość jest częścią akronimu ACID, który oznacza atomowość, spójność, izolację i trwałość. ACID to zestaw właściwości gwarantujących niezawodność wszystkich transakcji w bazie danych.
Techopedia wyjaśnia wytrzymałość
Istnieje kilka organizacji, takich jak banki i szpitale, których istnienie zależy od systemów informatycznych działających na bazach danych. Zdolność do odzyskania 100% wszystkich zatwierdzonych transakcji jest absolutnie niezbędna. Wskaźnik odzysku musi wynosić 100 procent, a nie 90 procent, a nawet 99, 6 procent. Ponadto to odzyskiwanie musi być trwałe, co oznacza, że wszystkie transakcje muszą zostać zrekonstruowane, nawet jeśli serwer bazy danych ulegnie awarii z powodu awarii systemu operacyjnego lub utraty zasilania.
Od razu widać, dlaczego trwałość, jako część ACID, jest świętym graalem dla projektantów systemów relacyjnych baz danych. ACID, termin spopularyzowany przez Theo Hardera i Andreasa Reutera w artykule z 1983 r. „Zasady odzyskiwania baz danych zorientowanych na transakcje”, to zestaw cech, które przy odpowiednim wdrożeniu zawsze gwarantują niezawodne przetwarzanie, obsługę i przechowywanie całej bazy danych transakcje.
Trwałość w nowoczesnych systemach relacyjnych baz danych jest zazwyczaj osiągana za pomocą dzienników transakcji - plików do recyklingu - plików używanych do przechowywania wszystkich transakcji bazy danych w sesji. Gdy użytkownik wyda polecenie zatwierdzenia, transakcja jest najpierw zapisywana w plikach bazy danych przechowywanych na nieulotnym nośniku, takim jak dysk twardy, co odbywa się przed potwierdzeniem użytkownikowi, że nastąpiło zapisanie. Jeśli baza danych ulegnie awarii przed zapisaniem, dane będą nadal zapisywane w dziennikach transakcji przy następnym uruchomieniu bazy danych, ale wszelkie niezatwierdzone zmiany zostaną cofnięte lub wycofane. W obliczeniach rozproszonych, w których serwery są rozproszone geograficznie, ta gwarancja jest trudna lub trudna do wdrożenia, więc to samo można osiągnąć poprzez zastosowanie zatwierdzania dwufazowego.