Bazy danych Transakcje



Podobne dokumenty
Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

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

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

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

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

Bazy danych 2. Wykład 6 Transakcje

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

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

Bazy danych 9. SQL Klucze obce Transakcje

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

Bazy danych. Andrzej Łachwa, UJ, /15

Właściwości transakcji

Zarządzanie transakcjami

Bazy danych w sterowaniu

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

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

Transakcje jednocześnie ACID

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

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

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

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

Bazy danych Podstawy teoretyczne

Oracle PL/SQL. Paweł Rajba.

Transakcje Wykład z bazy danych dla studen

Wielowersyjne metody synchronizacji transakcji

Ćwiczenie 9 współbieŝność

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

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

OLTP Przetwarzanie Transakcyjne

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykład 1: Wprowadzenie do baz danych. Semestr 1

Przechowywanie danych

Tadeusz Pankowski

Administracja i programowanie pod Microsoft SQL Server 2000

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

Bazy danych 9. Klucze obce Transakcje

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

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

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

Bazy danych. Dr inż. Paweł Kasprowski

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

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

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

Paweł Rajba

Tadeusz Pankowski

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

Internetowe bazy danych

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Przetwarzanie transakcyjne

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

1. Informacje ogólne.

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

PODSTAWY BAZ DANYCH Wykład 9

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

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

Bazy danych. Zaliczenie. Literatura. Strony WWW. Wykáad 1: Wprowadzenie do baz danych

Bazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.

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

Uywanie licencji typu Standalone. Japanese Using a Standalone License. Language. Contents

Dazy Banych. Michał Rusnarczyk

RELACYJNE BAZY DANYCH TEORIA. Bazy danych to uporzdkowany zbiór informacji z okrelonej dziedziny lub tematyki przeznaczony do wyszukiwania

Subversion - jak dziaªa

System midzybankowej informacji gospodarczej Dokumenty Zastrzeone MIG DZ ver Aplikacja WWW ver. 2.1 Instrukcja Obsługi

Rozproszone i obiektowe systemy baz danych

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

1. Model ACID. 2. Deklaratywne zarządzanie transakcjami, atrybuty transakcji. 3. Propagacja transakcji. transakcje rozproszone, propagacja kontekstu

WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy

Uprawnienia, role, synonimy

Mozilla Firefox PL. Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Mozilla Firefox PL. wersja 1.1

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

Zadania do wykonaj przed przyst!pieniem do pracy:

Kreator automatycznego uaktualniania firmware'u

Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).

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

Klonowanie MAC adresu oraz TTL

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

Zastosowanie mechanizmów długich transakcji w systemie ewidencji gruntów i budynków

Sposoby przekazywania parametrów w metodach.

AltiumLive Dashboard - sownik. AltiumLive Dashboard - Glossary. Language. Contents

Instrukcja obsługi programu Pilot PS 5rc

Opera Wykorzystanie certyfikatów niekwalifikowanych w oprogramowaniu Opera wersja 1.1 UNIZETO TECHNOLOGIES SA

[1.9.0] Zlecenia odbioru

FUNKCJE UYTKOWNIKA. Rozbrajanie systemu pod przymusem [Kod przymusu] Blokowanie linii

Podstawy języka SQL - dokończenie TRANSAKCJE 1

Rozproszone bazy danych 2

Instrukcja obsługi dodatku InsERT GT Smart Documents

PLAN WYKŁADU BAZY DANYCH PODSTAWOWE KWESTIE BEZPIECZEŃSTWA OGRANICZENIA DOSTĘPU DO DANYCH

SUPLEMENT SM-BOSS WERSJA 6.15

Instalacja programu Sprzeda

FORTECA DF - terminal kasowy

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

Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:

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

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

Adam Cankudis IFP UAM

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

Transakcyjne przetwarzanie danych

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

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

System Connector Opis wdrożenia systemu

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

Transkrypt:

Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji: Atomowo"& - (ang. atomicity) ) zbiór operacji wchodzcych 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. Trwa!o"& (ang. durability) - wyniki zatwierdzonych transakcji nie mog zosta& utracone,, niezale(nie od awarii systemu. 2

Wstp Z danej bazy danych korzysta wielu u(ytkowników.. Ze wzgldu na wydajno"& systemu jest wa(ne, aby kilka transakcji by!o wykorzystanych wspó!bie(nie.. System zarzdzania bazy danych musi wic sprawowa& kontrol nad przebiegiem transakcji, nie dopuszczajc do wzajemnej blokady poszczególnych transakcji lub do stanu niezgodnego. Ka(dy z programów u(ytkowych wykonuje operacj odczytu,, zapisujc w odpowiednich obszarach pamici operacyjnej warto"ci pobrane z bazy danych. W przypadku operacji zapisu okre"lona warto"& z pamici operacyjnej jest przepisywana do bazy danych, w miejsce nieaktualnej warto"ci. Sytuacje konfliktowe pojawiaj si, kiedy dwie transakcje T1 i T2,, aby dokona& operacji zapisu bd dokonywa!y operacji na tym samym elemencie bazy danych. 3

Wstp Zakoczenie transakcji: Zatwierdzenie sprawdzenie ogranicze3, zwolnienie blokad, zapisanie wszystkich zmian. Wycofanie porzucenie zmian, zwolnienie blokad. Zatwierdzenie: Punkt bezpiecze3stwa: COMMIT SAVEPOINT nazwa_punktu Wycofanie: ROLLBACK [ WORK ] [TO [ SAVEPOINT ] nazwa_punktu ] 4

Wstp Spójno bazy danych: 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. Zagro enia spójnoci bazy danych: awarie sprztu komputerowego i oprogramowania, utrata danych w wyniku uszkodzenia pamici masowej, u(ytkownicy, wspó!bie(ny dostp do danych. 5

Konflikty zapis-zapis -> Utrata aktualizacji (lost update) Sytuacja taka zdarza si, gdy transakcja T2 zapisuje warto"& zmienion przez transakcj T1 ignorujc modyfikacje dokonane przez ni. 6

Konflikty zapis-odczyt -> Brudny odczyt (dirty read) Sytuacja taka zdarza si, gdy transakcja T2 odczytuje warto"& zmienion przez transakcj T1,, po czym transakcja zostaje anulowana z dowolnego powodu. Transakcja T2 odczyta!a warto"& niew!a"ciw, niepotwierdzon, wszystkie modyfikacje dokonane przez transakcje T1 bd bowiem anulowane. Wcze"niej jednak transakcja T2 dokona!a odczytu warto"ci x zmienionej przez T1. 7

Konflikty zapis-odczyt -> Niepowtarzalny odczyt (fuzzy read) Sytuacja taka zdarza si, gdy transakcja T1 odczytuje warto"& x,, nastpnie transakcja T2 zmienia t warto"&, a T1 ponownie odczytuje j. 8

Konflikty zapis-odczyt -> Fantomy (phantom read) Sytuacja taka zdarza si, gdy transakcja T1 odczytuje warto"& x,, nastpnie transakcja T2 dodaje now krotk, a T1 ponownie odczytuje zawarto"& bazy danych. 9

Poziomy izolacji. READ UNCOMMITED najni(szy poziom, zezwala si na czytanie niepotwierdzonych danych. READ COMMITED aplikacja mo(e odczytywa& tylko potwierdzone dane. W!a"ciwy poziom om izolacji np. dla procedur raportujcych, dla których istotnych jest chwilowy stan bazy danych. REAPEATABLE READ blokuje dostp do wszystkich odczytywanych danych. W!a"ciwy poziom izolacji dla procedur odczytu i aktualizacji danych. SERIALIZABLE blokuje dostp do tabeli. aktualizacji danych. W!a"ciwy poziom izolacji dla procedur odczytu i 10

Poziomy izolacji. Dirty read Fuzzy read Phantom read READ UNCOMMITED Mo liwy mo liwy mo liwy READ COMMITED nie wystpuje mo liwy mo liwy REPEATABLE READ nie wystpuje nie wystpuje mo liwy SERIALIZABLE nie wystpuje nie wystpuje nie wystpuje 11

Tryby dostpu transakcji. READ ONLY - transakcja nie zawiera (adnych polece3 modyfikujcych stan bazy danych. SET TRANSACTION READ ONLY READ WRITE - transakcja mo(e zawiera& polecenia modyfikujce stan bazy danych. SET TRANSACTION READ WRITE 12

W89czanie poziomów izolacji: READ COMMITED (poziom domy"lny) SET TRANSACTION ISOLATION LEVEL READ COMMITTED ALTER SESSION SET ISOLATION LEVEL = READ COMMITTED SERIALIZABLE SET TRANSACTION ISOLATION LEVEL SERIALIZABLE ALTER SESSION SET ISOLATION LEVEL = SERIALIZABLE w pliku inicjalizacyjnym: SERIALIZABLE = true 13

Rodzaje blokad na poziomie tabeli: RS - Intencjonalna wspó!dzielona, odpowiada zablokowaniu wybranych wspó!dzielonym. SELECT... FOR UPDATE krotek w trybie RX - Intencjonalna wy!czna, odpowiada zablokowaniu wybranych krotek w trybie wy!cznym. INSERT, UPDATE, DELETE S - Wspó!dzielona,, odpowiada zablokowaniu wszystkich krotek w trybie wspó!dzielonym. LOCK TABLE... IN SHARE MODE SRX - Wspó!dzielona,, odpowiada zablokowaniu wszystkich wybranych krotek w trybie wy!cznym LOCK TABLE... IN SHARE ROW EXCLUSIVE MODE X - Wy!czna,, odpowiada zablokowaniu wszystkich krotek w trybie wy!cznym. LOCK TABLE... IN EXCLUSIVE MODE krotek w trybie wspó!dzielonym i 14

Wzajemne wykluczanie: : przyznawanie prawa wy!czno"ci do danego obiektu okre"lonej transakcji. Ka(da z transakcji mo(e uzyska& prawo wy!czno"ci do danego obiektu, (dajc blokady tego obiektu. Je"li dany obiekt jest zablokowany przez pewn transakcj to (adna inna transakcja nie uzyska dostpu do tego obiektu do chwili odblokowania obiektu. Odblokowanie obiektu jest równoznaczne z utrat wy!czno"ci dostpu do tego obiektu. oczekujce na dostp do zablokowanego obiektu mo(na umieszcza& w kolejce transakcji obs!ugiwanych zgodnie z kolejk zg!osze3. Dziki temu rozwizaniu mo(na unikn& utraty aktualizacji,, ale czasami prowadzi do zjawiska impasu. 15

Impas zjawisko, które czasami mo(e powsta& w wyniku dzielenia danych zgodnie z zasad wzajemnego wykluczania Przyk!ad: 1 2 3 4 5 6 T1 Zablokuj (A) - Zablokuj (B) Oczekiwanie - - T2 - Zablokuj (B) - Zablokuj (A) Oczekiwanie - 16

Metody rozwi9zywania problemu impasu: Zapobieganie powstawania impasów - kiedy (danie przyznania blokady nie mo(e by& spe!nione, system wykonuje pewien test dotyczcy dwóch transakcji. Wykrywanie powsta!ych impasów - dopuszcza si, by transakcje oczekiwa!y na odblokowanie interesujcych je danych. Pewn transakcj anuluje si dopiero wtedy, w gdy wystpi impas. 17

Zapobieganie powstawania impasów unika si impasu poprzez wykonanie testu dotyczcy dwóch transakcji: tej, która (da blokady (T2( T2) ) i tej która dysponuje blokad w danej chwili (T1( T1). Je(eli wynik testu jest pozytywny, zezwala si transakcji T2 oczekiwa& na odblokowanie interesujcego j obiektu, w przeciwnym przypadku jedna z dwóch transakcji jest anulowana, jej wykonanie zostaje powtórne rozpoczte. Transakcja taka nie jest usuwana z systemu zarzdzania baz danych, lecz jest jedynie cofana ( anulowanie transakcji oznacza usunicie zmian wprowadzonych przez ni bez usunicia jej z systemu). Test: ka(dej transakcji przyporzdkowuje si okre"lony priorytet, warto"& t zapisujemy w postaci priorytetu (T1( T1). Transakcja T2 mo(e oczekiwa& na odwo!anie blokady przez transakcj T1 wtedy i tylko wtedy gdy priorytet T2 < priorytetu T1. Stosujc t metod mo(na spowodowa&, (e pewna transakcja jest anulowana wielokrotnie,, jej wykonanie system odk!ada cigle na póaniej. Aby unikn& tej sytuacji stosuje si metod znaczników transakcji. 18

Metoda znaczników transakcji: w chwili pojawienia si danej transakcji przypisuje si jej pewien en unikalny numer porzdkowy - znacznik. Mo(e to by& np. warto"& z zegara systemowego. Chodzi o to, aby transakcje wcze"niejsze mia!y pierwsze3stwo przed transakcjami póaniejszymi. Wraz z metod znaczników mo(emy stosowa& równocze"nie technik wyw!aszczania lub technik bez wyw!aszczania: Technika bez wyw!aszczenia: : kiedy transakcja T2 (da blokady obiektu zablokowanego przez T1 (T1 by!a wcze"niej), to T2 mo(e czeka& na odblokowanie obiektu, w przeciwnym przypadku T2 jest anulowana (jej znacznik nie zmienia si). Technika wyw!aszczania: : je"li T2 jest póaniejsza ni( T1,, to oczekuje na odblokowanie obiektu, je"li nie to T2 jest anulowana. 19

Wykrywanie powsta!ych impasów - dopuszcza si, by transakcje oczekiwa!y na odblokowanie interesujcych je danych. Pewn transakcj anuluje si dopiero wtedy, w gdy wystpi impas. Przewa(nie anuluje si transakcj, która rozpocz!a si najpóaniej. Zjawisko impasu wystpuje bardzo rzadko (1 na 1000 transakcji), dlatego bardziej ekonomiczne ne jest stosowanie wykrywania impasów. 20

Blokowanie dwufazowe - blokada wy!czno"ci nie jest konieczna w przypadku kilku równoczesnych operacji odczytu. Blokowanie dwufazowe jest wersj operacji blokowania owania umo(liwiajc synchronizacj operacji odczytu i zapisu. W przypadku ka(dej transakcji, wszystkie operacje (dania blokad powinny poprzedza& wszystkie operacje odwo!ania blokad.. Wewntrz transakcji mo(na wyró(ni& faz uzyskiwania i odwo!ywania blokad. Metoda ta nie wykrywa pojawienia si impasu. Metoda ta opiera si na dwóch blokadach: dzielonej - umo(liwiajcej równoczesny odczyt danych i blokady wy!czno"ci. zanim transakcja dokona odczytu warto"ci x, musi uzyska& blokad dzielon x zanim transakcja dokona zapisu warto"ci x, musi uzyska& blokad wy!czno"ci x po zako3czeniu transakcji (aden z elementów nie zostaje zablokowany any Transakcja dwufazowa: Faza rozwijania: : transakcja (da poszczególnych blokad, które s jej potrzebne, wykonuje pewne obliczenia, modyfikuje dane z bazy, po czym rozpoczyna si faza zwalniania. Faza zwalniania: : transakcja odwo!uje poszczególne blokady. 21