Bazy danych wykład dziewiaty Transakcje. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
|
|
- Wiktoria Krzemińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 Bazy danych wykład dziewiaty Transakcje Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dziewiaty Transakcje 1 / 42
2 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 2 / 42
3 Problemy współbieżności Jeśli BD komunikuje się tylko z jednym użytkownikiem, nie powstaje problem konfliktowych operacji. W praktyce BD musza często zapewniać równoległość dostępu. Przykłady: rezerwacje biletów, operacje bankowe, sklepy internetowe,... dziewiaty Transakcje 3 / 42
4 Problemy współbieżności Rozważmy dwie transakcje: T 1 : read(x), write(x,1), read(y), write(y,2); T 2 : read(x), write(x,4), read(y), write(y,3); Jaka wartość beda miały X i Y po zakończeniu działania T 1 i T 2? dziewiaty Transakcje 4 / 42
5 Problemy współbieżności Rozważmy ciag operacji transakcji T 1 i T 2 : 1 Wczytaj wolne miejsca, 2 Wczytaj wolne miejsca, 3 Rezerwuj miejsce 13, 4 Rezerwuj miejsce 13. Nie chcemy, żeby T 2 zapisała miejsce zajęte już przez T 1. Nie byłoby problemu, gdyby transakcje wykonywane były jedna po drugiej (nierealne). Transakcja T 1 powinna zablokować zajęty rekord, transakcja T 2 powinna być wycofana (ale nie warto zakładać blokady na wszystkie wolne miejsca przed wczytaniem ich przez T 1. dziewiaty Transakcje 5 / 42
6 Transakcje Definicja 1 Transakcja jest to ciag operacji na bazie danych, które powinny być wykonane w sposób atomowy, jak jedna instrukcja. Jeśli nie będzie można wykonac jednej z instrukcji w transakcji, trzeba anulować efekt wszystkich. Standard SQL domyślnie wymaga, żeby transakcje traktować jako przetważane szeregowo. W praktyce implementacje BD pozwalaja na osłabienie tego wymagania w celu zwiększenia efektywności. Transakcje zatwierdzamy przez commit, anulujemy przez rollback. dziewiaty Transakcje 6 / 42
7 Własności transakcji ACID Atomowość (atomicity) transakcja wykona się albo w całości albo wcale, Spójność (consistency) przeprowadzi bazę danych ze stanu spójnego do spójnego, Isolacja (isolation) wynik jej działania będzie niezależny od innych działajacych w tym czasie transakcji, Trwałość (durability) wyniki jej działania sa trwałe. dziewiaty Transakcje 7 / 42
8 Przyczyny konfliktów Jeśli dwie transakcje chca zapisać ten sam rekord, to wchodza ze soba w konflikt. Źródłem problemów jest też sytuacja, w której jedna transakcja zapisuje dane, które chce odczytać druga. Jeśli dwie transakcje tylko odczytuja dane, to nie moga wejść ze soba w konflikt. dziewiaty Transakcje 8 / 42
9 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 9 / 42
10 Odczyt brudnych danych Rozważmy scenariusz: T 1 T 2 update Miejsca set zajete = true where numer = 13; select numer from Miejsca where zajete = false; rollback; no rows selected. dziewiaty Transakcje 10 / 42
11 Odczyt brudnych danych Definicja 2 Odczyt brudnych danych ma miejsce kiedy jedna transakcja odczytuje dane, które zmieniła druga transakcja, która została potem wycofana. Uwaga. To sie nie ma prawa zdażyć w BD Oracle. dziewiaty Transakcje 11 / 42
12 Niepowtarzalny odczyt Rozważmy scenariusz: T 1 T 2 select min(a) from r; delete from r where a=8; insert into r values (5); commit; MIN(A): 8 select max(a) from r; MAX(A): 5 dziewiaty Transakcje 12 / 42
13 Niepowtarzalny odczyt Definicja 3 Niepowtarzalny odczyt występuje kiedy transakcja odczytuje dwa razy te same dane i otrzymuje inne wyniki, gdyż zostały one zmienione przez inna, zatwierdzona transakcję. Transakcja T 2 nie odczytała niezatwierdzonych danych, ale otrzymała niespójne odpowiedzi: max(a) < min(a). dziewiaty Transakcje 13 / 42
14 Fantomowe dane Rozważmy scenariusz: T 1 T 2 select a from r; insert into r values (5); commit; A: 1, 2, 8 select a from r; A: 1, 2, 8, 5 dziewiaty Transakcje 14 / 42
15 Fantomowe dane Definicja 4 Fantomowe dane pojawia sie, kiedy transakcja odczytujac dwa razy te same dane otrzymuje za drugim razem więcej wyników. Przy tej anomalii nie wystapiłby problem typu: max < min. dziewiaty Transakcje 15 / 42
16 Poziomy izolacji transakcji Wyróżniamy następujace poziomy izolacji transakcji: Z odczytem niezatwierdzonych danych (uncommited read). Z odczytem zatwierdzonych danych (commited read). Z odczytem powtarzalnym (repeatable read). Sekwencyjny (serializable). dziewiaty Transakcje 16 / 42
17 Poziomy izolacji transakcji Dopuszczalność anomalii przy poziomach izolacji: Poziomy izolacji brudne niepowtarzalność dane dane fantomowe uncommited read tak tak tak commited read nie tak tak repeatable read nie nie tak serializable nie nie nie dziewiaty Transakcje 17 / 42
18 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 18 / 42
19 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 19 / 42
20 Szeregowalność Niech t, s, w beda zmiennymi transakcji a X, Y, Z, W rekordami w bazie danych. Transakcje T i możemy potraktować jako ciag instrukcji read(i,x,s), write(i, X,s). Ciag instrukcji r 1,..., r n jest szeregowy jeśli wszystkie instrukcje każdej transakcji występuja w jednym podciagu. Ciag instrukcji r 1,..., r n jest szeregowalny jeśli jeśli istnieje szeregowy ciag instrukcji r 1,..., r n, którego wykonanie dla wszystkich stanów bazy danych daje ten sam efekt. dziewiaty Transakcje 20 / 42
21 Szeregowalność Jeśli ciag instrukcji jest szeregowalny, to możemy traktować transakcje jakby były wykonywane sekwencyjnie. Osiagamy najwyższy możliwy poziom izolacji. dziewiaty Transakcje 21 / 42
22 Szeregowalność przykład Ciag instrukcji: read(1, X,t), write(1, X, t+10); read(2, X, s), write(2, X, s*3); read(1, Y, t); write(1,y, t+10); read(2, Y, s); write(2, Y, s*3); nie jest szeregowy ale jest szeregowalny. Równoważny ciag to: read(1, X,t), write(1, X, t+10); read(1, Y, t); write(1,y, t+10); read(2, X, s), write(2, X, s*3); read(2, Y, s); write(2, Y, s*3); dziewiaty Transakcje 22 / 42
23 Szeregowalność przykład Ciag instrukcji: read(1, X,t), write(1, X, t+10); read(2, X, s), write(2, X, s*3); read(2, Y, s); write(2, Y, s*3); read(1, Y, t); write(1,y, t+10); nie jest szeregowalny. Ciag instrukcji: read(1, X,t), write(1, X, t+10); read(2, X, s), write(2, X, s + 30); read(2, Y, s); write(2, Y, s + 30); read(1, Y, t); write(1,y, t+10); jest szeregowalny tylko z powodu przmienności dodawania. dziewiaty Transakcje 23 / 42
24 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 24 / 42
25 Blokady W praktyce szeregowalność jest zbyt silnym wymogiem. Szeregowanie transakcji mogłoby spowodować zbyt długi czas działania poszczególnych transakcji. Bardziej realistycznym rozwiazaniem sa słabsze poziomy izolacji. W celu ich zapewnienia można stosować mechanizmy takie jak blokady wierszy lub (rzadziej) całych tabel. Uwaga. W praktyce Oracle sam zarzadza blokadami jakie nakładaja działania transakcji. dziewiaty Transakcje 25 / 42
26 Blokady dzielone Blokada dzielona na rekord X pozwala innym transakcjom odczytywać wartość rekordu X. Blokady dzielone stosuje się w celu zabezpieczenia odczytanego rekordu przed zmiana w czasie działania transakcji, która go odczytała. Jeden rekord może mieć założonych wiele blokad dzielonych. Transakcja odczytujac rekord X nakłada na niego blokadę dzielona. dziewiaty Transakcje 26 / 42
27 Blokady na wyłaczność Jeśli transakcja chce zmienić lub usunać rekord X musi nałożyć na niego blokadę na wyłaczność. Blokady na wyłaczność nie można założyć na rekord, który ma blokadę dzielona. Jeden rekord może mieć założona tylko jedna blokadę na wyłaczność. Blokadę taka zakładamy modyfikujac rekord. Przestaje być on widoczny (przy poziomie commited read) aż do chwili zatwierdzenie transakcji. Zatwierdzenie transakcji zwalnia wszystkie nałozone przez nia blokady. dziewiaty Transakcje 27 / 42
28 Zawieszenie wykonywania transakcji Nałożona blokada może spowodować zawieszenie wykonywania transakcji do czasu zatwierdzenia transakcji, która nałożyła blokadę. Dlatego trzeba unikać zakładania blokad (zwłaszcza na wyłaczność) w sytuacji interakcji z użytkownikiem. dziewiaty Transakcje 28 / 42
29 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 29 / 42
30 Zakleszczenia Rozważmy ciag interakcji: T 1 T 2 write(x,1) write(y, 2) write(y,1) write(x,2) Obie transakcje czekaja na zwolnienie blokady na wyłaczność. dziewiaty Transakcje 30 / 42
31 Zakleszczenia Oracle W przypadku wykrycia zakleszczenia SZBD Oracle wysyła do jednej z transakcji komunikat o błędzie: ORA 00060: deadlock detected while waiting for resource. Transkacja, która otrzymała komunikat o błedzie kończy oczekiwanie i może np. wykonać commit lub rollback. Druga z transakcji oczekuje dalej na zwolnienie blokady. dziewiaty Transakcje 31 / 42
32 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 32 / 42
33 Długie transakcje Jeśli czas modyfikacji trwa długo (np. modyfikacje programu lub pliku tekstowego przez użytkownika) to często nie warto zakładać blokady. Można zastosować np. system wypożyczania i zwracania. dziewiaty Transakcje 33 / 42
34 Inne rodzaje blokad Blokady inkrementacyjne. Blokady z aktualizacja. dziewiaty Transakcje 34 / 42
35 Outline 1 Transakcje Problemy interakcji 2 Metody usuwania konfliktów Szeregowalność Blokady Zakleszczenia Misc 3 Transakcje i blokady w BD Oracle dziewiaty Transakcje 35 / 42
36 O. traktuje każda instrukcję SQL jako atomowa (statement level atomicity). Nie można aktualizować tylko części tabeli. Wycofanie instrukcji SQL skutkuje także wycofaniem skutków działania wyzwalaczy, które uruchomiła. Wycofanie instrukcji SQL nie powoduje wycofania całej transakcji. dziewiaty Transakcje 36 / 42
37 Każda sesja z baza danych to jedna transakcja, zakończyć taka transakcję można przez polecienie commit lub rollback. Innym sposobem na zakończenie transakcji (jako commit) jest wydanie polecenia DDL lub zakończenie połaczenia z baza danych (disconnect). Każda nowa komenda SQL po commit lub instrukcji DDL rozpoczyna nowa transakcję. dziewiaty Transakcje 37 / 42
38 Polecenia specyficzne dla Oracle SET TRANSACTION i SET TRANSACTION NAME <nazwa>, COMMIT, ROLLBACK, SAVEPOINT <nazwa>, ROLLBACK TO SAVEPOINT. dziewiaty Transakcje 38 / 42
39 Rollback to savepoint Polecenie rollback to savepoint <nazwa> wycofuje zmiany wykonane przez transakcję po założeniu punktu <nazwa>. Wszystkie blokady założone po tym punkcie zostaja zwolnione. Jeśli inna transakcja czekała na zwolnienie blokady już wcześniej, to nie otrzyma zasobu. Nowe blokady będa mogły założyć tyko transakcje, które zażadaj a go po jego zwolnieniu. dziewiaty Transakcje 39 / 42
40 Rollback to savepoint przykład Rozważmy następujaca interakcję trzech transakcji na tabeli r(a,b): T 1 T 2 T savepoint powrot; update r set a= 1 where b=5; 1 row updated. update r set a= 2 where b=5; rollback to s. powrot; T 2 czeka... T 2 czeka... update r set a= 3 where b=5;... 1 row updated. commit; commit 1 row updated. dziewiaty Transakcje 40 / 42
41 Poziomy izolacji w Oracle Domyślnym poziomem izolacji jest read commited. Inne poziomy to serializable oraz read only. Poziom read only zapewnia powtarzalność wyników zapytań, zabrania modyfikacji bazy danych (set transaction read only). dziewiaty Transakcje 41 / 42
42 Poziomy izolacji w Oracle set isolation level [committed read serializable]; set transaction [read only read write]; dziewiaty Transakcje 42 / 42
1 Przetwarzanie transakcyjne Cechy transakcji Rozpoczęcie i zakończenie Punkty bezpieczeństwa... 3
Plan wykładu Spis treści 1 Przetwarzanie transakcyjne 1 1.1 Cechy transakcji................................. 2 1.2 Rozpoczęcie i zakończenie........................... 3 1.3 Punkty bezpieczeństwa.............................
przykłady problemów; realizacja dostaw części od producenta do klienta:
Przetwarzanie transakcyjne Transakcja zestaw operacji pod szczególną kontrolą transakcja to sekwencja operacji, która musi zakończyć się sukcesem w całości - w przeciwnym wypadku musi powrócić stan początkowy
BAZY DANYCH. Transakcje. opracowanie: Michał Lech
BAZY DANYCH Transakcje opracowanie: Michał Lech Plan wykładu 1. Transakcje - co to jest? 2. Mechanizmy transakcji 3. Reguły ACID 4. Niekorzystne zjawiska 5. Poziomy izolacji 6. Polecenia PostgreSQL transakcji
Bazy danych 9. SQL Klucze obce Transakcje
Bazy danych 9. SQL Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2005/06 Klucze obce Klucze obce powiazanie indeksowanej kolumny jakiejś tabeli z indeksowana kolumna
Transakcje. (c) Instytut Informatyki Politechniki Poznańskiej
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
Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).
POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane
Właściwości transakcji
Transakcje Właściwości transakcji Transakcja jednostka operowania na bazie danych podlegająca kontroli i sterowaniu System zarządzania transakcjami ma za zadanie takie sterowanie operacjami na bazie danych,
Bazy danych 2. Wykład 6 Transakcje
Bazy danych 2 Wykład 6 Transakcje Transakcje Def. Transakcjami nazywamy logiczne jednostki pracy które wprowadzają zmiany do bazy danych lub które wyszukują dane O transakcjach mówimy w kontekście: aktualizacji
Plan ćwiczenia. Rozdział 17. zarządzania współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych
Plan ćwiczenia Rozdział 17 Zarządzanie współbieżnością Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy
Bazy danych. Andrzej Łachwa, UJ, /15
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ć
Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach
Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 7 Dynamiczny SQL i PL/SQL Pierwotny dynamiczny SQL Pierwotny dynamiczny DDL Pierwotny dynamiczny DML i SELECT Pakiet DBMS_SQL Transakcje
070 TRANSAKCJE. Prof. dr hab. Marek Wisła
070 TRANSAKCJE Prof. dr hab. Marek Wisła Transakcja - definicja Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, przeprowadzających bazę danych z jednego stanu spójnego w inny
Transakcje Wykład z bazy danych dla studen
Transakcje Wykład z bazy danych dla studentów matematyki 19 kwietnia 2015 Transakcje Jedno z podstawowych pojęć współczesnych systemów baz danych. Umożliwiaja współbieżny dostęp do baz danych dostarczajac
Wprowadzenie do projektowania i wykorzystania baz danych. Katarzyna Klessa
Wprowadzenie do projektowania i wykorzystania baz danych Katarzyna Klessa POWTÓRKA Z PIERWSZYCH ZAJĘĆ Lista słówek - do zapamiętania na początek Z podstaw SQL: CREATE - Tworzenie tabeli, czyli Coś czego
Bazy danych 9. Klucze obce Transakcje
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2007/08 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka
Bazy danych 9. Klucze obce Transakcje. P. F. Góra
Bazy danych 9. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2009 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób
Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Transakcje i ich właściwości Transakcje Tadeusz Pankowski wwwputpoznanpl/~tadeuszpankowski W SZBD stosuje się pojęcie transakcji jako jednostki operowania na bazie danych podlegającej sterowaniu i kontroli
Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje
Transakcje Pojęcie transakcji Pojęcie transakcji stało się centralnym elementem w wielu współczesnych zastosowaniach baz danych. Jest kluczowym pojęciem pozwalającym zrozumieć zarówno kontrolę wielodostępu,
Izolacje transakcji oraz anomalie. Robert A. Kłopotek Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW
Izolacje transakcji oraz anomalie Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW SZBD (DBMS) a transakcji Przetwarzanie transakcyjne wymaga znaczącego
Plan wykładu. Przykład. Wprowadzenie BAZY DANYCH. Transakcje Hurtownie danych
Plan wykładu 2 BAZY DANYCH Wykład 5: Transakcje. Hurtownie danych. Transakcje Hurtownie danych Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka Wprowadzenie Przykład Zmiany zachodzące
Transakcje jednocześnie ACID
Transakcje Transakcja to zbiór operacji (u nas - instrukcji języka SQL), które mogą być wykonane jedynie wszystkie lub żadna. Nazwa takiego ciągu instrukcji pochodzi od operacji bankowych - przelew musi
Bazy danych 6a. Transakcje. P. F. Góra
Bazy danych 6a. Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2018 Transakcje Pojedynczy użytkownik ochrona szczególnie wrażliwych fragmentów. Transakcja wykonuje się albo w całości, albo
Plan ćwiczenia. Rozdział 17 Zarządzanie współbieżnością. Dostęp współbieżny a dostęp spójny. Spójność bazy danych
Plan ćwiczenia Rozdział 17 Zarządzanie współbieżnością Definicja i własności transakcji, zatwierdzanie i wycofywanie, punkty bezpieczeństwa, spójność, anomalie współbieżnego dostępu do danych, poziomy
Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. UŁ. Tadeusz Antczak. Transakcje
Transakcje Pojęcie transakcji Pojęcie transakcji stało się centralnym elementem w wielu współczesnych zastosowaniach baz danych. Jest kluczowym pojęciem pozwalającym zrozumieć zarówno kontrolę wielodostępu,
Zarządzanie transakcjami
Zarządzanie transakcjami Właściwości ACID Przyjmuje się, że transakcje i protokoły zarządzania transakcjami powinny posiadać właściwości ACID: Atomowość (atomicity) każda transakcja stanowi pojedynczą
Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):
Utwórz bazę danych Cw: CREATE DATABASE Cw Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): DBCC USEROPTIONS Przykład z zapisem do tabeli tymczasowej: --Jeśli istnieje tabela tymczasowa
Wielowersyjne metody synchronizacji transakcji
Wielowersyjne metody synchronizacji transakcji Jednowersyjne algorytmy synchronizacji Wszystkie modyfikacje danych polegają na zniszczeniu starej wartości danych i wpisaniu w jej miejsce nowej wartości.
Przechowywanie danych
Przechowywanie danych Wykorzystanie systemu plików, dostępu do plików za pośrednictwem systemu operacyjnego i proste rozwiązanie polegające na przechowywaniu każdej tabeli w jednym pliku, informacji o
PODSTAWY BAZ DANYCH. 11. Transakcje. 2009/ Notatki do wykładu "Podstawy baz danych"
PODSTAWY BAZ DANYCH 11. Transakcje 1 Zbiór cech transakcji Transakcja jest to zespół operacji na bazie danych (INSERT, UPDATE, DELETE) charakteryzujący się następującymi własnościami: Niepodzielność (Atomicity)
Bazy danych Transakcje
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:
Ćwiczenie 9 współbieŝność
Bazy Danych Ćwiczenie 9 współbieŝność Zarządzanie współbieŝnością Ćwiczenie 9 współbieŝność Niniejsze ćwiczenie zaprezentuje zagadnienia związane z problemami wynikającymi ze współbieŝnego dostępu uŝytkowników
Bazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca
Bazy danych 7. Klucze obce Transakcje. P. F. Góra
Bazy danych 7. Klucze obce Transakcje P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2011 Dygresja: Metody przechowywania tabel w MySQL Tabele w MySQL moga być przechowywane na kilka sposobów. Sposób
Rozdział 17. Zarządzanie współbieżnością zadania
Rozdział 17. Zarządzanie współbieżnością zadania Transakcja DML 1. Uruchom narzędzie Oracle SQL Developer i przyłącz się do bazy danych. Następnie rozpocznij nową transakcję, zmieniając pracownikowi o
Wprowadzenie (1) Przetwarzanie transakcyjne. Wprowadzenie (2) Problemy przygotowania aplikacji
1 Wprowadzenie (1) 2 Baza danych jest abstrakcyjnym odzwierciedleniem wybranego fragmentu rzeczywistości (ang. miniworld) Przetwarzanie transakcyjne świat rzeczywisty miniworld' DB świat wirtualny miniworld'
Administracja i programowanie pod Microsoft SQL Server 2000
Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Transakcje i blokady Wprowadzenie do transakcji, rodzaje transakcji Punkty zapisu, odzyskiwanie
Rozproszone i obiektowe systemy baz danych
Rozproszone i obiektowe systemy baz danych Dr inż. Robert Wójcik Wykład 7. Transakcje i zapytania rozproszone 7.1. Transakcje rozproszone 7.2. Zapytania rozproszone 7.1. Transakcje rozproszone W systemach
Zarządzanie obiektami bazy danych Oracle11g
Zarządzanie obiektami bazy danych Oracle11g Wstęp Obiekty to struktury przechowujące, porządkujące lub operujące na danych takie jak: Tabele Więzy integralności Indeksy Widoki Sekwencje Procedury Linki
PODSTAWY BAZ DANYCH Wykład 9
PODSTAWY BAZ DANYCH Wykład 9 7. Transakcje Podstawy teoretyczne 2005/2006 Wykład "Podstawy baz danych" 1 Zbiór cech transakcji Transakcja jest to zespół operacji na bazie danych (INSERT, UPDATE, DELETE
Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski. Poznań, 30.09.2015
Iwona Milczarek, Małgorzata Marcinkiewicz, Tomasz Staszewski Poznań, 30.09.2015 Plan Geneza Architektura Cechy Instalacja Standard SQL Transakcje i współbieżność Indeksy Administracja Splice Machince vs.
Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I
Algorytmy zarządzania współbieżnym wykonywaniem transakcji część I Wykład przygotował: Tadeusz Morzy BD wykład 9 Celem wykładu jest przedstawienie i omówienie podstawowych algorytmów zarządzania współbieżnym
I. Techniki wielowersyjne sterowania współbieżnością
I. Techniki wielowersyjne sterowania współbieżnością Techniki wielowersyjne multiversion concurrency control. Technika wielowersyjna oparta na znacznikach czasu Dla każdej wersji X i elementu X przechowywane
Internetowe bazy danych
Wyższa Szkoła Technologii Teleinformatycznych w Świdnicy Internetowe bazy danych wykład 3 dr inż. Jacek Mazurkiewicz e-mail: Jacek.Mazurkiewicz@pwr.wroc.pl Typy tabel MySQL domyślny MyISAM inne możliwe:
Paweł Rajba
Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Transakcje i blokady Wprowadzenie do transakcji, rodzaje transakcji Punkty zapisu, błędy w transakcjach Zagnieżdżanie, zabronione instrukcje Używanie
Rozdział 1 Wprowadzenie do baz danych. (c) Instytut Informatyki Politechniki Poznańskiej 1
Rozdział 1 Wprowadzenie do baz danych 1 Model danych 2 Funkcje systemu zarządzania bazą danych Wymagania spójność bazy danych po awarii trwałość danych wielodostęp poufność danych wydajność rozproszenie
Algorytmy zarządzania współbieżnym wykonywaniem transakcji część II
Algorytmy zarządzania współbieżnym wykonywaniem transakcji część II Wykład przygotował: Tadeusz Morzy BD wykład 9 Kontynuujemy prezentację i omówienie algorytmów zarządzania współbieżnym wykonywaniem transakcji.
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik
Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie
Ćwiczenie 3. Współbieżność i transakcje
Ćwiczenie 3. Współbieżność i transakcje 1. Uruchomienie/sprawdzenie środowiska do ćwiczeń Czas trwania: 10 minut Dwiczenie będzie realizowane na wirtualnej maszynie, na której został zainstalowany system
OLTP Przetwarzanie Transakcyjne
ZTB: OLTP Przetwarzanie Transakcyjne 1 Zaawansowane Technologie Bazodanowe Wykład p.t. OLTP Przetwarzanie Transakcyjne ZTB: OLTP Przetwarzanie Transakcyjne 2 Pojęcie transakcji w bazach danych Transakcje
Informatyka (7-8) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro
Informatyka (7-8) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Powtórzenie Tabela, rekord, krotka, wiersz Atrybut, kolumna,
3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota
Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)
Podstawy języka SQL - dokończenie TRANSAKCJE 1
Podstawy języka SQL - dokończenie TRANSAKCJE 1 Czasami zachodzi potrzeba, aby pewna grupa operacji była nierozłączna tzn. albo wykonane powinny zostać wszystkie albo żadna z nich. Najprostszym przykładem
Bazy danych. Plan wykładu. Czynniki wpływające na fizyczny projekt bazy danych. bazy danych
Plan wykładu Bazy danych Wykład 13: Praktyczne projektowanie i strojenie baz danych. Wstęp do transakcji. Budowa fizycznego projektu bazy danych Strojenie bazy danych Transakcje Małgorzata Krętowska e-mail:
Obsługa transakcji rozproszonych Java. Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska
Obsługa transakcji rozproszonych w języku j Java Marek Wojciechowski, Maciej Zakrzewicz Instytut Informatyki, Politechnika Poznańska Plan prezentacji Transakcje i ich własności Proste transakcje w JDBC
Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe
Rozdział 17. Zarządzanie współbieżnością zadania dodatkowe -- Definicje relacji i utworzenie stanu początkowego dla ćwiczeń z synchronizacji transakcji DROP TABLE Konta cascade constraints; DROP TABLE
TECHNIKI STEROWANIA WSPÓŁBIEŻNOŚCIĄ. I. Wybrane problemy współbieżności. Utracona aktualizacja (lost update)
TECHNIKI STEROWANIA WSPÓŁBIEŻNOŚCIĄ I. Wybrane problemy współbieżności Utracona aktualizacja (lost update) Przykład: Mąż wybiera 300 zł (ze wspólnego z żoną konta) w bankomacie A, w tym samym czasie żona
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
Zarządzanie współbieżnością transakcji Definicja transakcji Transakcja jest sekwencją logicznie powiązanych operacji na bazie danych, która przeprowadza bazę danych z jednego stanu spójnego w inny stan
Wykład 8. SQL praca z tabelami 5
Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu
Bazy danych i usługi sieciowe
Bazy danych i usługi sieciowe SQL dokończenie Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk (Wydział Fizyki) BDiUS w. V Jesień 2016 1 / 39 Data Manipulation Language Zapytania klauzula SELECT Wstawianie
Podstawy teoretyczne baz danych. Recovery Transakcyjne odtwarzanie bazy danych po awarii
Podstawy teoretyczne baz danych Recovery Transakcyjne odtwarzanie bazy danych po awarii Cel odtwarzania Podstawowym celem mechanizmów transakcyjnego odtwarzania bazy danych po awarii jest odtworzenie spójnego
Rozproszone bazy danych 2
Rozproszone bazy danych 2 Zarządzanie transakcjami rozproszonymi Laboratorium przygotował: Robert Wrembel ZSBD laboratorium 2 (1) 1 Plan laboratorium Transakcja rozproszona - podstawowe cechy Uczestnicy
SQL w języku PL/SQL. 2) Instrukcje języka definicji danych DDL DROP, CREATE, ALTER, GRANT, REVOKE
Instrukcje SQL dzielimy na następujące kategorie: 1) Instrukcje języka manipulowania danymi (DML) SELECT, INSERT, UPDATE, DELETE, SET TRANSACTION, EXPLAIN PLAN 2) Instrukcje języka definicji danych DDL
Wyzwalacze (triggery) Przykład
Wyzwalacze (triggery) Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę, a następnie trigger związany
Obowiązuje od wersji
Obowiązuje od wersji 8.30.0 1. Wstęp czym są gniazda rozszerzeń?... 2 2. Edytor gniazd rozszerzeń - informacje podstawowe... 3 3. Dostępne rodzaje funkcji w gniazdach rozszerzeń... 6 3.1 Procedura SQL...
Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie.
Temat: Wyzwalacze (triggery). Trigger jest obiektem związanym z tablicą, który aktywuje się gdy do tablicy następuje odpowiednie zapytanie. W poniższym przykładzie definiujemy tablicę a następnie trigger
Transakcyjne przetwarzanie danych
Do tej pory jedynie odczytywaliśmy zapisane w bazach informacje. W tym odcinku nauczysz się wstawiać, usuwać i modyfikować dane. Dowiesz się również, czym jest transakcja, blokada i na czym polega transakcyjne
Wykłady z przedmiotu Podstawy baz danych Transakcje dr hab. prof. nadzw. Tadeusz Antczak. Transakcje
Transakcje Pojęcie transakcji Pojęcie transakcji stało się centralnym elementem w wielu współczesnych zastosowaniach baz danych. Jest kluczowym pojęciem pozwalającym zrozumieć zarówno kontrolę wielodostępu,
Bazy danych - Materiały do laboratoriów VIII
Bazy danych - Materiały do laboratoriów VIII dr inż. Olga Siedlecka-Lamch Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 23 kwietnia 2011 roku Polecenie COMMIT i ROLLBACK Polecenie
Microsoft SQL Server Podstawy T-SQL
Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania
Tadeusz Pankowski
Planista (scheduler) Transakcje Blokowanie Dwufazowe (B2F) Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski Zarządzaniem transakcjami zajmuje się wyspecjalizowany moduł planisty. Planista związany
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:
PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł mysqli ma dwa interfejsy: proceduralny i obiektowy) PostgreSQL Oracle MS
DECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
E.14 Bazy Danych cz. 15 SQL Transakcyjne przetwarzanie danych
Transakcje Przetwarzanie transakcyjne Automatyczne zatwierdzanie transakcji Rozpoczynanie transakcji Zatwierdzanie transakcji Wycofywanie transakcji Punkty zachowania Poziomy izolowania transakcji Blokowanie
P o d s t a w y j ę z y k a S Q L
P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p
Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa dwunasty PL/SQL, c.d. 1 / 37 SQL to za mało SQL brakuje możliwości dostępnych w językach proceduralnych.
PODSTAWY BAZ DANYCH 13. PL/SQL
PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących
Procedury składowane. Funkcje vs. procedury Funkcja. Procedura. zazwyczaj ma parametry tylko typu IN; można wywoływać z poziomu
Procedury składowane Kolejnym typem programu języka PL/SQL są procedury składowane. Procedury mogą posiadać parametry typu IN, OUT lub IN OUT. Umożliwiają wykonanie operacji na danych w bazie, mogą też
Wprowadzenie do projektowania i wykorzystania baz danych Relacje
Wprowadzenie do projektowania i wykorzystania baz danych Relacje Katarzyna Klessa Dygresja nt. operatorów SELECT 2^2 SELECT 2^30 SELECT 50^50 2 Dygresja nt. operatorów SELECT 2^30 --Bitwise exclusive OR
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład
ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna
Administracja bazami danych
Administracja bazami danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Klient tekstowy mysql Program mysql jest prostym programem uruchamianym w konsoli shell do obsługi
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści
SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (a) T (b) N (c) N (d) T
PRZYKŁADOWE PYTANIA NA EGZAMIN Z PRZEDMIOTU ADMINISTRACJA BAZAMI DANYCH - 2005/2006-1- A Nazwisko i imię: Kierunek: Rok studiów: Pytanie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Punkty 5 5 5
UPDATE konta /* dodaj do konta B kwotę N */ UPDATE konta /* odejmij kwotę N z konta A */ WHERE id_konta = B; SET stan = stan + N
Definicja transakcji 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 Stan spójny bazy danych Stan spójny
Bazy danych wykład szósty Więzy i wyzwalacze. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)
Bazy danych wykład szósty Więzy i wyzwalacze Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa szósty Więzy i wyzwalacze 1 / 35 Wstęp Wiemy jak nakładać pewne ograniczenia (więzy) w
Język DML. Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE
Język DML Instrukcje DML w różnych implementacjach SQL są bardzo podobne. Podstawowymi instrukcjami DML są: SELECT INSERT UPDATE DELETE Systemy Baz Danych, Hanna Kleban 1 INSERT Instrukcja INSERT dodawanie
Inżynieria oprogramowania. Faza implmentacji. wykład 7
Inżynieria oprogramowania Faza implmentacji wykład 7 Charakterystyka fazy implementacji Faza określenia wymagań: CO system ma robić? Faza analizy: JAK system ma działać? Faza projektowania: JAK system
Wzorce dystrybucji i wspólbieżności autonomicznej
Wzorce dystrybucji i wspólbieżności autonomicznej 1. Wzorce dystrybucji, fasada zdalna (Remote Facade), obiekt transfery danych (Data Transfer Object), 2. Wzorce współbieżności autonomicznej, blokada optymistyczna
Cel odtwarzania. Transakcyjne odtwarzanie bazy danych. Modele awarii. Efektywność odtwarzania MTTF
1 Cel odtwarzania 2 Transakcyjne odtwarzanie bazy danych Podstawowym celem mechanizmów transakcyjnego odtwarzania bazy danych po awarii jest odtworzenie spójnego stanu bazy danych Definicja odtwarzania
Adam Cankudis IFP UAM
W s t ę p d o r e l a c y j n y c h b a z d a n y c h Adam Cankudis IFP UAM B i b l i o g r a f i a T. Morzy i in., Bazy danych, [w:] Studia Informatyczne, Pierwszy stopie ń, http://wazniak.mimuw.edu.pl/
Instrukcje SQL można podzielić na pięć kategorii, które zostały przedstawione w poniższej tabeli.
SQL W JĘZYKU PL/SQL Strukturalny język zapytań SQL określa sposób manipulowania danymi w bazie danych. Konstrukcje proceduralne języka PL/SQL stają się bardziej użyteczne w połączeniu z mocą przetwarzania
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska
Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion Autor: Joanna Karwowska SQL zapewnia obsługę: zapytań - wyszukiwanie danych w bazie, operowania danymi - wstawianie, modyfikowanie
LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,
Informatyka sem. III studia inżynierskie Transport 2018/19 Lab 6 LAB 6 TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL, UPDATE, INSERT INTO, ALTER TABLE, CREATE VIEW, CREATE TRIGGER, FUNCTION,
Laboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.
Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN
Oracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?
Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych
Plan wykładu BAZY DANYCH II WYKŁAD 3 Zasięg zmiennych Zmienne powiązane Instrukcje warunkowe Pętle Pobieranie danych SQL w PL/SQL Rekordy dr inż. Agnieszka Bołtuć Zasięg zmiennych Zmienna jest dostępna
Zarządzanie bazą danych. Bazy Danych i Systemy informacyjne Wykład 4. Piotr Syga
Bazy Danych i Systemy informacyjne Wykład 4 Piotr Syga 26.10.2018 Procedury review Przypomnienie składni procedur Tworzenie DELIMITER $$ CREATE PROCEDURE zliczacz (OUT wynik INT) BEGIN operacje... END