Zaawansowane Systemy Baz Danych

Transkrypt

Zaawansowane Systemy Baz Danych
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