Podcast
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?
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?
Które z poniższych stwierdzeń najlepiej opisuje pojęcie transakcji w kontekście baz danych?
Które z poniższych stwierdzeń najlepiej opisuje pojęcie transakcji w kontekście baz danych?
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?
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?
W jaki sposób kontrola współbieżności wpływa na działanie bazy danych?
W jaki sposób kontrola współbieżności wpływa na działanie bazy danych?
Signup and view all the answers
Jakiego typu błędy mogą wystąpić w środowisku DBMS, które wymagają mechanizmu odtwarzania?
Jakiego typu błędy mogą wystąpić w środowisku DBMS, które wymagają mechanizmu odtwarzania?
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?
Które z poniższych stwierdzeń najlepiej opisuje pojęcie „spójności” w kontekście cech ACID transakcji?
Signup and view all the answers
Jakie są dwa sposoby określania granic transakcji?
Jakie są dwa sposoby określania granic transakcji?
Signup and view all the answers
Co to jest plik dziennika w kontekście zarządzania transakcjami?
Co to jest plik dziennika w kontekście zarządzania transakcjami?
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?
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?
Signup and view all the answers
Jaki jest główny problem, który rozwiązuje poziom izolacji Read commited?
Jaki jest główny problem, który rozwiązuje poziom izolacji Read commited?
Signup and view all the answers
Który poziom izolacji zapewnia, że transakcja może wielokrotnie odczytywać ten sam wiersz bez ingerencji innych transakcji?
Który poziom izolacji zapewnia, że transakcja może wielokrotnie odczytywać ten sam wiersz bez ingerencji innych transakcji?
Signup and view all the answers
Który z poniższych problemów może nadal występować przy poziomie izolacji Repeatable read?
Który z poniższych problemów może nadal występować przy poziomie izolacji Repeatable read?
Signup and view all the answers
Co to jest analiza niespójności?
Co to jest analiza niespójności?
Signup and view all the answers
Jaki jest najsilniejszy poziom izolacji w bazach danych?
Jaki jest najsilniejszy poziom izolacji w bazach danych?
Signup and view all the answers
Jak można zdefiniować poziom izolacji Serializable?
Jak można zdefiniować poziom izolacji Serializable?
Signup and view all the answers
Czym jest ziarnistość blokad?
Czym jest ziarnistość blokad?
Signup and view all the answers
Co to jest "niepowtarzalny odczyt" (nonrepeatable read)?
Co to jest "niepowtarzalny odczyt" (nonrepeatable read)?
Signup and view all the answers
Która z opcji najlepiej opisuje "odczyt fantomów" (Phantom reads)?
Która z opcji najlepiej opisuje "odczyt fantomów" (Phantom reads)?
Signup and view all the answers
Co to jest harmonogram (schedule) w kontekście współbieżności?
Co to jest harmonogram (schedule) w kontekście współbieżności?
Signup and view all the answers
Jaką cechę ma harmonogram szeregowy (serial schedule)?
Jaką cechę ma harmonogram szeregowy (serial schedule)?
Signup and view all the answers
Co to jest harmonogram szeregowalny (serializable schedule)?
Co to jest harmonogram szeregowalny (serializable schedule)?
Signup and view all the answers
Które z poniższych działań nie jest konieczne, aby dwa harmonogramy były równoważne?
Które z poniższych działań nie jest konieczne, aby dwa harmonogramy były równoważne?
Signup and view all the answers
Jakiego problemu ze współbieżnością nie ma pokazany przykład?
Jakiego problemu ze współbieżnością nie ma pokazany przykład?
Signup and view all the answers
Która z poniższych instrukcji jest instrukcją zapisu?
Która z poniższych instrukcji jest instrukcją zapisu?
Signup and view all the answers
Które z poniższych zdań jest prawdziwe w odniesieniu do przykładu?
Które z poniższych zdań jest prawdziwe w odniesieniu do przykładu?
Signup and view all the answers
Czy harmonogram przedstawiony w przykładzie jest szeregowy?
Czy harmonogram przedstawiony w przykładzie jest szeregowy?
Signup and view all the answers
Które z poniższych celów służą blokowaniu w systemach zarządzania bazami danych?
Które z poniższych celów służą blokowaniu w systemach zarządzania bazami danych?
Signup and view all the answers
Harmonogramowanie pesymistyczne w systemach baz danych wykorzystuje blokowanie do:
Harmonogramowanie pesymistyczne w systemach baz danych wykorzystuje blokowanie do:
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?
Która z wymienionych opcji najlepiej opisuje znaczenie protokołu dwufazowego blokowania (2PL) w systemach zarządzania bazami danych?
Signup and view all the answers
Kaskadowe wycofywanie w systemach zarządzania bazami danych występuje w przypadku:
Kaskadowe wycofywanie w systemach zarządzania bazami danych występuje w przypadku:
Signup and view all the answers
Blokada współdzielona (s-lock) w systemach zarządzania bazami danych pozwala na:
Blokada współdzielona (s-lock) w systemach zarządzania bazami danych pozwala na:
Signup and view all the answers
W jaki sposób można poradzić sobie z zakleszczeniami w systemach zarządzania bazami danych?
W jaki sposób można poradzić sobie z zakleszczeniami w systemach zarządzania bazami danych?
Signup and view all the answers
Jaki jest cel pliku dziennika w systemie zarządzania bazą danych?
Jaki jest cel pliku dziennika w systemie zarządzania bazą danych?
Signup and view all the answers
Co oznacza strategia zapisu dziennika do przodu (write ahead log)?
Co oznacza strategia zapisu dziennika do przodu (write ahead log)?
Signup and view all the answers
Jaka jest główna różnica między harmonogramowaniem optymistycznym a pesymistycznym w systemach zarządzania bazami danych?
Jaka jest główna różnica między harmonogramowaniem optymistycznym a pesymistycznym w systemach zarządzania bazami danych?
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?
Która z poniższych opcji opisuje jeden z poziomów izolacji transakcji w systemach zarządzania bazami danych?
Signup and view all the answers
Które z poniższych operacji mogą być rejestrowane w pliku dziennika?
Które z poniższych operacji mogą być rejestrowane w pliku dziennika?
Signup and view all the answers
Jaki jest główny cel odtwarzania nośników?
Jaki jest główny cel odtwarzania nośników?
Signup and view all the answers
W jaki sposób plik dziennika jest wykorzystywany do odtwarzania systemu?
W jaki sposób plik dziennika jest wykorzystywany do odtwarzania systemu?
Signup and view all the answers
Co oznacza „punkt kontrolny” w kontekście zarządzania transakcjami?
Co oznacza „punkt kontrolny” w kontekście zarządzania transakcjami?
Signup and view all the answers
Jaki typ awarii powoduje błąd w logice operacji transakcji?
Jaki typ awarii powoduje błąd w logice operacji transakcji?
Signup and view all the answers
Który z poniższych przykładów można uznać za awarię systemu?
Który z poniższych przykładów można uznać za awarię systemu?
Signup and view all the answers
Co należy wykonać w przypadku odtwarzania systemu po awarii?
Co należy wykonać w przypadku odtwarzania systemu po awarii?
Signup and view all the answers
Których operacji nie da się odtworzyć podczas odtwarzania systemu?
Których operacji nie da się odtworzyć podczas odtwarzania systemu?
Signup and view all the answers
Co oznacza zakleszczenie (deadlock) w kontekście transakcji?
Co oznacza zakleszczenie (deadlock) w kontekście transakcji?
Signup and view all the answers
Które z poniższych rozwiązań zapobiega zakleszczeniom w transakcjach?
Które z poniższych rozwiązań zapobiega zakleszczeniom w transakcjach?
Signup and view all the answers
Co przedstawia graf oczekiwań (wait for graph)?
Co przedstawia graf oczekiwań (wait for graph)?
Signup and view all the answers
Czy zakleszczenie istnieje, gdy graf oczekiwań zawiera cykl?
Czy zakleszczenie istnieje, gdy graf oczekiwań zawiera cykl?
Signup and view all the answers
Co to jest blokada krótkoterminowa?
Co to jest blokada krótkoterminowa?
Signup and view all the answers
Który poziom izolacji transakcji jest najbardziej restrykcyjny?
Który poziom izolacji transakcji jest najbardziej restrykcyjny?
Signup and view all the answers
Jaki jest poziom izolacji "Read uncommitted"?
Jaki jest poziom izolacji "Read uncommitted"?
Signup and view all the answers
W jakich sytuacjach może być korzystne użycie blokad krótkoterminowych?
W jakich sytuacjach może być korzystne użycie blokad krótkoterminowych?
Signup and view all the answers
Flashcards
Transakcja
Transakcja
Zbiór operacji bazy danych traktowany jako jedna jednostka pracy.
Własności ACID
Własności ACID
Zasady zapewniające spójność transakcji: Atomowość, Spójność, Izolacja i Trwałość.
Odtwarzanie
Odtwarzanie
Proces zapewnienia, że baza danych wróci do spójnego stanu po awarii.
Kontrola współbieżności
Kontrola współbieżności
Signup and view all the flashcards
Granice transakcji
Granice transakcji
Signup and view all the flashcards
Zatwierdzenie transakcji
Zatwierdzenie transakcji
Signup and view all the flashcards
Wycofanie transakcji
Wycofanie transakcji
Signup and view all the flashcards
Rodzaje błędów
Rodzaje błędów
Signup and view all the flashcards
Menadżer transakcji
Menadżer transakcji
Signup and view all the flashcards
Aktualizacja salda
Aktualizacja salda
Signup and view all the flashcards
Plik dziennika
Plik dziennika
Signup and view all the flashcards
Punkty kontrolne
Punkty kontrolne
Signup and view all the flashcards
Zwrot (UNDO)
Zwrot (UNDO)
Signup and view all the flashcards
Strategia zapisu dziennika do przodu
Strategia zapisu dziennika do przodu
Signup and view all the flashcards
Awaria transakcji
Awaria transakcji
Signup and view all the flashcards
Awaria systemu
Awaria systemu
Signup and view all the flashcards
Odtwarzanie systemu
Odtwarzanie systemu
Signup and view all the flashcards
Harmonogramowanie pesymistyczne
Harmonogramowanie pesymistyczne
Signup and view all the flashcards
Harmonogramowanie optymistyczne
Harmonogramowanie optymistyczne
Signup and view all the flashcards
Znacznik czasowy
Znacznik czasowy
Signup and view all the flashcards
Blokada na wyłączność
Blokada na wyłączność
Signup and view all the flashcards
Blokada współdzielona
Blokada współdzielona
Signup and view all the flashcards
Menedżer blokad
Menedżer blokad
Signup and view all the flashcards
Protokół dwufazowego blokowania (2PL)
Protokół dwufazowego blokowania (2PL)
Signup and view all the flashcards
Zakleszczenie
Zakleszczenie
Signup and view all the flashcards
Statyczne 2PL
Statyczne 2PL
Signup and view all the flashcards
Graf oczekiwań
Graf oczekiwań
Signup and view all the flashcards
Cykl w grafie oczekiwań
Cykl w grafie oczekiwań
Signup and view all the flashcards
Poziomy izolacji
Poziomy izolacji
Signup and view all the flashcards
Blokada długoterminowa
Blokada długoterminowa
Signup and view all the flashcards
Blokada krótkoterminowa
Blokada krótkoterminowa
Signup and view all the flashcards
Niezatwierdzony odczyt
Niezatwierdzony odczyt
Signup and view all the flashcards
Niepowtarzalny odczyt
Niepowtarzalny odczyt
Signup and view all the flashcards
Odczyt fantomów
Odczyt fantomów
Signup and view all the flashcards
Harmonogram
Harmonogram
Signup and view all the flashcards
Harmonogram szeregowy
Harmonogram szeregowy
Signup and view all the flashcards
Kolejność instrukcji
Kolejność instrukcji
Signup and view all the flashcards
Równoważność harmonogramów
Równoważność harmonogramów
Signup and view all the flashcards
Sekwencyjność
Sekwencyjność
Signup and view all the flashcards
Zidentyfikowanie operacji
Zidentyfikowanie operacji
Signup and view all the flashcards
Transakcja T1
Transakcja T1
Signup and view all the flashcards
Sumowanie transakcji
Sumowanie transakcji
Signup and view all the flashcards
Read Committed
Read Committed
Signup and view all the flashcards
Utracona aktualizacja
Utracona aktualizacja
Signup and view all the flashcards
Powtarzalne odczyty
Powtarzalne odczyty
Signup and view all the flashcards
Odczyty fantomowe
Odczyty fantomowe
Signup and view all the flashcards
Serializowalny
Serializowalny
Signup and view all the flashcards
Przykłady blokad
Przykłady blokad
Signup and view all the flashcards
Izolacja Transakcji
Izolacja Transakcji
Signup and view all the flashcards
Analiza niespójności
Analiza niespójności
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.
Related Documents
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.