Harmonogramowanie i zarządzanie transakcjami

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

Który z poniższych elementów nie jest obecny w grafie pierwszeństwa używanym do testowania szeregowalności harmonogramu?

  • Węzeł reprezentujący każdą transakcję.
  • Krawędź skierowana od Ti do Tj, jeśli Tj zapisuje wartość po przeczytaniu jej przez Ti.
  • Krawędź skierowana od Ti do Tj, jeśli Tj czyta wartość zapisaną przez Ti.
  • Krawędź skierowana od Ti do Tj, jeśli Tj zapisuje wartość po usunięciu jej przez Ti. (correct)

Co oznacza obecność cyklu w grafie pierwszeństwa?

  • Harmonogram jest szeregowalny, ponieważ transakcje są wykonywane w kolejności zdefiniowanej w cyklu.
  • Harmonogram jest szeregowalny, ponieważ cykl reprezentuje prawidłową kolejność zapisu i odczytu danych.
  • Harmonogram **nie** jest szeregowalny, ponieważ cykl oznacza konflikt między transakcjami, który narusza spójność danych. (correct)
  • Obecność cyklu w grafie pierwszeństwa nie jest istotna dla szeregowalności harmonogramu.

Który z poniższych protokołów harmonogramowania jest bardziej optymistyczny?

  • Protokół pesymistyczny.
  • Oba protokoły są równie optymistyczne.
  • Nie ma możliwości określenia optymizmu protokołów harmonogramowania.
  • Protokół optymistyczny. (correct)

W jakiej sytuacji protokół pesymistyczny może prowadzić do zmniejszenia przepustowości?

<p>Kiedy często występują konflikty między transakcjami. (B)</p> Signup and view all the answers

Jak można scharakteryzować protokół pesymistyczny w kontekście harmonogramowania?

<p>Powolny, ale bezpieczny. (B)</p> Signup and view all the answers

Które z poniższych operacji NIE są rejestrowane w pliku dziennika?

<p>Zmiany konfiguracji bazy danych (D)</p> Signup and view all the answers

Które z poniższych działań jest realizowane w przypadku awarii systemu?

<p>Wszystkie powyższe (A)</p> Signup and view all the answers

Co to jest punkt kontrolny (checkpoint) w kontekście pliku dziennika?

<p>Moment, w którym wszystkie aktualizacje w buforze bazy danych są zapisywane na dysk (D)</p> Signup and view all the answers

Jaki jest cel 'before images' w pliku dziennika?

<p>Zarówno A, jak i B (A)</p> Signup and view all the answers

Które z poniższych stwierdzeń dotyczących strategii zapisu do przodu (write ahead log) jest fałszywe?

<p>Strategia ta zapewnia zwiększoną szybkość wykonywania transakcji. (A)</p> Signup and view all the answers

Który z poniższych typów awarii nie wymaga odtwarzania danych z pliku dziennika?

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

Jaki jest główny cel pliku dziennika w kontekście zarządzania transakcjami?

<p>Zapewnienie integralności danych w bazie danych (A)</p> Signup and view all the answers

Dlaczego plik dziennika jest niezbędny w zarządzaniu transakcjami?

<p>Zarówno A, jak i B (D)</p> Signup and view all the answers

Jaki jest wpływ strategii opróżniania bufora bazy danych na odtwarzanie systemu?

<p>Wpływa na czas potrzebny do odtwarzania danych po awarii (C)</p> Signup and view all the answers

Jakie są główne rodzaje awarii systemów baz danych?

<p>Awaria transakcji, awaria systemu, awaria nośnika (A)</p> Signup and view all the answers

Które z poniższych stwierdzeń nie jest prawdziwe w odniesieniu do protokołu 2PL (dwufazowego blokowania)?

<p>Transakcja może zwalniać blokady w dowolnym momencie podczas swojej fazy wzrostu. (B)</p> Signup and view all the answers

W rygorystycznym wariancie protokołu 2PL (Rigorous 2PL), kiedy transakcja zwalnia swoje blokady?

<p>Po pomyślnym zatwierdzeniu transakcji. (C)</p> Signup and view all the answers

Które z poniższych stwierdzeń najlepiej opisuje zaletę statycznego 2PL (Static 2PL) nad rygorystycznym 2PL (Rigorous 2PL)?

<p>Statyczny 2PL jest bardziej wydajny, ponieważ transakcja nie musi czekać na dostępność wszystkich blokad, zanim rozpocznie przetwarzanie. (C)</p> Signup and view all the answers

Problem "utraconej aktualizacji" (Lost Update Problem) występujący przy blokowaniu, wynika z:

<p>Odczytu danych przez jedną transakcję i ich zapisu przez drugą bez żadnych blokad. (B)</p> Signup and view all the answers

Jaki jest podstawowy problem związany z "niezatwierdzonymi zależnościami" (Uncommitted Dependency Problem) w kontekście blokowania?

<p>Jedna transakcja może odczytać dane zaktualizowane przez inną transakcję, która później zostanie wycofana. (C)</p> Signup and view all the answers

Kaskadowe wycofywanie (Cascading Rollback) jest stosowane, aby rozwiązać problem:

<p>Niezatwierdzonych zależności (Uncommitted Dependency Problem). (D)</p> Signup and view all the answers

Które z poniższych stwierdzeń najlepiej opisuje, kiedy kaskadowe wycofywanie jest konieczne?

<p>Kiedy transakcja wycofuje się po odczytaniu danych zmienionych przez inną transakcję, która później również zostanie wycofana. (C)</p> Signup and view all the answers

Jaki jest główny minus kaskadowego wycofywania?

<p>Może być czasochłonne. (C)</p> Signup and view all the answers

Które z poniższych działań najlepiej zapobiega kaskadowemu wycofywaniu?

<p>Używanie tylko rygorystycznego 2PL. (C)</p> Signup and view all the answers

Który z poniższych protokołów blokowania najlepiej radzi sobie z problemem "niezatwierdzonych zależności"?

<p>Rygorystyczny 2PL. (A)</p> Signup and view all the answers

Jeśli transakcja T1 uzyskuje wyłączną blokadę na obiekt A, a transakcja T2 próbuje uzyskać współdzieloną blokadę na ten sam obiekt A, co się stanie?

<p>T2 otrzyma błąd i zostanie zablokowana, dopóki T1 nie zwolni blokady. (C)</p> Signup and view all the answers

Które z poniższych stwierdzeń nie jest prawdziwe w odniesieniu do "zagłodzenia" (Starvation) w kontekście zarządzania blokadami?

<p>Zagłodzenie jest rodzajem zakleszczenia. (C)</p> Signup and view all the answers

Jakie są dwa główne warianty protokołu 2PL?

<p>Rygorystyczny i statyczny. (A)</p> Signup and view all the answers

Jaki jest główny powód używania tabeli blokad przez menadżera blokad?

<p>Wszystkie powyższe. (D)</p> Signup and view all the answers

W jakim przypadku "uczciwość" (fairness) w planowaniu transakcji jest szczególnie ważna?

<p>W przypadku zastosowania kaskadowego wycofywania. (D)</p> Signup and view all the answers

Które z poniższych stwierdzeń najlepiej opisuje problem zakleszczenia (Deadlock)?

<p>Dwie lub więcej transakcji czekają na siebie nawzajem, aby zwolnić blokady. (A)</p> Signup and view all the answers

Co oznacza atomowość (Atomicity) w kontekście transakcji?

<p>Transakcja jest niepodzielną jednostką pracy. (C)</p> Signup and view all the answers

Jaką odpowiedzialność posiada deweloper w kontekście spójności (Consistency) transakcji?

<p>Odpowiada za przekształcenie bazy danych z jednego spójnego stanu w inny. (D)</p> Signup and view all the answers

Izolacja (Isolation) w transakcjach oznacza, że:

<p>Wynik powinien być taki sam, jak gdyby każda transakcja była wykonywana oddzielnie. (C)</p> Signup and view all the answers

Które z poniższych stwierdzeń opisuje trwałość (Durability) transakcji?

<p>Skutki zatwierdzonej transakcji są zawsze zapisywane na stałe w bazie danych. (C)</p> Signup and view all the answers

Jak powinny być zwalniane blokady według protokołu MGL?

<p>Z dołu do góry. (B)</p> Signup and view all the answers

Co powoduje zakleszczenie w systemie transakcji?

<p>Kiedy dwie lub więcej transakcji czeka na zwolnienie blokad. (A)</p> Signup and view all the answers

Jak można zapobiec zakleszczeniu w systemie transakcji?

<p>Stosując statyczne 2PL, gdzie transakcja uzyskuje wszystkie blokady na początku. (A)</p> Signup and view all the answers

Czym jest graf oczekiwań w kontekście zakleszczeń?

<p>Składa się z aktywnych transakcji i wskazuje na zależności między nimi. (C)</p> Signup and view all the answers

Jakie są cechy blokady długoterminowej?

<p>Przyznawana i zwalniana zgodnie z protokołem przez dłuższy czas. (D)</p> Signup and view all the answers

Który poziom izolacji jest najniższy i nie uwzględnia długoterminowych blokad?

<p>Niezatwierdzony odczyt (Read uncommitted) (D)</p> Signup and view all the answers

Jakie konsekwencje wiążą się z użyciem krótkoterminowych blokad?

<p>Naruszenie reguły 3 protokołu 2PL. (D)</p> Signup and view all the answers

Dlaczego ograniczona ilość inferencji może być akceptowalna w systemach transakcji?

<p>Ponieważ zwiększa przepustowość systemu. (C)</p> Signup and view all the answers

Co wykazuje obecność cyklu w grafie oczekiwań?

<p>Potencjalne wystąpienie zakleszczenia. (C)</p> Signup and view all the answers

Jakie są główne zalety stosowania protokołu wielokrotnej ziarnistości (MGL)?

<p>Umożliwia hierarchiczne zarządzanie blokadami (C)</p> Signup and view all the answers

Który z wymienionych typów blokad koliduje tylko z blokadami wyłącznymi (x-lock)?

<p>is-lock (D)</p> Signup and view all the answers

Która reguła musi być spełniona, aby transakcja mogła uzyskać s-lock na obiekcie x?

<p>Należy uzyskać ix-lock lub six-lock na rodzicu x (C)</p> Signup and view all the answers

Jakie ograniczenie wprowadza protokół MGL dla dodatkowych blokad?

<p>Muszą być uzyskane po zwolnieniu istniejącej blokady (B)</p> Signup and view all the answers

Jakie jest zadanie blokady intencyjnej do zapisu (ix-lock)?

<p>Koliduje z x-lock i s-lock (D)</p> Signup and view all the answers

Jak powinny być umieszczane blokady intencji na większych ziarnistościach obiektów?

<p>Zanim uzyskają blokadę na obiekcie x (C)</p> Signup and view all the answers

Które blokady są w konflikcie ze wszystkimi innymi typami blokad, z wyjątkiem is-lock?

<p>six-lock (C)</p> Signup and view all the answers

Co stanowi główną cechę protokołu wielokrotnej ziarnistości w kontekście relacji między transakcjami?

<p>Zapewnia, że transakcje konfliktujące nie mogą uzyskać blokad w tej samej hierarchii (D)</p> Signup and view all the answers

Flashcards

Atomowość (Atomicity)

Zapewnia, że operacje w transakcji są traktowane jako jedna jednostka, niepodzielna.

Spójność (Consistency)

Transakcja przekształca bazę z jednego spójnego stanu w inny spójny stan.

Izolacja (Isolation)

Wiele transakcji działa tak, jakby były wykonywane oddzielnie.

Trwałość (Durability)

Efekty zatwierdzonej transakcji są trwale zapisywane w bazie.

Signup and view all the flashcards

Protokół MGL

Blokady są uzyskiwane top-down, a zwalniane bottom-up.

Signup and view all the flashcards

Zakleszczenie

Sytuacja, gdy 2 lub więcej transakcji czeka na zwolnienie swojego blokady.

Signup and view all the flashcards

Graf oczekiwań

Reprezentacja aktywnych transakcji jako węzłów i krawędzi Ti → Tj.

Signup and view all the flashcards

Cykl w grafie

Występuje, gdy graf oczekiwań zawiera zamkniętą pętlę, co oznacza zakleszczenie.

Signup and view all the flashcards

Rygorystyczne 2PL

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

Signup and view all the flashcards

Blokada długoterminowa

Blokada utrzymywana do czasu zatwierdzenia transakcji.

Signup and view all the flashcards

Blokada krótkoterminowa

Blokada utrzymywana tylko na czas potrzebny do zakończenia operacji.

Signup and view all the flashcards

Niezatwierdzony odczyt

Najniższy poziom izolacji, bez długoterminowych blokad.

Signup and view all the flashcards

Poziom izolacji

Stopień oddzielenia transakcji od siebie w systemie baz danych.

Signup and view all the flashcards

Aktualizacja salda

Polecenia SQL do debetu i kredytu na koncie.

Signup and view all the flashcards

Zarządzanie transakcjami

Komponent DBMS odpowiedzialny za realizację i kontrolę transakcji.

Signup and view all the flashcards

Plik dziennika

Rejestruje szczegóły transakcji, w tym identyfikatory i stany.

Signup and view all the flashcards

Punkty kontrolne

Moment, w którym aktualizacje są zapisywane na dysku z bufora.

Signup and view all the flashcards

Strategia zapisu dziennika do przodu

Wszystkie aktualizacje rejestrowane przed zapisaniem na dysku.

Signup and view all the flashcards

Rodzaje awarii

Awaria transakcji, systemu i nośnika.

Signup and view all the flashcards

Odtwarzanie systemu

Proces przywracania stanu po awarii systemu.

Signup and view all the flashcards

Obrazy przed (before images)

Stan rekordów bazy danych przed transakcją.

Signup and view all the flashcards

Obrazy po (after images)

Stan rekordów baz danych po zmianach w transakcji.

Signup and view all the flashcards

Strategia UNDO / REDO

Reguła dotycząca działania w przypadku błędów lub przywracania stanu.

Signup and view all the flashcards

Ziarnistość blokad

Poziom szczegółowości, z jakim obiekty są blokowane w procesie zarządzania transakcjami.

Signup and view all the flashcards

is-lock

Intencyjna blokada do odczytu, kolidująca tylko z x-locks.

Signup and view all the flashcards

ix-lock

Intencyjna blokada do zapisu, konfliktująca z x-locks i s-locks.

Signup and view all the flashcards

six-lock

Dzielona i intencyjna blokada wyłączna, konfliktująca ze wszystkimi poza is-lock.

Signup and view all the flashcards

Hierarchiczne blokowanie

Mechanizm przydzielania blokad na poziomie hierarchicznym zgodnie z zasadami MGL.

Signup and view all the flashcards

Kompatybilność w macierzy

Zasady dotyczące tego, które blokady mogą współistnieć w tym samym czasie.

Signup and view all the flashcards

Zasady uzyskiwania blokad

Warunki, które muszą być spełnione, aby uzyskać różne typy blokad w hierarchii.

Signup and view all the flashcards

Graf pierwszeństwa

Reprezentacja transakcji w postaci węzłów i krawędzi, używana do testowania szeregowalności.

Signup and view all the flashcards

Harmonogram nie szeregowalny

Harmonogram, który zawiera cykl w grafie pierwszeństwa, co oznacza, że transakcje nie mogą być uporządkowane.

Signup and view all the flashcards

Protokół optymistyczny

Strategia harmonogramowania, zakładająca rzadkie konflikty, gdzie transakcje są planowane bez opóźnień.

Signup and view all the flashcards

Protokół pesymistyczny

Strategia harmonogramowania, gdzie zakłada się wysokie ryzyko konfliktów, opóźniając operacje dla ich minimalizacji.

Signup and view all the flashcards

Planowanie transakcji

Proces ustalania kolei działań transakcji, mający na celu uniknięcie konfliktów i zapewnienie efektywności.

Signup and view all the flashcards

Menadżer blokad

Osoba odpowiedzialna za zarządzanie blokadami w transakcjach.

Signup and view all the flashcards

Protokół dwufazowego blokowania (2PL)

Metoda blokowania, która obejmuje fazę wzrostu i fazę zmniejszania.

Signup and view all the flashcards

Faza wzrostu

Pierwsza część 2PL, w której można uzyskiwać blokady, ale nie zwalniać.

Signup and view all the flashcards

Faza zmniejszania

Druga część 2PL, w której blokady są zwalniane, ale nie można zdobywać nowych.

Signup and view all the flashcards

Statyczny 2PL

Wariant 2PL, w którym transakcja uzyskuje wszystkie blokady na początku.

Signup and view all the flashcards

Problem utraconej aktualizacji

Zdarzenie, w którym zmiany dokonane przez jedną transakcję są nadpisywane przez inną.

Signup and view all the flashcards

Problem niezatwierdzonych zależności

Ta sytuacja występuje, gdy jedna transakcja zależy od danych zmienionych przez inną, która nie została zatwierdzona.

Signup and view all the flashcards

Kaskadowe wycofywanie

Proces wycofywania transakcji, które zależą od danych z innych niezatwierdzonych transakcji.

Signup and view all the flashcards

Czas w transakcji

Okno, w którym transakcje zaczynają i kończą swoje operacje.

Signup and view all the flashcards

Blokada wyłączająca (x-lock)

Rodzaj blokady stosowanej do zabezpieczenia dostępu do danych w czasie aktualizacji.

Signup and view all the flashcards

Transakcja

Zestaw operacji wykonanych jako jedno logiczne zadanie.

Signup and view all the flashcards

Commit

Operacja, która zatwierdza zmiany dokonane w transakcji.

Signup and view all the flashcards

Rollback

Operacja, która cofa wszystkie zmiany dokonane w 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 przeznaczonych dla wielu użytkowników (multi user databases)
  • Równoczesny dostęp do tych samych danych może powodować 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 to zbiór operacji bazy danych wywoływany przez użytkownika lub aplikację, traktowany jako jedna niepodzielna jednostka pracy (np. transfer między rachunkami bankowymi)
  • Transakcja powinna zakończyć się sukcesem lub niepowodzeniem w całości
  • Transakcja przenosi bazę danych ze stanu spójnego do innego stanu spójnego

Rodzaje błędów

  • Awaria dysku twardego
  • Awaria aplikacji/DBMS
  • Dzielenie przez 0
  • Inne błędy

Odtwarzanie

  • działanie polegające na przywróceniu bazy danych do spójnego stanu po awarii bez utraty danych, niezależnie od źródła problemu
  • Awaria transakcji z błędów logicznych
  • Awaria systemu operacyjnego
  • Awaria nośnika

Odtwarzanie systemu

  • W przypadku awarii systemu występują dwa rodzaje transakcji: te, które osiągnęły zatwierdzenie i te, które są nadal aktywne.
  • Plik dziennika jest niezbędny do uwzględnienia aktualizacji i śledzenia zmian, do odtworzenia stanu bazy danych przy użyciu operacji UNDO i REDO.
  • Strategia opróżniania bufora bazy danych wpływa na operacje UNDO i REDO

Odtwarzanie systemu (graf)

  • Punkt kontrolny (checkpoint) oznacza moment opróżnienia bufora przez menadżera bufora bazy danych na dysk.
  • W przypadku awarii systemowej, operacje REDO i UNDO umożliwiają odtworzenie bazy danych do ostatniego punktu kontrolnego.

Odtwarzanie nośników

  • Odzyskiwanie nośników opiera się na pewnym typie nadmiarowości danych
  • Dwa rodzaje odzyskiwania nośników: mirroring dysku i archiwizacja
  • Kompromis między kosztami utrzymania danych a czasem potrzebnym na przywrócenie systemu

Mirroring dysku

  • podejście w czasie rzeczywistym, w którym dane są zapisywane na dwóch dyskach
  • ograniczony czas przełączania awaryjnego, ale droższe niż archiwizacja
  • negatywny wpływ na wydajność zapisu, ale możliwość równoległego dostępu do odczytu

Archiwizacja

  • okresowe kopiowanie danych na inne nośniki (np. taśma, dysk twardy).
  • kompromis między częstotliwością kopii zapasowych a kosztem utraty danych
  • pełna lub przyrostowa kopia zapasowa

Kontrola współbieżności

  • Typowe problemy z interferencją w współbieżności.
  • Harmonogramy i harmonogramy seryjne
  • Harmonogramy serializowalne
  • Harmonogramy optymistyczne i pesymistyczne
  • Blokowania i protokoły blokowania

Typowe problemy ze współbieżnością

  • Scheduler odpowiada za planowanie wykonywania transakcji i ich operacji.
  • Proste wykonanie seryjne byłoby bardzo nieefektywne.
  • Scheduler zapewnia, że operacje transakcji mogą być wykonywane z przeplotem.
  • Problem utraconej aktualizacji: udana aktualizacja danych przez transakcję jest nadpisywana przez inną transakcję, która nie była świadoma pierwszej aktualizacji.

Typowe problemy ze współbieżnością - kontynuacja

  • Problem niezatwierdzonych zależności (uncommitted dependency problem/dirty read problem): Transakcja odczytuje dane, które są aktualizowane przez inną, wciąż niezatwierdzoną transakcję.
  • Problem analizy niespójności (incosistent analysis problem): Transakcja odczytuje częściowe wyniki innej transakcji, która równolegle działa na tych samych danych.
  • Niepowtarzalny odczyt (nonrepeatable read): Transakcja odczytuje ten sam wiersz wiele razy, ale uzyskuje różne wartości, ponieważ inna transakcja zaktualizowała ten wiersz w międzyczasie.
  • Odczyt fantomów (phantom reads): Transakcja wykonuje operacje na wstawieniach lub usunięciach wierszy odczytanych przez inną transakcję.

Harmonogramy i harmonogramy szeregowe

  • Definiowanie harmonogramu S jako zbioru n transakcji i sekwencyjne uporządkowanie instrukcji tych transakcji. Własność: instrukcja s₁ poprzedzająca s₂ w T musi nastąpić przed s₂ w S.

Harmonogramy szeregowalne

  • Harmonogram S jest szeregowy, jeżeli wszystkie instrukcje samej transakcji T są zaplanowane kolejno bez przeplotu z instrukcjami z innej transakcji. Szeregowe harmonogramy uniemożliwiają równoległe wykonywanie transakcji. Potrzeba nieszeregowych poprawnych harmonogramów.

Harmonogramy szeregowalne (graf pierwszeństwa)

  • Graf pierwszeństwa do testowania harmonogramu pod kątem szeregowalności: węzły dla transakcji, krawędzie (T1 → T2) jeśli T2 odczytuje/zapisuje po zapisaniu przez T1. Cykl w grafie oznacza nieszeregowalność.

Harmonogramy optymistyczne i pesymistyczne

  • Scheduler wykorzystuje protokół harmonogramowania. Protokoły: optymistyczny i pesymistyczny.
  • Protokuł optymistyczny: konflikty rzadkie, operacje transakcji planowane bez opóźnień, weryfikacja konfliktów po zakończeniu transakcji.
  • Protokuł pesymistyczny: konflikty prawdopodobne, operacje opóźnione do czasu możliwej kompatybilności

Blokowanie i protokoły blokowania

  • Cele blokowania, Two-Phase Locking Protocol (2PL), Kaskadowe wycofywania (Cascading Rollbacks), Radzenie sobie z zakleszczeniami (Deadlocks), Poziomy izolacji, Ziarnistość blokad
  • Blokada na wyłączność (x-lock) i współdzielona (s-lock). Macierz kompatybilności

Protokół dwufazowego blokowania (2PL)

  • Protokół 2PL: faza wzrostu (uzyskiwanie blokad), faza zmniejszania (zwalnianie blokad). Rygorystyczny i Statyczny 2PL

Protokół dwufazowego blokowania (2PL) - problemy

  • Problem utraconej aktualizacji i niezatwierdzonych zależności z blokowaniem. Ilustracja z przykładami i tabelami przedstawiające problem.

Kaskadowe wycofywania

  • Problemy z niezatwierdzonymi zależnościami.
  • Algorytmy radzenia sobie z nimi w protokole 2PL

Radzenie sobie z zakleszczeniami

  • Zapobieganie zakleszczeniom za pomocą statycznego 2PL.
  • Wykrywanie i rozwiązywanie zakleszczeń (graf oczekiwań).

Poziomy izolacji

  • Niezatwierdzony odczyt (Read uncommited)
  • Odczyt zatwierdzonych danych (Read committed)
  • Powtarzalne odczyty (Repeatable read)
  • Serializowalny (Serializable)
  • Tabela porównawcza poziomów izolacji

Ziarnistość blokad

  • Wielkość blokowanych obiektów (krotka, kolumna, tabela), kompromis między kosztem blokowania a wydajnością transakcji w wielu DBMS. Protokół wielokrotnej ziarnistości (MGL)

Ziarnistość blokad (kontynuacja)

  • Protokół MGL wprowadza dodatkowe blokady intencyjne (is-lock, ix-lock, itd) dla skoordynowanego dostępu do różnych poziomów ziarnistości. Tabela kompatybilności dla MGL.

Własności ACID transakcji

  • Atomicity (atomowość), Consistency (spójność, utrzymanie spójnego stanu bazy danych), Isolation (izolacja, oddzielność transakcji), Durability (trwałość, wynik transakcji na stałe w bazie danych).

Studying That Suits You

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

Quiz Team

Related Documents

Wykład11 PDF

More Like This

Use Quizgecko on...
Browser
Browser