Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Podobne dokumenty
1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3

Plan ćwiczenia. Rozdział 17. zarządzania współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

przykłady problemów; realizacja dostaw części od producenta do klienta:

Plan ćwiczenia. Rozdział 17 Zarządzanie współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych

Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Bazy danych. Andrzej Łachwa, UJ, /15

Bazy danych wykład dziewiaty Transakcje. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Ćwiczenie 9 współbieŝność

070 TRANSAKCJE. Prof. dr hab. Marek Wisła

Bazy danych Transakcje

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

Zarządzanie transakcjami

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Bazy danych 2. Wykład 6 Transakcje

Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych

Przechowywanie danych

Właściwości transakcji

I. Techniki wielowersyjne sterowania współbieżnością

Wielowersyjne metody synchronizacji transakcji

Bazy danych w sterowaniu

OLTP Przetwarzanie Transakcyjne

Bazy danych 9. SQL Klucze obce Transakcje

PODSTAWY BAZ DANYCH. 11. Transakcje. 2009/ Notatki do wykładu "Podstawy baz danych"

Bazy danych. Dr inż. Paweł Kasprowski

Pojęcie bazy danych. Funkcje i możliwości.

Wprowadzenie (1) Przetwarzanie transakcyjne. Wprowadzenie (2) Problemy przygotowania aplikacji

Oracle PL/SQL. Paweł Rajba.

Transakcje jednocześnie ACID

Transakcje Wykład z bazy danych dla studen

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Bazy danych 6a. Transakcje. P. F. Góra

Tadeusz Pankowski

Izolacje transakcji oraz anomalie. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW

Algorytmy zarządzania współbieżnym wykonywaniem transakcji część II

Rozdział 17. Zarządzanie współbieżnością zadania

Rozproszone i obiektowe systemy baz danych

Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań,

Ćwiczenie 3. Współbieżność i transakcje

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Przetwarzanie transakcyjne

Bazy danych 9. Klucze obce Transakcje

Bazy danych 9. Klucze obce Transakcje. P. F. Góra

K1A_W11, K1A_W18. Egzamin. wykonanie ćwiczenia lab., sprawdzian po zakończeniu ćwiczeń, egzamin, K1A_W11, K1A_W18 KARTA PRZEDMIOTU

Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska

Paweł Rajba

PODSTAWY BAZ DANYCH Wykład 9

Administracja i programowanie pod Microsoft SQL Server 2000

Informatyka (7-8) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro

Tadeusz Pankowski

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. UŁ. Tadeusz Antczak. Transakcje

Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny

Archiwizacja i odtwarzanie bazy danych

Inżynieria oprogramowania. Faza implmentacji. wykład 7

Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe

Bazy danych 7. Klucze obce Transakcje. P. F. Góra

Bazy danych. Plan wykładu. Czynniki wpływające na fizyczny projekt bazy danych. bazy danych

Zarządzanie obiektami bazy danych Oracle11g

PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W NOWYM SĄCZU SYLABUS PRZEDMIOTU. Obowiązuje od roku akademickiego: 2011/2012

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):

Dazy Banych. Michał Rusnarczyk

Bazy danych 2. Wykład 1

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Cel odtwarzania. Transakcyjne odtwarzanie bazy danych. Modele awarii. Efektywność odtwarzania MTTF

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Uprawnienia, role, synonimy

UPDATE konta /* dodaj do konta B kwotę N */ UPDATE konta /* odejmij kwotę N z konta A */ WHERE id_konta = B; SET stan = stan + N

Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje

Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I

SZKOLENIE: Administrator baz danych. Cel szkolenia

Oracle11g: Wprowadzenie do SQL

Transakcyjne przetwarzanie danych

E.14 Bazy Danych cz. 15 SQL Transakcyjne przetwarzanie danych

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Bazy danych. Plan wykładu. Rozproszona baza danych. Fragmetaryzacja. Cechy bazy rozproszonej. Replikacje (zalety) Wykład 15: Rozproszone bazy danych

Adam Cankudis IFP UAM

Podstawy języka SQL - dokończenie TRANSAKCJE 1

TECHNIKI STEROWANIA WSPÓŁBIEŻNOŚCIĄ. I. Wybrane problemy współbieżności. Utracona aktualizacja (lost update)

Język SQL. Rozdział 9. Język definiowania danych DDL, część 2.

Aby stworzyć widok, należy mieć uprawnienia do wszystkich obiektów do których odnosi się widok.

Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii

Technologia informacyjna (IT - Information Technology) dziedzina wiedzy obejmująca:

System Oracle podstawowe czynności administracyjne

Wprowadzenie do Hurtowni Danych

Wykład 8. SQL praca z tabelami 5

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

Szkolenie Oracle SQL podstawy. Terminy lutego 2010 First Minute! 1100zł!

Przyczyny awarii. Struktury wykorzystywane do odtwarzania bd. Archiwizowanie plików dziennika. Archiwizowanie danych. danych

Bazy danych. Zasady konstrukcji baz danych

Doc. dr inż. Maria Chałon. Ochrona i bezpieczeństwo danych

Rozproszone bazy danych 2

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Administracja bazami danych

Transkrypt:

ransakcje Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy izolacji transakcji, blokady, zakleszczenie

Definicja i własności transakcji ransakcja: jest sekwencją (uporządkowanym zbiorem) logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan spójny. Atomowość (ang. atomicity) zbiór operacji wchodzących w skład transakcji jest niepodzielny; albo zostaną wykonane wszystkie operacje transakcji albo żadna Spójność (ang. consistency) transakcja pozostawia bazę danych w stanie spójnym Izolacja (ang. isolation) transakcje są od siebie logicznie odseparowane. Mogą wzajemnie oddziaływać na siebie w taki sposób jak gdyby były wykonywane sekwencyjnie rwałość (ang. durability) wyniki zatwierdzonych transakcji nie mogą zostać utracone, niezależnie od awarii systemu

Rozpoczęcie transakcji Otwarcie nowej sesji Zakończenie poprzedniej transakcji Zakończenie transakcji Jawne zakończenie transakcji: zatwierdzenie: sprawdzenie ograniczeń, zwolnienie blokad, zapisanie wszystkich zmian wycofanie: porzucenie zmian, zwolnienie blokad iejawne zakończenie transakcji: wykonanie instrukcji DDL lub DCL (zatwierdzenie) normalne zakończenie sesji (zatwierdzenie) awaryjne zakończenie sesji (wycofanie)

Zatwierdzenie COMMI [[ WORK ]; ]; Punkt bezpieczeństwa SAVEPOI nazwa; Wycofanie ROLLBACK [[ WORK ]][[ O O [[ SAVEPOI ]] nazwa ]; ];

Ograniczenia opóźniane Ograniczenia referencyjne i integralnościowe, które zostały zdefiniowane z klauzulą DEFERRABLE mogą być sprawdzane zarówno podczas operacji DML jak i na koniec transakcji. CREAE ABLE (x (x UMBER COSRAI t_pk t_pkprimary KEY KEY DEFERRABLE IIIALLY DEFERRED); ISER IO t t SELEC 1 FROM pracownicy; SELEC ** FROM t; t; COMMI; SE SE COSRAI ALL ALL nazwa DEFERRED IMMEDIAE;

Spójność bazy danych Definicja: Baza danych jest spójna jeżeli jej stan jest zgodny ze możliwym stanem reprezentowanego przez nią fragmentu świata rzeczywistego. Baza danych jest spójna jeśli spełnione są wszystkie ograniczenia referencyjne i integralnościowe. Poziomy spójności: spójność polecenia Spójność transakcji Zagrożenia spójności bazy danych: awarie sprzętu komputerowego i oprogramowania utrata danych w wyniku uszkodzenia pamięci masowej użytkownicy współbieżny dostęp do danych

Anomalie współbieżnego dostępu (1) Utracona modyfikacja (ang. lost update) ransakcja 1 WRIE(x) COMMI ransakcja 2 WRIE(x) COMMI Brudny odczyt (ang. dirty read) ransakcja 1 WRIE(x) ROLLBACK ransakcja 2 WRIE(x) COMMI

Anomalie współbieżnego dostępu (2) iepowtarzalny odczyt (ang. non-repeatable read, fuzzy read) ransakcja 1 COMMI ransakcja 2 WRIE(x) COMMI Fantomy (ang. phantom read) ransakcja 1 ransakcja 2 WRIE (UPDAE x) WRIE (ISER x) COMMI COMMI

Poziomy izolacji transakcji Dla zwiększenia współbieżności definiuje się poziomy izolacji transakcji, świadomie godząc się z występowaniem anomalii. Anomalia utraconego zapisu nigdy nie może się pojawić! Dirty read Fuzzy read Phantom read READ UCOMMIED możliwy możliwy możliwy READ COMMIED nie występuje możliwy możliwy REPEAABLE READ nie występuje nie występuje możliwy SERIALIZABLE nie występuje nie występuje nie występuje

ryb dostępu transakcji Standard języka SQL definiuje tryby dostępu: READ OLY: transakcja nie zawiera żadnych poleceń modyfikujących stan bazy danych READ WRIE: transakcja może zawierać polecenia modyfikujące stan bazy danych SE SE RASACIO READ OLY; SE SE RASACIO READ WRIE;

ransakcje tylko do odczytu (ang. read only) Zapewniają spójność na poziomie transakcji, nie można w nich dokonywać żadnych modyfikacji danych, korzystają z mechanizmu wielowersyjności. SE SE RASACIO READ OLY; 2 read(a) = 20 read(a) = 20 read(a) = 10 read(a) = 10 1 read(a) = 10 write(a) = 10 0 commit write(a) = 20 commit A:=10 A:=20 czas

Włączanie poziomów izolacji READ COMMIED - domyślny SE SE RASACIO ISOLAIO LEVEL READ COMMIED; ALER SESSIO SE SE ISOLAIO LEVEL = READ COMMIED; SERIALIZABLE SE SE RASACIO ISOLAIO LEVEL SERIALIZABLE; ALER SESSIO SE SE ISOLAIO LEVEL = SERIALIZABLE; w pliku inicjalizacyjnym SERIALIZABLE = true true

Algorytmy zarządzania współbieżnością Algorytmy optymistyczne znaczniki czasowe Algorytmy pesymistyczne blokady blokowanie dwufazowe (ang. wo Phase Locking 2PL) Blokowanie: strona dyskowa: wykorzystanie mechanizmów systemu operacyjnego, efektywność, niska współbieżność krotka: wysoka współbieżność, konieczność implementacji, narzuty czasowe i zasobowe. W Oracle na poziomie krotek istnieje tylko blokada do zapisu

Blokady na poziomie tabeli (1) Intencjonalna współdzielona (RS) - odpowiada zablokowaniu wybranych krotek w trybie współdzielonym SELEC FOR UPDAE Intencjonalna wyłączna (RX) - odpowiada zablokowaniu wybranych krotek w trybie wyłącznym ISER, UPDAE, DELEE Współdzielona (S) - odpowiada zablokowaniu wszystkich krotek w trybie współdzielonym LOCK ABLE I SHARE MODE Współdzielona (SRX) - odpowiada zablokowaniu wszystkich krotek w trybie współdzielonym i wybranych krotek w trybie wyłącznym LOCK ABLE I SHARE ROW EXCLUSIVE MODE Wyłączna (X) - odpowiada zablokowaniu wszystkich krotek w trybie wyłącznym LOCK ABLE I EXCLUSIVE MODE

Blokady na poziomie tabeli (2) abela kompatybilności blokad - RS RX S SRX X - RS * * * * RX * * S SRX X Zmiana poziomu blokad przez daną transakcję S X SRX RS RX

Blokady na słowniku bazy danych Wyłączne (ang. exclusive DDL locks) większość operacji DDL wymaga wyłączności dla przeprowadzenia operacji, np. DROP lub ALER Współdzielone (ang. shared DDL locks) nieliczne operacje DDL mogą się wykonywać współbieżnie, np. CREAE PROCEDURE ietrwałe (ang. breakable parse locks) blokady zakładane gdy we współdzielonym obszarze SQL znajdują się sparsowane polecenia SQL, każda operacja DDL łamie te blokady Wewnętrzne (ang. internal locks and latches) cache słownika bazy danych, pliki dziennika powtórzeń, przestrzenie tabel, itp.

Zakleszczenie (ang. deadlock) ransakcja 1 READ(y) WRIE(y) WRIE(x) ransakcja 2 WRIE(x) WRIE(y) Oracle automatycznie wykrywa zakleszczenie i wycofuje polecenie w tej transakcji, która wykryła zakleszczenie.