Zaawansowane Systemy Baz Danych dr inż. Olga Siedlecka [email protected] Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska 4 maja 2009 r. Zaawansowane SZBD Plan seminarium Wprowadzenie Stosowane najczęściej rozwiązania i ich wady Zaawansowane technologie: Aktywne systemy baz danych Semistrukturalne systemy baz danych Multimedialne systemy baz danych Strumieniowe systemy baz danych Temporalne systemy baz danych MMDBS Mikro systemy baz danych Podsumowanie Zaawansowane SZBD Wprowadzenie Czym jest baza danych Baza danych w różnych aspektach: aspekt składniowy i operacyjny - baza danych to spójny zestaw danych i metadanych, posiadających zdefiniowaną strukturę, na których można wykonać operacje wyszukiwania i aktualizacji; aspekt semantyczny - baza danych ma za zadanie odwzorowanie fragmentu świata rzeczywistego; aspekt pragmatyczny - tworzona do określonych zadań, w celu szybkiego uzyskiwania informacji. Zaawansowane SZBD Wprowadzenie Baza danych to uporządkowany zbiór logicznie powiązanych ze sobą informacji, której zadaniem jest odwzorowanie fragmentu rzeczywistości w sposób spójny, ułatwiający przechowywanie i przeszukiwanie danych. Dane przechowywane w bazie danych muszą spełniać następujące warunki: zgodność z rzeczywistością trwałość Zaawansowane SZBD Wprowadzenie Model danych Model danych metajęzyk do mówienia o danych i systemach bazodanowych sposób rozumienia organizacji danych ogólne założenia dotyczące architektury bazy danych teorie matematyczne dotyczące struktur danych i dostępu do danych Zaawansowane SZBD Wprowadzenie System zarządzania bazą danych I System zarządzania bazą danych - SZBD (ang. database management system - DBMS) jest zorganizowanym zbiorem narzędzi , umożliwiającym gromadzenie, utrzymywanie i administrowanie trwałymi i masowymi zbiorami danych. System bazy danych to baza danych i system zarządzania bazą danych. Zaawansowane SZBD Wprowadzenie System zarządzania bazą danych II SZBD oferuje: język do obsługi i definowania danych, zarządzania systemem oraz transakcjami spójność i bezpieczeństwo danych szybki dostęp do danych współbieżność dostępu niezależność danych administracje danymi rożnorodność interfejsów efektywne składowanie i przetwarzanie danych Zaawansowane SZBD Popularne rozwiązania Popularne rozwiązania Najczęściej stosowane rozwiązania wśród SZBD: postrelacyjne bazy danych - bazy relacyjne poszerzone o : elementy obiektowości, obsługę xml, rozwiązania analityczne, zapytania historyczne, itd.... obiektowe bazy danych. Zaawansowane SZBD Popularne rozwiązania Wady Wady popularnych rozwiązań: SZBD do wszystkiego - czyli do niczego, model relacyjny zbyt płaski dla odwzorowania świata rzeczywistego, nadbudowanie modelu relacyjnego ulepszeniami z innych modeli zaburzyło jego jasną strukturę, problemy ze standaryzacją danych, problemy z wydajnością, pasywność, przechowywanie jednego (często jedynie aktualnego) obrazu rzeczywistości. Zaawansowane SZBD Popularne rozwiązania Technologie bazodanowe Zaawansowane SZBD Aktywne systemy baz danych Aktywne systemy baz danych Aktywny system baz danych - system, który jest aktywny nawet wtedy, gdy nie są do niego jawnie kierowane żadne transakcje czy żądania. Zmiana stanu bazy następuje na skutek: zajścia określonego zdarzenia zewnętrznego, zakończenia realizacji określonego zbioru transakcji kierowanych do SZBD upływu określonego kwantu czasu, kombinacji dwóch powyższych przypadków. Zaawansowane SZBD Aktywne systemy baz danych Cechy aktywnych systemów baz danych Aktywne systemy baz danych wykorzystują: model definiowania aktywnych reguł: Event - Condition - Action, modele aktywności - zależności czasowe i przyczynowo-skutkowe między zdarzeniami i akcjami, operatory zdarzeniowe. Zaawansowane SZBD Semistrukaturalne systemy baz danych Semistrukturalne systemy baz danych I Semistrukturalny system baz danych - zapewnia trwałe przechowywanie danych w strukturach XML, wykorzystuje języki zapytań takie jak: XQuery, XPath, XQL, XML-QL, QUILT, posiada bardzo dobrą przenaszalność. Umożliwia zagnieżdżanie i hierarchizacje danych. Przykłady: dbXML eXist Sedna BaseX Zaawansowane SZBD Semistrukaturalne systemy baz danych Semistrukturalne systemy baz danych II Podejście dano-centryczne: XML wykorzystywany jako medium transportowe regularna struktura dokumentów dane na niskim poziomie szczegółowości dane pochodzą z bazy danych lub mają być wprowadzone do bazy danych Podejście dokumento-centryczne dokumenty najczęściej tworzone ręcznie nieregularna struktura dokumentów stosunkowo duża ziarnistość danych Zaawansowane SZBD Multimedialne systemy baz danych Multimedialne systemy baz danych I Multimedialny system baz danych - jego przeznaczeniem jest przechowywanie i wyszukiwanie danych dotyczących zawartości multimedialnych (nagrań muzycznych, filmów, grafiki, itp.). Klasyfikacja danych: ciągłe (dźwięk, mowa, animacja, video) - uwzględnienie wymiaru czasu dyskretne (tekst, obraz, grafika komputerowa, typy konwencjonalne) bez uwzględniania czasu. Zaawansowane SZBD Multimedialne systemy baz danych Multimedialne systemy baz danych II Wyzwania: duży rozmiar danych, brak standardu przechowywania informacji multimedialnej, sposób przesyłania danych multimedialnych nie jest ujednolicony, kompresja, synchronizacja w odtwarzaniu różnych elementów przekazu, język zapytań dostosowany do danych multimedialnych. Zaawansowane SZBD Strumieniowe systemy baz danych Strumieniowe systemy baz danych Strumieniowy system baz danych - dane są przedstawione w postaci zbioru strumieni danych, umożliwiający analizę serii czasowych i przetwarzanie danych napływajacych z dużą szybkością. Cechy: ciągłe zapytania (plan realizacji jest zamknięty w martwej pętli), strumień danych ma charakter nieskończony (odmienne operatory złączenia i funkcje agregujące), zapytania predefiniowane i zadawane ad-hoc, algebry strumieni danych. Zaawansowane SZBD Strumieniowe systemy baz danych Zastosowania strumieniowych systemów baz danych Zastosowania strumieniowych systemów baz danych medyczne systemy monitorujące, kontrola sieci czujników, monitorowanie ruchu danych w sieciach, wspomaganie bieżącej analizy finansowej, bieżąca analiza transakcji, zastosowania militarne, itp... Przykłady: Stream, Borealis, TelegraphCQ, NiagaraCQ, Cougar. Zaawansowane SZBD Temporalne systemy baz danych Temporalne systemy baz danych Temporalny system baz danych - dla każdej danej przechowuje jej czas ważności (okres, w którym dany fakt jest prawdziwy względem świata rzeczywistego) oraz czas transakcji (okres, w którym dany fakt jest zapisany w bazie danych). Cechy: temporalny język definicji, modyfikacji i wyszukiwania danych, wsparcie temporalnych ograniczeń integralnościowych, algebra relacyjna rozszerzona o operacje uwzględniające czas. Przykłady: TimeDB, Tiger. Zaawansowane SZBD MMDBS Main Memory Database System Main Memory Database System - bazy danych w pamięci operacyjnej, gdzie plik bazy danych jest odwzorowywany w wirtualną przestrzeń pamięci przydzielonej do danej aplikacji. Cechy: bardzo szybkie wykonywanie zapytań (użycie specyficznych algorytmów), pionowa fragmentacja kolumn, natychmiastowe odtwarzanie po awarii, stosowanie pobierania wyprzedzającego, konieczność stosowania tradycyjnych baz danych jako back-office, sortowanie indeksów złączeniowych. Przykłady: DataBlitz, FastDB, Oracle TimesTen, Polyhedra, eXtremeDB, Monet, Tachyon. Zaawansowane SZBD Mikro systemy baz danych Mikro systemy baz danych Mikro system baz danych - okrojony, uproszczony system baz danych. Cechy: prostota, funkcjonalność zaspokajająca potrzeby wielu aplikacji, przenaszalność, baza danych często w jednym pliku, mikro-rozmiar, kompilacja poleceń SQL do wirtualnego kodu maszynowego (SQLLite). Przykłady: SQLite, HSQLDB, tinySQL, picoSQL, Mckoi SQL, Axion itp.... Zaawansowane SZBD Podsumowanie Podsumowanie Potrzeba specjalizacji systemów baz danych dla określonych zastosowań Odejście od modeli relacyjnych, obiektowych i relacyjno-obiektowych Uwzględnienie czasu Uwzględnienie danych ciągłych Dopasowanie algebry, operatorów i języków Brak jednego kierunku rozwoju - wiele równoważnych kierunków Szeroki wachlarz rozwiązań bazodanowych związanych z wolnym oprogramowaniem Zaawansowane SZBD Źródła S. Kozielski, B. Małysiak, P. Kasprowski, D. Mrożek, Bazy Danych: Modele, Technologie, Narzędzia, WKŁ 2005 http://www.cs.put.poznan.pl/mmorzy/ C.Zaniolo, S.Ceri, Ch.Faloutsos, R.T. Snodgrass, V. S. Subrahmanian, R.Zicari, Advanced Database Systems, Morgan Kaufmann, 1997 http://putwiki.informatyka.org/wiki/Kategoria: Zaawansowane_systemy_baz_danych http://wazniak.mimuw.edu.pl/index.php?title= Zaawansowane_systemy_baz_danych Zaawansowane SZBD