Co to jest transakcja w bazie danych?
Transakcji bazy danych jest logiczną jednostką przetwarzania w DBMS, które pociąga za sobą jedną lub więcej operacji dostępu do bazy danych. Krótko mówiąc, transakcje bazodanowe reprezentują rzeczywiste wydarzenia dowolnego przedsiębiorstwa.
Wszystkie typy operacji dostępu do bazy danych, które odbywają się pomiędzy początkowymi i końcowymi instrukcjami transakcji, są traktowane jako pojedyncza logiczna transakcja w systemie DBMS. Podczas transakcji baza danych jest niespójna. Dopiero po zatwierdzeniu bazy danych stan zmienia się z jednego spójnego stanu na inny.
W tym samouczku dowiesz się:
- Fakty dotyczące transakcji w bazie danych
- Dlaczego potrzebujesz współbieżności w transakcjach?
- Stany transakcji
- Jakie są właściwości ACID?
- Rodzaje transakcji
- Co to jest harmonogram?
Fakty dotyczące transakcji w bazie danych
- Transakcja to jednostka programu, której wykonanie może, ale nie musi, zmienić zawartość bazy danych.
- Koncepcja transakcji w DBMS jest wykonywana jako pojedyncza jednostka.
- Jeśli operacje bazy danych nie aktualizują bazy danych, a jedynie pobierają dane, ten typ transakcji nazywany jest transakcją tylko do odczytu.
- Pomyślna transakcja może zmienić bazę danych z jednego STANU SPÓJNEGO na inny
- Transakcje DBMS muszą być niepodzielne, spójne, izolowane i trwałe
- Gdyby baza danych znajdowała się w stanie niespójności przed transakcją, pozostałaby w stanie niespójnym po transakcji.
Dlaczego potrzebujesz współbieżności w transakcjach?
Baza danych jest udostępnionym zasobem. Jest używany przez wielu użytkowników i procesy jednocześnie. Na przykład system bankowy, systemy rezerwacji kolejowych i lotniczych, monitorowanie giełdy, inwentaryzacja supermarketów, kasy itp.
Brak zarządzania równoczesnym dostępem może powodować problemy, takie jak:
- Awaria sprzętu i awarie systemu
- Jednoczesne wykonywanie tej samej transakcji, zakleszczenie lub niska wydajność
Stany transakcji
Poniżej wymieniono różne stany koncepcji transakcji w DBMS:
Stan | Rodzaje transakcji |
Stan aktywny | Transakcja wchodzi w stan aktywny, gdy rozpoczyna się proces wykonywania. W tym stanie można wykonywać operacje odczytu lub zapisu. |
Częściowo zaangażowane | Transakcja przechodzi w stan częściowo zatwierdzony po zakończeniu transakcji. |
Państwo zobowiązane | Gdy transakcja zostanie zatwierdzona, oznacza to, że została już pomyślnie zakończona. Ponadto wszystkie jego zmiany są trwale zapisywane w bazie danych. |
Stan awarii | Transakcja uznaje się za zakończoną niepowodzeniem, gdy którykolwiek z testów zakończy się niepowodzeniem lub jeśli transakcja zostanie przerwana, gdy jest w stanie aktywnym. |
Stan zakończony | Stan transakcji osiąga stan zakończony, gdy niektórych transakcji, które opuszczają system, nie można ponownie uruchomić. |
Przeanalizujmy diagram przejścia stanów, który podkreśla, w jaki sposób transakcja przechodzi między tymi różnymi stanami.
- Gdy transakcja zakończy się, staje się aktywna. Może wydawać operację ODCZYTU lub ZAPISU.
- Po zakończeniu operacji ODCZYTU i ZAPISU transakcje stają się częściowo zatwierdzone.
- Następnie niektóre protokoły odtwarzania muszą zapewniać, że awaria systemu nie spowoduje niemożności trwałego zarejestrowania zmian w transakcji. Jeśli to sprawdzenie powiedzie się, transakcja zostanie zatwierdzona i przejdzie do stanu zatwierdzonego.
- Jeśli sprawdzenie zakończy się niepowodzeniem, transakcja przejdzie do stanu Niepowodzenie.
- Jeśli transakcja zostanie przerwana, gdy jest w stanie aktywnym, przechodzi do stanu niepowodzenia. Transakcja powinna zostać wycofana, aby cofnąć wpływ jej operacji zapisu na bazę danych.
- Stan zakończony odnosi się do transakcji opuszczającej system.
Jakie są właściwości ACID?
Właściwości ACID służą do zachowania integralności bazy danych podczas przetwarzania transakcji. ACID w DBMS to skrót od A tomicity, C onsistency, I solation i D urability .
- Atomowość: transakcja to pojedyncza jednostka operacji. Albo wykonujesz go w całości, albo w ogóle go nie wykonujesz. Nie może być częściowego wykonania.
- Spójność: Po wykonaniu transakcji powinna przejść z jednego spójnego stanu do drugiego.
- Izolacja: Transakcja powinna być przeprowadzona w oderwaniu od innych transakcji (bez blokad). Podczas jednoczesnego wykonywania transakcji nie należy udostępniać sobie wzajemnie wyników transakcji pośrednich z jednocześnie wykonywanych transakcji. (Poziom 0, 1, 2, 3)
- Trwałość: · Po pomyślnym zakończeniu transakcji zmiany w bazie danych powinny pozostać. Nawet w przypadku awarii systemu.
Właściwość ACID w DBMS z przykładem:
Poniżej znajduje się przykład właściwości ACID w DBMS:
Transaction 1: Begin X=X+50, Y = Y-50 ENDTransaction 2: Begin X=1.1*X, Y=1.1*Y END
Transakcja 1 polega na przesłaniu 50 $ z konta X na konto Y.
Transakcja 2 zasila każdy rachunek wypłatą odsetek w wysokości 10%.
Jeśli obie transakcje zostaną złożone razem, nie ma gwarancji, że Transakcja 1 zostanie wykonana przed Transakcją 2 lub odwrotnie. Niezależnie od zamówienia wynik musi być taki, jakby transakcje odbywały się kolejno jedna po drugiej.
Rodzaje transakcji
W oparciu o obszary zastosowań
- Nierozdzielone a dystrybuowane
- Transakcje kompensacyjne
- Czas transakcji
- On-line a partia
Na podstawie działań
- Dwuetapowe
- Ograniczony
- Model działania
Na podstawie struktury
- Płaskie lub proste transakcje: Składają się z sekwencji operacji pierwotnych wykonywanych między operacjami rozpoczęcia i zakończenia.
- Transakcje zagnieżdżone: transakcja zawierająca inne transakcje.
- Przepływ pracy
Co to jest harmonogram?
Harmonogram to proces polegający na tworzeniu pojedynczej grupy wielu równoległych transakcji i wykonywaniu ich jedna po drugiej. Powinien zachować kolejność, w jakiej instrukcje pojawiają się w każdej transakcji. Jeżeli dwie transakcje są realizowane w tym samym czasie, wynik jednej transakcji może wpłynąć na wynik drugiej.
Przykład
Initial Product Quantity is 10Transaction 1: Update Product Quantity to 50Transaction 2: Read Product Quantity
Jeżeli Transakcja 2 zostanie zrealizowana przed Transakcją 1, odczytana zostanie nieaktualna informacja o ilości produktu. Dlatego wymagane są harmonogramy.
Równoległe wykonywanie w bazie danych jest nieuniknione. Jednak wykonywanie równoległe jest dozwolone, gdy istnieje relacja równoważności między jednocześnie wykonywanymi transakcjami. Ta równoważność obejmuje 3 typy.
RÓWNOWAŻNOŚĆ WYNIKÓW:
Jeśli dwa harmonogramy wyświetlają ten sam wynik po wykonaniu, nazywa się to harmonogramem równoważnym wynikom. Mogą one dawać ten sam wynik dla pewnej wartości i inne wyniki dla innego zestawu wartości. Na przykład jedna transakcja aktualizuje ilość produktu, podczas gdy inna aktualizuje dane klienta.
Wyświetl równoważność
Wyświetl równoważność występuje, gdy transakcja w obu harmonogramach wykonuje podobną akcję. Na przykład jedna transakcja wstawia szczegóły produktu do tabeli produktów, podczas gdy inna transakcja wstawia szczegóły produktu do tabeli archiwum. Transakcja jest taka sama, ale tabele są inne.
Równoważność KONFLIKTU
W tym przypadku dwie transakcje aktualizują / wyświetlają ten sam zestaw danych. Istnieje konflikt między transakcjami, ponieważ kolejność wykonywania wpłynie na dane wyjściowe.
Co to jest możliwość serializacji?
Możliwość serializacji to proces wyszukiwania współbieżnego harmonogramu, którego wynik jest równy harmonogramowi szeregowemu, w którym transakcja jest wykonywana jedna po drugiej. W zależności od typu harmonogramów istnieją dwa typy możliwości serializacji:
- Konflikt
- Widok
Podsumowanie:
- Zarządzanie transakcjami to logiczna jednostka przetwarzania w DBMS, która obejmuje jedną lub więcej operacji dostępu do bazy danych
- Jest to transakcja to jednostka programu, której wykonanie może, ale nie musi, zmienić zawartość bazy danych.
- Brak zarządzania równoczesnym dostępem może powodować problemy, takie jak awaria sprzętu i awarie systemu.
- Aktywne, częściowo zatwierdzone, zatwierdzone, zakończone niepowodzeniem i zakończone to ważne stany transakcji.
- Pełna forma właściwości ACID w DBMS to atomowość, spójność, izolacja i trwałość
- Trzy typy transakcji DBMS są oparte na obszarach aplikacji, działaniu i strukturze.
- Harmonogram to proces polegający na tworzeniu pojedynczej grupy wielu równoległych transakcji i wykonywaniu ich jedna po drugiej.
- Możliwość serializacji to proces wyszukiwania współbieżnego harmonogramu, którego dane wyjściowe są równe harmonogramowi szeregowemu, w którym transakcje są wykonywane jedna po drugiej.