150 likes | 313 Views
Opracowanie ćwiczeń dotyczących zapewniania niezawodności baz danych na przykładzie Oracle. Opiekun : dr inż. Agnieszka Landowska Dyplomant : Tomasz Krzyżanowski. Cel pracy.
E N D
Opracowanie ćwiczeń dotyczących zapewnianianiezawodnościbaz danych na przykładzie Oracle Opiekun : drinż. Agnieszka Landowska Dyplomant : Tomasz Krzyżanowski
Cel pracy • Celem pracy było rozpoznanie metod zapewniania niezawodności baz danych (od strony programisty, NIE administratora) w aplikacjach z dużymi wymaganiami jakościowymi, ze szczególnym uwzględnieniem bazy danych Oracle, • Opracowanie przykładów i ćwiczeń związanych z zapewnianiem niezawodności.
Zadania do wykonania • Praktyczne rozpoznanie mechanizmów zapewniania niezawodności baz danych z punktu widzenia ich programisty. • Analiza mechanizmów zapewniania niezawodności bazy danych Oracle. • Opracowanie zestawów przykładów i ćwiczeń związanych z niezawodnością baz danych. • Opracowanie zestawu zaleceń i reguł (dobrych praktyk) związanych z niezawodnością baz danych.
Plan pracy • Identyfikacja problemów związanych z niezawodnością • Zaproponowanie paru rozwiązań dla każdego z problemów • Implementacja rozwiązań • Porównanie rozwiązań • GQM • Lista dobrych praktyk • Opracowanie ćwiczeń
Lista problemów i rozwiązań P1. Monitorowanie zmian danych R1. Zapisywanie wszystkich zmian danych do jednej tabeli logującej R2. Wykorzystanie kontroli wersji do śledzenia zmian w konfiguracji R3. Wykorzystanie zmodyfikowanego dziennika widoku zmaterializowanego P2. Replikacja danych z poziomu programisty R1. Podstawowe operacje bazodanowe DML wykonywane jednocześnie w dwóch lokalizacjach R2. Wykorzystanie mechanizmu wyzwalaczy dla podstawowych operacji bazodanowych R3. Mechanizm perspektywy zmaterializowanej
Lista problemów i rozwiązań P3. Struktura uprawnień i kontrola użytkowników R1. Dane aplikacji przechowywane w tabelach bazy danych w osobnym schemacie R2. Wykorzystanie warstwy dostępu do danych w postaci widoków R3. Wykorzystanie warstwy dostępu do danych w postaci pakietów PL/SQL P4. Zachowanie aplikacji podczas niedostępności bazy danych P5. Połączenie z bazą danych z poziomu aplikacji i sposoby przeprowadzania transakcji w ramach tych połączeń
Przykład – definicja problemu „P1. Monitorowanie zmian danych” • Historia zmian • Możliwość odtworzenia • Zabezpieczenie przed błędami użytkownika • Zabezpieczenie przed umyślnymi atakami
GQM dla problemu GQM Cel (G) • Przeanalizować przestrzeń rozwiązań problemu monitorowania zmian danych z perspektywy programisty baz danych w środowisku Oracle, by zapewnić najbardziej efektywny mechanizm danego problemu. Pytania (Q) i metryki (M) Q1 : Jaka jest złożoność rozwiązania? • M1 : Linie kodu utworzonego rozwiązania [LOC] • M2 : Linie kodu mechanizmu odtwarzania [LOC] Q2 :Jaka jest zajętość pamięci? • M3 : Oszacowanie liczby wierszy tabel ze zmianami dla przykładowych wartości [liczba naturalna] • M4 : Oszacowanie średniego rozmiaru wiersza tabel ze zmianami dla przykładowych wartości [liczba naturalna] Q3 : Jaka jest wydajność rozwiązania? • M5 : Narzut czasowy wykonania operacji zmiany danych [s] • M6 : Czas wyszukania zmiany [s] • M7 : Czas odtwarzania [s]
Eksperyment • Problem monitorowania zmian danych • Porównanie dwóch wariantów rozwiązania „R1. Zapisywanie wszystkich zmian danych do jednej tabeli logującej” • R1.a - Zmiana wartości pojedynczej kolumny jako wiersz w tabeli logującej • R1.b - Zmiana danych w wierszu powoduje zapisanie starej i nowej wartości całego wiersza
Eksperyment - wyniki • Analiza wyników pomiarów • Stworzenie listy zaleceń
Podsumowanie • Rozpatrzono 3 główne problemy • Zaimplementowano 15 rozwiązań • Wykonano 5 eksperymentów • Opracowano 18 metryk • Przeprowadzono 155 pomiarów • Napisano 5.2 KLOC • Utworzono listę dobrych praktyk • Lista 16 zaleceń • Zaproponowano sposób realizacji ćwiczeń w oparciu o wykonane rozwiązania • Lista 22 zadań