Bazy danych i transakcje ACID
52 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

W jaki sposób baza danych może być przywrócona do spójnego stanu po wystąpieniu błędu, takiego jak awaria dysku twardego?

  • Uruchomienie funkcji auto-healing w DBMS.
  • Automatyczne ponowne uruchomienie systemu zarządzania bazą danych (DBMS).
  • Za pomocą mechanizmu odtwarzania. (correct)
  • Poprzez ręczne przywrócenie kopii zapasowej.
  • Które z poniższych stwierdzeń najlepiej opisuje pojęcie transakcji w kontekście baz danych?

  • Zbiór operacji bazy danych wykonywanych przez jednego użytkownika, które zawsze skutkują modyfikacją danych.
  • Zbiór operacji bazy danych wykonywanych w określonym czasie, np. w ciągu jednej minuty.
  • Zbiór operacji bazy danych, które można traktować jako jedną niepodzielną jednostkę pracy, która zawsze kończy się sukcesem lub niepowodzeniem jako całość. (correct)
  • Zbiór operacji bazy danych wykonywanych przez jeden proces, niezależnie od tego, czy zakończy się on sukcesem czy niepowodzeniem.
  • Która z poniższych cech opisuje własność ACID dla transakcji, która gwarantuje, że wszystkie operacje w ramach transakcji zostaną wykonane w całości lub wcale?

  • Trwałość
  • Atomowość (correct)
  • Spójność
  • Izolacja
  • W jaki sposób kontrola współbieżności wpływa na działanie bazy danych?

    <p>Umożliwia jednoczesny dostęp wielu użytkowników do danych bez naruszania spójności danych. (A)</p> Signup and view all the answers

    Jakiego typu błędy mogą wystąpić w środowisku DBMS, które wymagają mechanizmu odtwarzania?

    <p>Awarie dysku twardego, awarie aplikacji/DBMS, dzielenie przez 0. (C)</p> Signup and view all the answers

    Które z poniższych stwierdzeń najlepiej opisuje pojęcie „spójności” w kontekście cech ACID transakcji?

    <p>Gwarantuje, że wszystkie operacje w ramach transakcji zostaną wykonane zgodnie z zasadami integralności danych baz danych. (B)</p> Signup and view all the answers

    Jakie są dwa sposoby określania granic transakcji?

    <p>Jawne i niejawne. (C)</p> Signup and view all the answers

    Co to jest plik dziennika w kontekście zarządzania transakcjami?

    <p>Plik zawierający informacje o wszystkich zakończonych transakcjach, w tym o ich statusem (zatwierdzenie/wycofanie). (B)</p> Signup and view all the answers

    Który poziom izolacji zapewnia, że transakcja nie odczyta danych, które zostały zmienione przez inną transakcję, która nie została jeszcze zatwierdzona?

    <p>Read commited (B)</p> Signup and view all the answers

    Jaki jest główny problem, który rozwiązuje poziom izolacji Read commited?

    <p>Utraconą aktualizację (B)</p> Signup and view all the answers

    Który poziom izolacji zapewnia, że transakcja może wielokrotnie odczytywać ten sam wiersz bez ingerencji innych transakcji?

    <p>Repeatable read (B)</p> Signup and view all the answers

    Który z poniższych problemów może nadal występować przy poziomie izolacji Repeatable read?

    <p>Odczyt fantomowy (B)</p> Signup and view all the answers

    Co to jest analiza niespójności?

    <p>Sytuacja, w której transakcja odczytuje dane, które są w niepewnym stanie po aktualizacji. (C)</p> Signup and view all the answers

    Jaki jest najsilniejszy poziom izolacji w bazach danych?

    <p>Serializable (B)</p> Signup and view all the answers

    Jak można zdefiniować poziom izolacji Serializable?

    <p>Brak niepowtarzalnych odczytów i odczytów fantomowych. (B)</p> Signup and view all the answers

    Czym jest ziarnistość blokad?

    <p>Stopień szczegółowości danych blokowanych podczas transakcji. (B)</p> Signup and view all the answers

    Co to jest "niepowtarzalny odczyt" (nonrepeatable read)?

    <p>Sytuacja, w której transakcja odczytuje ten sam wiersz wielokrotnie, ale otrzymuje różne wartości, ponieważ inna transakcja wykonała operację zapisu w tym wierszu. (B)</p> Signup and view all the answers

    Która z opcji najlepiej opisuje "odczyt fantomów" (Phantom reads)?

    <p>Transakcja odczytuje wiersz, który został wstawiony przez inną transakcję, ale nie widzi tego wiersza. (B)</p> Signup and view all the answers

    Co to jest harmonogram (schedule) w kontekście współbieżności?

    <p>Kolejność, w jakiej instrukcje transakcji są wykonywane. (C)</p> Signup and view all the answers

    Jaką cechę ma harmonogram szeregowy (serial schedule)?

    <p>Instrukcje z tej samej transakcji są wykonywane w sposób ciągły, bez żadnego przeplatania z instrukcjami z innych transakcji. (A)</p> Signup and view all the answers

    Co to jest harmonogram szeregowalny (serializable schedule)?

    <p>Harmonogram, który jest równoważny harmonogramowi szeregowemu, ale nie musi być szeregowy. (D)</p> Signup and view all the answers

    Które z poniższych działań nie jest konieczne, aby dwa harmonogramy były równoważne?

    <p>Każda operacja readx transakcji Ti w S1, która odczytuje wartość x przed ostatnim zapisem writex w Tj w S1, powinna odczytać tę samą wartość x, która została zapisana przez tę samą operację writex Tj w S2. (A)</p> Signup and view all the answers

    Jakiego problemu ze współbieżnością nie ma pokazany przykład?

    <p>Martwy zamek (A), Zagubienie danych (B)</p> Signup and view all the answers

    Która z poniższych instrukcji jest instrukcją zapisu?

    <p>sum = sum + amountx (A), amountx = amountx – 50 (B)</p> Signup and view all the answers

    Które z poniższych zdań jest prawdziwe w odniesieniu do przykładu?

    <p>Transakcja T1 i T2 są wykonywane w sposób równoległy. (D)</p> Signup and view all the answers

    Czy harmonogram przedstawiony w przykładzie jest szeregowy?

    <p>Nie. (A)</p> Signup and view all the answers

    Które z poniższych celów służą blokowaniu w systemach zarządzania bazami danych?

    <p>Zapewnienie atomowości transakcji, garantując, że wszystkie operacje w danej transakcji zostaną zakończone (A), Dopuszczenie do jednoczesnego dostępu do danych przez wiele transakcji, o ile nie ma między nimi konfliktów (C), Zapewnienie spójności danych w obecności wielu równoczesnych transakcji (D)</p> Signup and view all the answers

    Harmonogramowanie pesymistyczne w systemach baz danych wykorzystuje blokowanie do:

    <p>Ograniczania jednoczesnego wykonywania transakcji, minimalizując ryzyko konfliktów (A)</p> Signup and view all the answers

    Która z wymienionych opcji najlepiej opisuje znaczenie protokołu dwufazowego blokowania (2PL) w systemach zarządzania bazami danych?

    <p>Protokół 2PL gwarantuje spójność danych, zapobiegając konfliktom między transakcjami poprzez kontrolowany dostęp do danych (C)</p> Signup and view all the answers

    Kaskadowe wycofywanie w systemach zarządzania bazami danych występuje w przypadku:

    <p>Wycofania transakcji, która zaktualizowała dane, na które odwoływała się inna transakcja, która nie została jeszcze zakończona. (C)</p> Signup and view all the answers

    Blokada współdzielona (s-lock) w systemach zarządzania bazami danych pozwala na:

    <p>Jednoczesne odczytywanie danych przez różne transakcje, ale zakazuje ich aktualizacji (C)</p> Signup and view all the answers

    W jaki sposób można poradzić sobie z zakleszczeniami w systemach zarządzania bazami danych?

    <p>Wprowadzić mechanizm detekcji zakleszczenia i automatycznego wycofania jednej z uczestniczących transakcji. (A)</p> Signup and view all the answers

    Jaki jest cel pliku dziennika w systemie zarządzania bazą danych?

    <p>Śledzenie zmian wprowadzonych przez transakcje w bazie danych (A)</p> Signup and view all the answers

    Co oznacza strategia zapisu dziennika do przodu (write ahead log)?

    <p>Aktualizacje bazy danych są zapisane w pliku dziennika przed zapisami dokonywanymi na dysku (D)</p> Signup and view all the answers

    Jaka jest główna różnica między harmonogramowaniem optymistycznym a pesymistycznym w systemach zarządzania bazami danych?

    <p>Harmonogramowanie optymistyczne stosuje blokowanie do wykrywania konfliktów podczas realizacji transakcji, podczas gdy pesymistyczne stosuje blokowanie do ich zapobiegania. (D)</p> Signup and view all the answers

    Która z poniższych opcji opisuje jeden z poziomów izolacji transakcji w systemach zarządzania bazami danych?

    <p>Poziom izolacji określa, w jaki sposób transakcje widzą dane innych transakcji, które są wykonywane równocześnie (D)</p> Signup and view all the answers

    Które z poniższych operacji mogą być rejestrowane w pliku dziennika?

    <p>Wstawienie nowego rekordu do tabeli (A), Usunięcie tabeli z bazy danych (C)</p> Signup and view all the answers

    Jaki jest główny cel odtwarzania nośników?

    <p>Przywrócenie danych z uszkodzonego nośnika danych (B)</p> Signup and view all the answers

    W jaki sposób plik dziennika jest wykorzystywany do odtwarzania systemu?

    <p>Do odtwarzania zmian, które nie zostały zapisane na dysku przed awarią (B), Do śledzenia stanu aktywnych transakcji w momencie awarii (C)</p> Signup and view all the answers

    Co oznacza „punkt kontrolny” w kontekście zarządzania transakcjami?

    <p>Moment, w którym wszystkie aktualizacje w bazie danych są zapisane na dysku (C)</p> Signup and view all the answers

    Jaki typ awarii powoduje błąd w logice operacji transakcji?

    <p>Awaria transakcji (D)</p> Signup and view all the answers

    Który z poniższych przykładów można uznać za awarię systemu?

    <p>Awaria systemu operacyjnego podczas wykonywania transakcji (B)</p> Signup and view all the answers

    Co należy wykonać w przypadku odtwarzania systemu po awarii?

    <p>Zastosować operacje REDO i UNDO, aby odtworzyć zmiany z pliku dziennika (C)</p> Signup and view all the answers

    Których operacji nie da się odtworzyć podczas odtwarzania systemu?

    <p>Operacji zakończonych i zatwierdzonych przed awarią (A)</p> Signup and view all the answers

    Co oznacza zakleszczenie (deadlock) w kontekście transakcji?

    <p>Sytuacja, gdy dwie lub więcej transakcji czeka na zasoby, które są blokowane przez siebie nawzajem. (D)</p> Signup and view all the answers

    Które z poniższych rozwiązań zapobiega zakleszczeniom w transakcjach?

    <p>Uzyskiwanie wszystkich wymaganych blokad na początku transakcji. (A)</p> Signup and view all the answers

    Co przedstawia graf oczekiwań (wait for graph)?

    <p>Model relacji między transakcjami i zasobami. (B)</p> Signup and view all the answers

    Czy zakleszczenie istnieje, gdy graf oczekiwań zawiera cykl?

    <p>Tak, cykl w grafie oczekiwań wskazuje na zakleszczenie. (A)</p> Signup and view all the answers

    Co to jest blokada krótkoterminowa?

    <p>Blokada utrzymywana tylko przez krótki czas potrzebny do zakończenia powiązanej operacji. (A)</p> Signup and view all the answers

    Który poziom izolacji transakcji jest najbardziej restrykcyjny?

    <p>Serializable (D)</p> Signup and view all the answers

    Jaki jest poziom izolacji "Read uncommitted"?

    <p>Najniższy poziom izolacji, pozwalające na odczyty niezatwierdzonych danych. (C)</p> Signup and view all the answers

    W jakich sytuacjach może być korzystne użycie blokad krótkoterminowych?

    <p>Kiedy wydajność jest kluczowa, a ryzyko konfliktów współbieżności jest niewielkie. (D)</p> Signup and view all the answers

    Flashcards

    Transakcja

    Zbiór operacji bazy danych traktowany jako jedna jednostka pracy.

    Własności ACID

    Zasady zapewniające spójność transakcji: Atomowość, Spójność, Izolacja i Trwałość.

    Odtwarzanie

    Proces zapewnienia, że baza danych wróci do spójnego stanu po awarii.

    Kontrola współbieżności

    Koordynacja transakcji realizowanych jednocześnie, aby uniknąć niespójności.

    Signup and view all the flashcards

    Granice transakcji

    Określają początek i koniec transakcji, mogą być jawne lub niejawne.

    Signup and view all the flashcards

    Zatwierdzenie transakcji

    Akcja potwierdzająca sukces transakcji, co oznacza zapisanie zmian.

    Signup and view all the flashcards

    Wycofanie transakcji

    Proces przywracania bazy danych do stanu sprzed transakcji w przypadku niepowodzenia.

    Signup and view all the flashcards

    Rodzaje błędów

    Problemy takie jak awarie dysku, aplikacji, które mogą wpływać na transakcje.

    Signup and view all the flashcards

    Menadżer transakcji

    Komponent DBMS odpowiedzialny za zarządzanie transakcjami.

    Signup and view all the flashcards

    Aktualizacja salda

    Operacja debetowa i kredytowa na koncie w bazie danych.

    Signup and view all the flashcards

    Plik dziennika

    Rejestruje zmiany w bazie danych oraz stany transakcji.

    Signup and view all the flashcards

    Punkty kontrolne

    Moment zapisu buforowanych aktualizacji na dysk.

    Signup and view all the flashcards

    Zwrot (UNDO)

    Proces przywracania stanu przed operacją w przypadku błędu.

    Signup and view all the flashcards

    Strategia zapisu dziennika do przodu

    Rejestruje zmiany w dzienniku przed zapisaniem na dysku.

    Signup and view all the flashcards

    Awaria transakcji

    Błąd występujący podczas operacji w ramach transakcji.

    Signup and view all the flashcards

    Awaria systemu

    Problemy z systemem operacyjnym lub bazą danych.

    Signup and view all the flashcards

    Odtwarzanie systemu

    Proces przywracania systemu po awarii.

    Signup and view all the flashcards

    Harmonogramowanie pesymistyczne

    Typ harmonogramowania, gdzie blokowanie ogranicza jednoczesne wykonanie transakcji.

    Signup and view all the flashcards

    Harmonogramowanie optymistyczne

    Typ harmonogramowania, gdzie blokowanie służy do wykrywania konfliktów transakcji.

    Signup and view all the flashcards

    Znacznik czasowy

    Atrybuty związane z obiektem bazy danych, wymuszające odpowiednią kolejność operacji.

    Signup and view all the flashcards

    Blokada na wyłączność

    Typ blokady, który daje jednej transakcji wyłączne prawo do obiektu bazy danych.

    Signup and view all the flashcards

    Blokada współdzielona

    Typ blokady, który pozwala innym transakcjom na odczyt obiektu, ale nie na jego edycję.

    Signup and view all the flashcards

    Menedżer blokad

    Osoba lub proces zarządzający przyznawaniem i zwalnianiem blokad.

    Signup and view all the flashcards

    Protokół dwufazowego blokowania (2PL)

    Zbiór reguł dotyczących udzielania blokad w bazie danych w dwóch fazach.

    Signup and view all the flashcards

    Zakleszczenie

    Sytuacja, w której dwie lub więcej transakcji nie mogą kontynuować z powodu blokad.

    Signup and view all the flashcards

    Statyczne 2PL

    Protokół, w którym transakcja zdobywa wszystkie blokady na początku.

    Signup and view all the flashcards

    Graf oczekiwań

    Struktura przedstawiająca aktywne transakcje i ich zależności w blokadach.

    Signup and view all the flashcards

    Cykl w grafie oczekiwań

    Sytuacja, w której występuje cykl w grafie oczekiwań, wskazujący na zakleszczenie.

    Signup and view all the flashcards

    Poziomy izolacji

    Różne stopnie izolacji transakcji wpływające na ich współbieżność i bezpieczeństwo.

    Signup and view all the flashcards

    Blokada długoterminowa

    Blokada utrzymywana przez dłuższy czas, aż do zatwierdzenia transakcji.

    Signup and view all the flashcards

    Blokada krótkoterminowa

    Blokada utrzymywana tylko w czasie jednego działania, do jego zakończenia.

    Signup and view all the flashcards

    Niezatwierdzony odczyt

    Najniższy poziom izolacji, nie kontroluje długoterminowych blokad.

    Signup and view all the flashcards

    Niepowtarzalny odczyt

    Występuje, gdy ta sama wartość jest odczytywana wielokrotnie z różnymi wynikami.

    Signup and view all the flashcards

    Odczyt fantomów

    Dzieje się, gdy transakcja wstawia lub usuwa wiersze, które były odczytywane przez inną transakcję.

    Signup and view all the flashcards

    Harmonogram

    Zbiór n transakcji z sekwencyjnym uporządkowaniem ich instrukcji.

    Signup and view all the flashcards

    Harmonogram szeregowy

    Harmonogram, w którym instrukcje tej samej transakcji są wykonywane kolejno.

    Signup and view all the flashcards

    Kolejność instrukcji

    Zasada, że instrukcje w transakcji muszą być wykonane w tej samej kolejności, co w harmonogramie.

    Signup and view all the flashcards

    Równoważność harmonogramów

    Dwa harmonogramy są równoważne, jeśli zachowują tę samą kolejność odczytów i zapisów.

    Signup and view all the flashcards

    Sekwencyjność

    Cecha harmonogramu, gdzie instrukcje transakcji są wykonywane jedna po drugiej.

    Signup and view all the flashcards

    Zidentyfikowanie operacji

    Określenie operacji read oraz write w harmonogramie jako kluczowych dla równoważności.

    Signup and view all the flashcards

    Transakcja T1

    Pierwsza z transakcji w zdefiniowanym harmonogramie.

    Signup and view all the flashcards

    Sumowanie transakcji

    Proces dodawania wartości, wynikający z operacji na transakcjach.

    Signup and view all the flashcards

    Read Committed

    Poziom izolacji, który używa długoterminowych blokad zapisu, a krótkoterminowych blokad odczytu.

    Signup and view all the flashcards

    Utracona aktualizacja

    Problem występujący, gdy dwie transakcje aktualizują ten sam wiersz, a jedna z aktualizacji zostaje utracona.

    Signup and view all the flashcards

    Powtarzalne odczyty

    Poziom izolacji, który pozwala na wielokrotne odczytywanie tego samego wiersza bez zakłócania przez inne transakcje.

    Signup and view all the flashcards

    Odczyty fantomowe

    Problem występujący, gdy nowe wiersze są dodawane przez inne transakcje między odczytami.

    Signup and view all the flashcards

    Serializowalny

    Najwyższy poziom izolacji, który zapobiega problemom ze współbieżnością, w tym odczytom fantomowym.

    Signup and view all the flashcards

    Przykłady blokad

    Może być to krotka, kolumna, tabela lub inny obiekt bazy danych do blokowania.

    Signup and view all the flashcards

    Izolacja Transakcji

    Zapewnia, że transakcje są oddzielone od siebie, eliminując skutki wpływające na inne transakcje.

    Signup and view all the flashcards

    Analiza niespójności

    Problem występujący, gdy wyniki mogą być różne z powodu zmieniających się danych w czasie trwania transakcji.

    Signup and view all the flashcards

    Study Notes

    Plan

    • Transakcje, odtwarzanie i kontrola współbieżności
    • Transakcje i zarządzanie transakcjami
    • Odtwarzanie
    • Kontrola współbieżności
    • Własności ACID transakcji

    Transakcje, odtwarzanie i kontrola współbieżności

    • Większość baz danych dla wielu użytkowników (multi user databases)
    • Równoczesny dostęp do tych samych danych może powodować różnego rodzaju anomalie
    • Błędy mogą wystąpić w DBMS lub jego środowisku
    • DBMS musi wspierać własności ACID (Atomicity, Consistency, Isolation, Durability)

    Transakcje, odtwarzanie i kontrola współbieżności

    • Transakcja: zbiór operacji bazy danych wywoływana przez pojedynczego użytkownika lub aplikację, którą można traktować jako jedną niepodzielną jednostkę pracy
    • np. transfer między dwoma rachunkami bankowymi
    • Transakcja powinna zawsze zakończyć się sukcesem lub niepowodzeniem w całości
    • Transakcja przenosi bazę danych z jednego stanu spójnego w inny stan spójny

    Rodzaje błędów i odtwarzanie

    • Rodzaje błędów: awaria dysku twardego, awaria aplikacji/DBMS, dzielenie przez 0, ...
    • Odtwarzanie: działanie polegające na zapewnieniu, że niezależnie od problemu, baza danych zostanie przywrócona do spójnego stanu bez późniejszej utraty danych

    Kontrola współbieżności

    • Koordynacja transakcji, które są realizowane jednocześnie na tych samych danych, tak aby nie powodowały niespójności w danych z powodu wzajemnej ingerencji

    Transakcje i zarządzanie transakcjami

    • Określanie transakcji i cyklu życia transakcji
    • Komponenty DBMS zaangażowane w zarządzanie transakcjami
    • Plik dziennika

    Określanie transakcji i cyklu życia transakcji

    • Granice transakcji można określić niejawnie lub jawnie
    • jawnie: begin_transaction and end_transaction
    • niejawnie: pierwsza wykonywalna instrukcja SQL
    • Po wykonaniu pierwszej operacji transakcja jest aktywna
    • Jeśli transakcja zakończyła się pomyślnie, można ją zatwierdzić (committed). Jeżeli nie – należy ją wycofać (rolled back).

    Komponenty DBMS zaangażowane w zarządzanie transakcjami

    • Schemat komponentów DBMS wraz z ich funkcjami

    Plik dziennika

    • Plik dziennika rejestruje unikalny numer sekwencji dziennika, unikalny identyfikator transakcji, oznaczenie początku transakcji wraz z czasem, czy transakcja jest do odczytu czy zapisu. Identyfikatory rekordów bazy danych zaangażowanych w transakcję oraz operacje na nich. Obrazy przed i po (before images, after images) rekordów i aktualny stan transakcji(active, committed or aborted).
    • Plik dziennika może zawierać punkty kontrolne (checkpoints).
    • Strategia zapisu dziennika do przodu (write ahead log).

    Odtwarzanie

    • Rodzaje awarii: awaria transakcji, awaria systemu, awaria nośników
    • Awaria transakcji wynika z błędu w logice operacji lub aplikacji
    • Awaria systemu występuje, gdy zawiesi się system operacyjny lub baza danych
    • Awaria nośnika występuje, gdy uszkodzona lub niedostępna jest dodatkowa pamięć masowa

    Odtwarzanie systemu

    • W przypadku awarii systemu 2 rodzaje transakcji:
    • osiągnęły już stan zatwierdzenia przed awarią
    • nadal w stanie aktywnym
    • Plik dziennika jest niezbędny, aby uwzględnić, które aktualizacje zostały wykonane przez które transakcje (i kiedy) oraz śledzić obrazy przed i po, potrzebne do UNDO i REDO.
    • Strategia opróżniania bufora bazy danych ma wpływ na UNDO i REDO

    Odtwarzanie systemu

    • Schemat odtwarzania systemu, wliczając w to punkty kontrolne (checkpoints), oraz momenty czasowe (time points) różnych zdarzeń jak np. awaria systemu.

    Odtwarzanie nośników

    • Odzyskiwanie nośników polega na pewnym typie nadmiarowości danych (offline, online)
    • Kompromis między kosztami utrzymania nadmiarowych danych a czasem potrzebnym do przywrócenia systemu
    • Dwa rodzaje: mirroring dysku i archiwizacja
    • Opis mirroring dysku i archiwizacji

    Kontrola współbieżności

    • Typowe problemy ze współbieżnością(problemy z interferencją, problem utraconej aktualizacji (utrata zmian), problem niezatwierdzonych zależności, problem analizy niespójności)
    • Harmonogramy i harmonogramy seryjne
    • Serializowalne harmonogramy
    • Optymistyczne i pesymistyczne harmonogramy
    • Blokowania i protokoły blokowania
    • Szczegółowe opisy typowych problemów z interferencją

    Harmonogramy i harmonogramy szeregowe

    • Definicja harmonogramu S jako zbioru n transakcji I sekwencyjne uporządkowanie instrukcji tych transakcji.
    • Harmonogram S jest szeregowy, jeżeli wszystkie instrukcje s tej samej transakcji T są zaplanowane kolejno bez przeplotu z instrukcjami z innej transakcji.

    Harmonogramy szeregowalne

    • Harmonogram jest szeregowalny jeżeli jest równoważny harmonogramowi sekwencyjnemu.
    • Warunki harmonogramu szeregowalnego.
    • Graf pierwszeństwa do testowania harmonogramu pod kątem szeregowalności

    Harmonogramy optymistyczne i pesymistyczne

    • Protokół optymistyczny - konflikty między równoległymi transakcjami są rzadkie, operacje transakcji są planowane bez opóźnień. Gdy transakcja jest gotowa do zatwierdzenia, weryfikowana jest pod kątem konfliktów, jeśli nie ma konfliktów, transakcja jest zatwierdzona.
    • Protokół pesymistyczny - jest prawdopodobne, że transakcje będą kolidować i powodować konflikty. Realizacja operacji transakcyjnych opóźniona do czasu, gdy scheduler będzie mógł je zaplanować w taki sposób, aby zminimalizować ryzyko konfliktów
    • Blokowanie może być używane do harmonogramowania optymistycznego i pesymistycznego; Pesymistyczne i optymistyczne harmonogramowanie; Znacznik czasowy (timestamping)

    Blokowanie i protokoły blokowania

    • Cele blokowania
    • Protokół dwufazowego blokowania (Two-Phase Locking Protocol – 2PL)
    • Kaskadowe wycofywania (Cascading Rollbacks)
    • Radzenie sobie z zakleszczeniami (Deadlocks)
    • Poziomy izolacji
    • Ziarnistość blokad
    • Szczegółowe opisy, w tym opisy szczegółowe poszczególnych typów protokołów takich jak 2PL

    Cele blokowania

    • Zapewnienie, że w sytuacjach, w których wiele współbieżnych transakcji próbuje uzyskać dostęp do tego samego obiektu bazy danych, dostęp jest udzielany w sposób, aby nie mogły wystąpić konflikty
    • Opis blokad na wyłączność (exclusive lock) i blokad współdzielonych (shared lock)
    • Opis macierzy kompatybilności

    Protokół dwufazowego blokowania (2PL)

    • Protokół 2PL działa w następujący sposób:
    • Zanim transakcja będzie mogła odczytać obiekt, powinna uzyskać odpowiednią blokadę
    • Menadżer blokad określa czy można przyznać żądane blokady
    • Uzyskiwanie i zwalnianie blokad odbywa się w dwóch fazach: faza wzrostu i faza zmniejszania

    Protokół dwufazowego blokowania (2PL)

    • Warianty: Rygorystyczny 2PL i Statyczny 2PL (Zachowawczy 2PL)
    • Schematy graficzne ilustrujące działanie różnych wariantów 2PL

    Problem utraconej aktualizacji z blokowaniem

    • Problem utraconej aktualizacji w kontekście blokowania i 2PL

    Problem niezatwierdzonych zależności z blokowaniem

    • Problem niezatwierdzonych zależności w kontekście blokowania

    Kaskadowe wycofywania

    • Problem kaskadowych wycofywań, jego powiązanie z problemem niezatwierdzonych zależności, i sposoby rozwiązywania tego.

    Radzenie sobie z zakleszczeniami

    • Zapobieganie zakleszczeniom (deadlocks) poprzez statyczne 2PL
    • Wykrywanie zakleszczeń za pomocą grafów oczekiwań (wait for graph)

    Poziomy izolacji

    • Niezatwierdzony odczyt (Read uncommitted)
    • Odczyt zatwierdzonych danych (Read committed)
    • Powtarzalne odczyty (Repeatable read)
    • Serializowalny (Serializable)
    • Opis i porównanie poszczególnych poziomów izolacji. Opis potencjalnych problemów związanych z izolacja

    Ziarnistość blokad

    • Obiekt bazy danych do blokowania może być krotką, kolumną, tabelą, blokiem dysku itp.
    • Kompromis między kosztem blokowania, a przepustowością transakcji.
    • Protokół wielokrotnej ziarnistości (Multiple Granularity Locking – MGL)

    Własności ACID transakcji

    • Atomowość (Atomicity), Spójność (Consistency), Izolacja (Isolation), Trwałość (Durability)
    • Szczegółowe opisy tych własności, wliczając w to, co się dzieje gdy transakcja nie zakończy się pomyślnie

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Wykład11 PDF

    Description

    Ten quiz sprawdza wiedzę na temat mechanizmów zarządzania bazami danych, szczególnie w kontekście transakcji ACID. Zawiera pytania o przywracanie danych po błędach, kontrolę współbieżności oraz cechy transakcji. Sprawdź, jak dobrze znasz te kluczowe koncepcje związane z bazami danych.

    More Like This

    Database Transactions Overview
    12 questions

    Database Transactions Overview

    BlamelessTanzanite1386 avatar
    BlamelessTanzanite1386
    Database Transactions and Concurrency Quiz
    12 questions
    ACID Properties in Databases
    34 questions

    ACID Properties in Databases

    HardierConsonance3534 avatar
    HardierConsonance3534
    Unit V: Database Transaction Management
    45 questions
    Use Quizgecko on...
    Browser
    Browser