160 likes | 285 Views
Wycofywanie potwierdzonych transakcji. Prezentacja pracy magisterskiej Autor pracy: Tomasz Warzycha Promotor: Dr hab. Kazimierz Subieta. Plan prezentacji. Wprowadzenie Kontekst pracy Stan rzeczy Koncepcje projektowe Rozwiązanie problemu Prototyp Podsumowanie. Wprowadzenie.
E N D
Wycofywanie potwierdzonych transakcji Prezentacja pracy magisterskiej Autor pracy: Tomasz Warzycha Promotor: Dr hab. Kazimierz Subieta
Plan prezentacji • Wprowadzenie • Kontekst pracy • Stan rzeczy • Koncepcje projektowe • Rozwiązanie problemu • Prototyp • Podsumowanie Wycofywanie potwierdzonych transakcji
Wprowadzenie • Podstawowe pojęcia: transakcja i jej właściwości, szeregowalność, synchronizacja i strategie zapewniania współbieżności, zamki, ziarnistość, zakleszczenie, poziomy izolacji • Procesy i składniki OLTP: log, odtwarzanie ponawianie, savepoint, checkpoint, kopia bezpieczeństwa, replikacja Wycofywanie potwierdzonych transakcji
Kontekst pracy • Na czym polega problem? Wycofywanie potwierdzonych transakcji. • Popyt na rozwiązanie, czyli kto jest lub ewentualnie mógłby być zainteresowany wdrożeniem. IPN – Instytut Pamięci Narodowej Wycofywanie potwierdzonych transakcji
Stan rzeczy • Komercyjny świat baz danych: Oracle,Microsoft...– kopia bezpieczeństwa SCN – System Change Number wycofywanie możliwe tylko dla otwartej transakcji, brak historii transakcji. • Wniosek: rozwiązanie nowatorskie Wycofywanie potwierdzonych transakcji
Koncepcje projektowe • Generowanie plików tekstowych *.SQL lub plików *.XML z zawartością transakcji wady i zalety koncepcji • Podpięcie pod procesy zapisujące log transakcji prawo Greena: wszystko jest możliwe pod warunkiem, że nie wiesz o czym mówisz Wycofywanie potwierdzonych transakcji
Rozwiązanie problemu • Historia transakcji transakcji zapewniona poprzez sztuczny log: dziennik transakcji i kopia bazy danych • Historia transakcji zapisana w bazie danych • Pełna automatyzacja zapisu danych transakcji i ich opisu do logu dzięki wyzwalaczom Wycofywanie potwierdzonych transakcji
Rozwiązanie problemu #2 • Oprogramowanie przy użyciu języka zapytań i proceduralnych rozszerzeń • Korzystanie z bazy danych identyczne jak bez funkcji wycofywania potwierdzonych transakcji. Użytkownik końcowy nie musi wiedzieć niczego nowego, aby obsługiwać aplikacje, z których korzystał do tej pory. Wycofywanie potwierdzonych transakcji
Schemat rozwiązania przyjętego w pracy BAZA KOPIA DZIENNIK TRANSAKCJI Konsola administratora – dostęp do interfejsu Wycofywanie potwierdzonych transakcji
Prototyp - baza • Do każdej tabeli w bazie dodano trzy kolumny identyfikujące: wiersz, transakcję i kolejną zmianę w danej transakcji • Na każdej tabeli działają wyzwalacze, które automatycznie wypełniają pola w w/w kolumnach. Wycofywanie potwierdzonych transakcji
Prototyp - kopia • Druga baza danych, której struktura tabel jest identyczna z macierzystą bazą danych, nie ma innych obiektów • Celem kopii jest pamiętanie danych transakcji, które zostały potwierdzone • Dane pamiętane w kopii służą do realizacji procesów wycofywania i odtwarzania transakcji Wycofywanie potwierdzonych transakcji
Prototyp – dziennik transakcji • Realcja trzech tabel. Służy do pamiętania opisów transakcji i sterowania interfejsem. • Informacje pamiętane: kto, kiedy, z którego terminala rozpoczął transakcję, sesja i jej transakcje, transakcja i jej zmiany, typ zmiany: insert,update,delete, status transakcji: wycofana, odtworzona ... Wycofywanie potwierdzonych transakcji
Prototyp - interfejs • Procedury składowane do wyszukiwania opisów transakcji w/g: przedziału czasu, użytkownika, statusu. • Dokładny opis transakcji oraz jej dane w przypadku transakcji nienadpisanych • Zablokowanie i odblokowanie możliwości wycofywania Wycofywanie potwierdzonych transakcji
Prototyp – interfejs #2 • Usunięcie danych służących do wycofania transakcji w przypadku gdy transakcja napewno nie będzie wycofywana • Procedury realizujące wycofywanie i odtwarzanie potwierdzonej transakcji • Procedury sprawdzające drzewa transakcji nadpisujących i nadpisywanych Wycofywanie potwierdzonych transakcji
Uwagi, wnioski, ulepszenia • Czas przetwarzania • Współbieżność • Automatyzacja tworzenia obiektów zapewniających proces wycofywania potwierdzonych transakcji • Pełna obsługa złożonych typów np. Image • Obsługa transakcji rozproszonych Wycofywanie potwierdzonych transakcji
Podsumowanie • Edukacyjny charakter pracy, przejrzysty kod SQL, wskazówki dotyczące budowy systemów wycofywania potwierdzonych transakcji w oparciu o koncepcję przyjętą w pracy • Zachowane kryterium implementacji w każdym relacyjnym systemie zarządzania baz danych Wycofywanie potwierdzonych transakcji