Bazy danych. Andrzej Łachwa, UJ, /15

Podobne dokumenty
Przechowywanie danych

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

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

Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej

Bazy danych 2. Wykład 6 Transakcje

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

Zarządzanie transakcjami

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

Właściwości transakcji

Bazy danych. Dr inż. Paweł Kasprowski

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

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

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

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

Bazy danych w sterowaniu

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

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

Bazy danych 9. SQL Klucze obce Transakcje

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

Transakcje jednocześnie ACID

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

Tadeusz Pankowski

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

Tadeusz Pankowski

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

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

Bazy danych 2. Wykład 1

Rozproszone i obiektowe systemy baz danych

Transakcje Wykład z bazy danych dla studen

Administracja i programowanie pod Microsoft SQL Server 2000

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

Oracle PL/SQL. Paweł Rajba.

PODSTAWY BAZ DANYCH Wykład 9

OLTP Przetwarzanie Transakcyjne

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

Ćwiczenie 9 współbieŝność

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

Kopie bezpieczeństwa NAPRAWA BAZ DANYCH

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ęść I

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

Wielowersyjne metody synchronizacji transakcji

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

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

Bazy danych 9. Klucze obce Transakcje

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

Transakcje. Bazy danych 155

Paweł Rajba

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

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

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

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

Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa

Adam Cankudis IFP UAM

Bazy danych Transakcje

Wrocławska Wyższa Szkoła Informatyki Stosowanej. Bazy danych. Dr hab. inż. Krzysztof Pieczarka.

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

INFORMATYKA GEODEZYJNO- KARTOGRAFICZNA. Przetwarzanie transakcyjne

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

Receptury projektowe niezbędnik początkującego architekta

Bazy danych i usługi sieciowe

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

Bazy danych. Zasady konstrukcji baz danych

Dazy Banych. Michał Rusnarczyk

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

Wykład 8. SQL praca z tabelami 5

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

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

Transakcyjne przetwarzanie danych

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

:11 BD_1_W9

2. Z czego składają się dane w bazie? Odp.: Z jednostek elementarnych. 3. Czym są dane strukturalne? Odp.: Są to liczby, napisy, daty etc.

Administracja bazami danych

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

Czym jest baza danych?

Wykład 2. Relacyjny model danych

Podstawy języka SQL - dokończenie TRANSAKCJE 1

Internetowe bazy danych

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

Wymagania dotyczące oprogramowania bazodanowego

Kuźnia Talentów: Optymalizacja zapytań w SQL. Andrzej Ptasznik

Rok szkolny 2015/16 Sylwester Gieszczyk. Wymagania edukacyjne w technikum. ADMINISTROWANIE BAZAMI DANYCH kl. 4c

Recovery Transakcyjne odtwarzanie bazy danych po awarii

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

Wszechnica Poranna: Bazy danych Mechanizmy wewnętrzne baz danych. Andrzej Ptasznik

Mechanizm transakcji w relacyjnych i obiektowych bazach danych

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

Zarządzanie obiektami bazy danych Oracle11g

Bazy danych. Dr Henryk Telega. BD 10/11 Wykład 1 1

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

SZKOLENIE: Administrator baz danych. Cel szkolenia

Kopie zapasowe w SQL Server. Michał Bleja

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

Bazy danych i systemy zarzadzania

Systemy Rozproszone. Zagadnienia do egzaminu.

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

Hbase, Hive i BigSQL

Metody dostępu do danych

Transkrypt:

Bazy danych Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl www.uj.edu.pl/web/zpgk/materialy 12/15

WSPÓŁBIEŻNOŚĆ Serwer bazodanowy nie może obsługiwać klientów sekwencyjnie: wszyscy musieli by czekać na obsłużenie przez serwer w kolejce. W przypadku większości systemów komunikujących się z bazami danych (np. internetowe programy rezerwacji, systemy bankowe, kasy w supermarketach) wymaga się krótkich czasów odpowiedzi dla setek równolegle pracujących użytkowników. Nie można ich ustawić w kolejkę! Sterowanie współbieżnością to proces zapewniający możliwość przetwarzania opartego na współistnieniu wielu procesów operujących na wspólnych (współdzielonych) danych w SZBD.

Transakcją nazywamy grupę instrukcji, które muszą być wykonane, aby odpowiednie zmiany zostały zapisane w bazie. Jeżeli chociaż jedna instrukcja z takiej grupy zakończy się niepowodzeniem, wówczas działanie wszystkich jest odwoływane. BEGIN TRANSACTION rozpoczęcie transakcji COMMIT zakończenie transakcji z zaakceptowaniem wszystkich zmian ROLLBACK zakończenie transakcji z wycofaniem wszystkich zmian ROLLBACK TO SAVEPOINT NazwaPunktuZapisu zakończenie transakcji z wycofaniem wszystkich tych zmian, które nastąpiły od zdefiniowanego (w czasie działania transakcji) punktu zapisu NazwaPunktuZapisu.

Transakcja powinna spełniać właściwości określane jako ACID: niepodzielność (Atomicity) spójność (Consistency) izolacja (Isolation) trwałość (Durability) Atomowość to niepodzielność transakcji: albo wszystkie modyfikacje danych zakończą się sukcesem, albo żadna modyfikacja nie nastąpi. Zatem, jeżeli z jakiegoś powodu transakcja nie może być zakończona, to tzw. mechanizm odtwarzania musi zapewnić wycofanie wszystkich zmian wprowadzzonych już przez tę transakcję w bazie danych.

Spojność oznacza, że po zakończeniu transakcji baza musi być w stanie spójnym, tj. muszą być zachowane wszystkie więzy integralności, a wewnętrzne struktury bazy (np. indeksy) powinny być doprowadzone do prawidłowego stanu. Własność izolacji mówi, że modyfikacje przeprowadzane przez daną transakcję muszą być odizolowane od innych działających transakcji, nie może kolidować ze współbieżnym wykonywaniem innych transakcji. Trwałość po zakończeniu transakcji jej efekty muszą pozostać w bazie na stałe. Nie mogą zostać utracone w wyniku jakiejkolwiek awarii.

PROBLEMY Z TRANSAKCJAMI 1. Problem utraconej modyfikacji (lost updates). Modyfikacja wykonana w t przez transakcję A zostaje utracona w momencie t. 6 8

2. Problem czytania brudnopisu (dirty read): Transakcja A odczytuje w czasie t4 wartość zmodyfikowaną wcześniej (w czasie t2) przez inną transkację jeszcze nie zatwierdzoną. W momencie cofnięcia transakcji B odczyt w czasie t4 staje się fałszywy.

3. Problem niespójnej analizy (non repeatable read): Transakcja A sumuje salda 3 rachunków (r, r, r ) o wartościach w czasie t1: 1 2 3 200 zł, 300 zł i 4000 zł. Równolegle transakcja B wykonuje przelew 1000 zł z rachunku r na r. Gdyby A wykonać ponownie w czasie 3 1 t10 t12 to wynik byłby inny.

4. Wiersze widma (phantom reads): Transakcja A odczytuje rekordy, które spełniają pewne kryterium wyboru. Druga transakcja (B) wstawia nowe rekordy do tej samej tabeli, przy czym niektóre z nich spełniają kryterium sprawdzane przez A. Transakcja B może również modyfikować wiersze w taki sposób, że dodatkowe rekordy zaczną spełniać to kryterium. Mogą zatem pojawić się takie rekordy (fantomy), które spełniają dane kryterium, a które nie zostały odczytane przez A.

BLOKADY blokady wyłączne (typu X, blokady do zapisu) blokady wspólne (typu S, blokady do odczytu) 1. Jeśli transakcja założy blokadę X na krotkę p, to próba założenia jakiejkolwiek blokady przez inną transakcję na tej samej krotce zostanie oddalona. 2. Jeśli transakcja A założy blokadę S na krotkę p, to: próba założenia blokady X przez transakcję B na tej samej krotce zostanie oddalona, próba założenia blokady S przez transakcję B na tej samej krotce zostanie zaakceptowana, czyli obie transakcje będą blokować p.

Propozycja protokołu dostępu do danych 1. Transakcja, która chce uzyskać dostęp do krotki, musi najpierw uzyskać blokadę S na tej krotce. 2. Transakcja, która chce modyfikować krotkę, musi najpierw uzyskać blokadę X na tej krotce. Jeśli transakcja wcześniej założyła blokadę S, to musi ona zwiększyć poziom blokady z S do X. 3. Jeżeli żądanie blokady od transakcji B zostanie odrzucone ze względu na to, że jest w konflikcie z blokadą założoną wcześniej przez transakcję A, to B przechodzi w stan oczekiwania aż ta blokada zostanie zdjęta (system powinien dbać o to, by transakcja B nie czekała w nieskończoność, tj. by nie nastąpiło zagłodzenie). 4. Blokady S i X są utrzymywane do końca działania transakcji (tj. do polecenia COMMIT lub ROLLBACK).

Zakleszczenia Zakleszczenie to sytuacja, w której dwie lub więcej transakcji oczekuje na zwolnienie wzajemnej blokady. Strategie rozwiązywania zakleszczeń: 1. cofnąć losowo wybraną transakcję 2. cofnąć transkację, które najdłużej trwa 3. cofnąć najkrócej trwającą transakcję

Protokół dwufazowego blokowania (2 Phase Locking) 1.Zanim transakcja rozpocznie działanie na pewnym obiekcie w bazie danych, musi założyć na ten obiekt blokadę. 2. Po zwolnieniu blokady transakcja nie może zakładać żadnej nowej blokady na jakimkolwiek obiekcie. Twierdzenie Jeśli wszystkie transakcje spełniają protokół dwufazowego blokowania, to wszystkie przeplatane porządki (współbieżne) są szeregowalne (poprawne).

Przeczytaj w podręczniku R.Elmasri, Sh.Navathe: Rozdz. 17. Wprowadzenie do problematyki i teorii przetwarzania transakcji (571 600) Rozdz. 18. Techniki sterowania współbieżnego (601 628)