Upload
hoangkiet
View
267
Download
0
Embed Size (px)
Citation preview
1
Kierunki rozwoju baz danych i technologii z nimi związanych
Adam Pelikant
Definicja bazy danychKażdy uporządkowany zbiór informacji (danych) nazywamy bazą danych
Aplikację pozwalającą na zarządzanie, manipulowanie danymi, która zapewnia trwałość danych oraz kontrolę dostępu do nich nazywamy systemem zarządzania bazą danych - SZBD
Modele danych
– Hierarchiczny
– Sieciowy
Relacyjny
+ Obiektowy
ID Pole1 Pole2 ... PoleN 1 2 3
ID Pole1 - FK Pole2 ... PoleN 11 1 22 2 33 1 44
...
...
...
...
TwórcyEdgar Frank "Ted" Codd(23 sierpnia 1923 – 18 kwietnia 2003) w 1970 wydał fundamentalną pracę „A Relational Model of Data for Large Shared Data Banks”,w której przedstawił relacyjny model zarządzania bazami danych (słynne 12 tez)
Chris Date (1941) Autor podstawowej pracy„An Introduction to Database Systems”
2
Rozwiązania komercyjne
Larry Ellison
30 lat
DB2 9.5 LOTUS Notes
Adaptive Server Enterprise 15
Inne rozwiązania
Ponad 15 lat
Darmowe
Obiektowe
Jasmine od 1992
Przetwarzanie transakcyjne• OLTP - OnLine Transaction Processing -
przetwarzanie transakcyjne w trybie on-line• Celem jest wspomaganie bieżącej obsługi działalności
danej firmy, dla dobrze zdefiniowanych procesów (np.: obsługa sprzedaży)
• Oparty na transakcjach, które operują na niewielkiej części danych przechowywanych w bazie danych
• Dostarcza rozwiązań dla problemów: efektywnego i bezpiecznego przechowywania danych, optymalizacji dostępu do danych, dostępności danych.
• Podstawowym kryterium oceny efektywności działania systemu OLTP jest liczba transakcji na sekundę
Idea partycjonowania tabel
Tabela 1 Tabela 2
Tabela 3
Rodzaje partycji
•zakresowe,
•listy wartości,
•haszowe,
•mieszane.
3
Partycjonowanie tabel Wybór partycji do której trafi rekord jest realizowany na podstawie wartości jednego lub kilku wybranych atrybutów tabeli – tzw. atrybutów partycjonujących
Algorytmy partycjonowaniaRound-Robin
umożliwia równomierne rozpraszanie danych w węzłach siecidane sąrozpraszane w sposób przypadkowy, więc odnalezienie żądanych informacji wymaga przeszukania wszystkich węzłów
Bazujący na wartościrozmieszczenie danych w sieci zależy od wartości samych danych
Oracle – partycjonowanie zakresowe
Nieograniczony rozmiar ostatniej partycjiSłowo kluczowe maxvalue w ostatniej klauzuli partition wskazuje, że maksymalny zakres tej partycji jest nieograniczony. Tak zdefiniowana partycja będzie przechowywała również rekordy z pustymi wartościami atrybutów partycjonujących, tj. kod_miastaw naszym przykładzie
CREATE TABLE klienci2(klient_id number(10), imie varchar2(25), nazwisko varchar2(25), kod_miasta varchar2(6))PARTITION BY RANGE (kod_miasta)(PARTITION p_klienci_C VALUES LESS THAN ('D') TABLESPACE dane1, PARTITION p_klienci_F VALUES LESS THAN ('G') TABLESPACE dane2,PARTITION p_klienci_M VALUES LESS THAN ('N') TABLESPACE dane3,PARTITION p_klienci_MAX VALUES LESS THAN (MAXVALUE) TABLESPACE dane4);
Oracle – partycjonowanie listoweJeżeli wartość atrybutu partycjonującego dla wstawianego rekordu nie pasuje do wartości żadnej partycji, wówczas system zgłasza błądDefinicję tabeli partycjonowanej można rozszerzyć o partycję umożliwiającą przechowywanie wszystkich innych wartości
do definiowania takiej partycji wykorzystuje się słowo kluczowedefault
CREATE TABLE bilety2 (nr_biletu varchar2(15), cena number(6,2), klient_id number(10),klasa varchar2(12))PARTITION BY LIST (klasa)(PARTITION p_ekonomiczna VALUES ('ekonomiczna') TABLESPACE dane1,PARTITION p_wyzsze VALUES ('business', 'pierwsza') TABLESPACE dane2,PARTITION p_inne VALUES (DEFAULT) TABLESPACE dane3));
4
Oracle – partycjonowanie haszowe
Tabela klienci_part_hash3 zostanie podzielona na trzy partycje umieszczone kolejno w przestrzeniach tabel dane1, dane2 i dane3
CREATE TABLE klienci_part_hash3 (klient_id number(10),Imie varchar2(25), nazwisko varchar2(25), kod_miasta varchar2(6))PARTITION BY HASH (kod_miasta)(PARTITION p_klienci_1 TABLESPACE dane1,PARTITION p_klienci_2 TABLESPACE dane2,PARTITION p_klienci_3 TABLESPACE dane3);
Schemat klastra dla dwóch węzłów
Węzeł 2 Połączenie wewnętrzne
Dane 1 Dane 2
Węzeł 1
Dane współzielone
Połączenie zewnętrzne
Schemat organizacji przetwarzania siatkowego – gridowego
.
Multimedialne bazy danych -geneza problemu
Świat
Dane proste
Obiekty
Zjawiska
Dane złożone
Audio
3D
Video
5
MPEG Moving Picture Experts Group
• MPEG 1 – kompresja • MPEG 2 – kompresja • MPEG 4 – kompresja + obiekty• MPEG 7 – opis zasobów
– Description Tools – metadane, ich struktura i relacje
Etapy analizy multimediów
Ekstrakcja cech
Obraz
Użytkownik
Interfejs
Zapytanie
Szacowanie podobieństwa
Niskopoziome operacje na obrazie
Noncontentmetadata
Dane opisowe Interpretacja Obiekty
i relacja
Przykładowa tabelaRozszerzanie Oracle interMedia
• dodatkowe formaty zapisu• nowe metody kompresji materiału• specjalizowane indeksy• specyficzne metody optymalizacji zapytań• nowe źródła danych• specjalistyczne algorytmy przetwarzania
danych
6
Wyszukiwanie obrazów w multimedialne bazie danych bez angażowania czynnika ich
automatycznego rozumienia
Różne uproszczone schematy wyszukiwania
SafePrzykład odpowiedzi systemu
wyszukiwania obrazów
7
Podział obrazu na regiony będący kluczem do procesu auto-anotacji
Obraz poddawany auto-anotacji
Obraz podzielony na regiony do auto-anotacji
Dane przestrzenne (spatial data)
Podstawowe elementy przestrzenne
Point Line String N-Point Polygon
• Istnieją bardziej złożone elementy, włączając w to kolekcje elementów podstawowych nazywane Geometries.
• Warstwą Layer nazywamy kolekcję obiektów Geometriesposiadających podobne atrybuty na poziomie mapy (granicekrajów, stanów, sieć dróg, rzeki etc. )
Oracle SpatialPrzykłady Geometries oraz Layers
Arkansas
Arizona
Alaska
Alabama
STAN ≡ LAYERGeometria GEOMETRYobszaru (stan) stanowi pojedynczą kolumnę jednego wiersza tabeli
Geometria GEOMETRYmoże zawierać więcej niż jeden element.
Oracle Spatial przykładyCel analizy: wybór dróg w obszarze
8
Oracle Spatial przykładywybranie dróg
Oracle Spatial przykłady operacji
Intersection
Minus
Oracle Spatial Przykładypołączenie wyboru z warstwą mapy
Ilustracja ogólnej idei mapowania schematów.
Tabela_3
y y yyy yyy y y yyy yyy L K FK2Id
Tabela_2
y y y yyy yyy y y y yyy yyy
x Y
x x xxx xxx Z X FK1 Id
Tabela_1
y y y yyy y x x xxx C B A Id
Tabela_2
x Y
x x xxx xxx Z X FK1 Id
Tabela_1
z z zzz x x xxx B A Id
Tabela_3
y y yyy yyy y y yyy yyy L K FK2 Id
Tabela_2
y y y yyy yyy y y y yyy yyy
x Y
x x xxx xxx Z X FK1 Id
Tabela_1
y y y yyy y x x xxx C B A Id
Tabela_3
L K FK2Id
Tabela_2
x Y
x x xxx xxx Z X FK1 Id
Tabela_1
z z zzz x x xxx B A Id
yyy yyy yyy yyy
y y
y y
z z D
y C
z z D
y y y yyy
y y y yyy yyy y y y yyy yyy
9
AlgorytmWyjściowy plik XML
(Brudny)OczyszczanieOczyszczonyplik XML
Odczytanieznacznika
Koniecdanych
Czy następnikiemjest znacznik
Czy znacznik jest wtabeli nazw tabel
Zapisznacznika
(Nazwy Tabel)N N N
T T
Odczytanieznacznika
Koniecdanych Czy nazwa tabeli Czy znacznik jest
w tabeli pól
Zapisznacznika
(Nazwy Pól)N N N
T
T
Ustawieniewskażnika do tabeli
T
Utworzeniestruktury
tabelarycznej
Odczytanieznacznika
Koniecdanych Czy nazwa pola
Zapiszmiennej
rekordowejN T N
N
Ustawieniewskażnika do tabeli
Odczytanie póltabel
wynikowych
T
Odczytaniewartości
Czy wszystkiepola tabeli
Wstaw rekordWyczyśćzmienną
rekordową
T
N
Parsowaniewartości
Ustalenietypów pól
Schemat dopasowania struktur relacyjnych – warianty optymistyczne
Schemat dopasowania struktur relacyjnych – warianty pesymistyczne
Przetwarzanie analityczne• OLAP - OnLine Analytical Processing - przetwarzanie
analityczne w trybie on-line• Celem jest przeprowadzanie analizy danych i wspomaganie
decyzji. • Posiadanie danych opisujących działanie przedsiębiorstwa w
dłuższym przedziale czasu pozwala na analizę trendów, anomalii, poszukiwanie wzorców zachowań klientów, itp.
• Zrozumienie zachowania się klientów i zapotrzebowania na produkt, pozwala efektywnie kierować kampaniami reklamowymi
• Zarządzanie zapasami umożliwia producentom posiadanie właściwych produktów we właściwym miejscu i czasie
• Analiza rentowności pokazuje firmom, którzy klienci są dochodowi, a którzy nie
• Kryterium oceny jest jakość podejmowanych decyzji
10
Baza A
Baza B
Baza X
Hurtownia Danych
Schemat przetwarzania w technologii OLAP(ONLINE ANALYTICAL PROCESSING)
Integracja
… …
Oczyszczanie
Synchronizacja
Ekstrakcja Przesyłanie
ProduktROR
Rach. Inwest.
Depozyt
Kredyt
Inne
Q4Czas
Q1 Q2 Q3
OddziałPoznań
KrakówGdańsk
69,059,440 PLN8,755 szt.7,888 PLN
OLAP – Analizy wspierające proces podejmowania decyzji biznesowych
Idea przechowywania danych w strukturze wielowymiarowej, definiowania przekrojów
i drążenia danych.
Wymiar Y
Wymiar X
Wymiar Z
X1 Xn X3 X2
Y1 Y2
Yn Z1
Z2
Zn
Wymiar Y
Wymiar X
Wymiar Z
X1 Xn X3 X2
Y1 Y2
Yn Z1
Z2
Zn
Business Intelligence – architektura
Użytkownicy:- Raporty- Zapytania do bazy- Analizy OLAP- EIS- Budżetowanie- Data Mining
KostkaOLAP
KostkaOLAP
Systemyźródłowe
Informacja Wiedza Wnioski Działanie WynikiInformacja Wiedza Wnioski DziałanieInformacja Wiedza WnioskiInformacja WiedzaInformacja
ETL
DM
DMHurtownia
danych
11
LUDZKA INTELIGENCJA• Praktyczna:
– umiejętność rozwiązywania konkretnych zagadnień
• Abstrakcyjna:– zdolność operowania symbolami i pojęciami
• Społeczna:– umiejętność zachowania się w grupie
Test Bineta ok. 1904
Iloraz inteligencji (IQ)
SZTUCZNA INTELIGENCJA(ARTIFICIAL INTELLIGENCE)
• Dział informatyki, którego przedmiot to:– badanie reguł rządzących inteligentnymi zachowaniami człowieka– tworzenie modeli formalnych zachowań człowieka– tworzenie programów komputerowych symulujących zachowania
człowiekaTest Turinga (1950 Alan Turing)
Allen Newell, Herbert Simon (Uniwersytet Carnegie Mellon) John McCarthy (Massachusetts Institute of Technology)
„Konstruowanie maszyn, o których działaniu dałoby się powiedzieć, że są podobne do ludzkich przejawów inteligencji”
ELIZA – program symulujący psychoanalityka, Josepha Weizenbauma 1966 r.
ALICE - nazwa najskuteczniejszego obecnie programu starającego naśladować ludzką konwersację (projekt Open Source - pomysłodawca Richard Wallace)
Nagroda Loebnera - od 1990 dla programu, który skutecznie przejdzie Test Turinga.
Konkurs Loebnera – najlepszy program do konwersacji
Pogoda
Drzewo decyzyjne
tak nie
Odległość < 30 km
deszczowosłonecznie
Działanie klasyfikatora wieloetapowego ilustruje drzewo decyzyjne.
Pojęcia: korzeń drzewa, węzeł wewnętrzny, węzeł końcowy (liść), gałąź, ścieżka.
Pogoda
Drzewo decyzyjne
tak nie
Odległość < 30 km
deszczowo
Odległość: 8
Pogoda: deszczowo
słonecznie
12
Konstrukcja drzewa decyzyjnego
AAAA
BB
BBB
B
BB
B
x
y
a2
a1
B
a3
tak nie
y < a1
A
tak nie
x < a2
B
B
B
nietak
x < a1
A
nie
y< a3
tak
AAAA
BB
BBB
B
BB
B
x
y
a1
Prymitywne metody dyskretyzacji
A. według równej szerokości
yi
yi
B. według równej częstości
Są to metody globalne, bez nauczyciela.
Dyskretyzacja zstępująca – wybór progu
a
pAHa,pA
Ha,pB
pB
p3Ha,p3
p5Ha,p5
p7Ha,p7
p9Ha,p9
p11Ha,p11
p13Ha,p13
Ha,p4
p4Ha,p6
p6Ha,p8
p8Ha,pA0
p10Ha,p12
p12Ha,p14
p14
Wybieramy pi, dla którego wartość Ha,pi jest najmniejsza.
a
Ha,p10
p10
Dla dwóch powstałych przedziałów powtarzamy procedurę szukania progu.
Dyskretyzacja zstępująca – kryterium stopu
a
a
a
a
a1 a2 a3 a4 a5 a6 a7
13
Dyskretyzacja wstępująca –łączenie przedziałów
Łączymy przedziały zi oraz zj, dla których wartość χ2zi,zj jest najmniejsza.
azA zB z3 z4 z5
χ2z2,z2
χ2z2,z3
χ2z3,z4
χ2z4,z5
aRys. 3.
Grupowanie (klasteryzacja)
k-means clustering
• Przykład klasteryzacji algorytmem k-means
m1
m2
m1
m2
m1
m2
m1
m2
m1
m2
m1
m2
m1
m2
K=2
m1m2
m3
m1m2
m3
m1m2
m3
m1m2
m3
m1m2
m3
m1m2
m3
m1
m2
m3
K=3
Klastrowanie algorytmem górskim
• Przykład:
K=3
m1
m2
m3 m4m3
m2
m1
m4
m1m2
m3
14
Co jest dobrą granicą decyzji?• Rozważmy problem
klasyfikacji dla dwóch separowanych liniowo klas
• Możemy znaleźć wiele możliwych podziałów!– Różne algorytmy dają
różne podziały Czy wszystkie granice decyzji są równie dobre?
klasa 1
klasa 2
Przykłady złych granic decyzji
klasa 1
klasa 2
klasa 1
klasa 2
Kodujemy klasy dwoma wartościami 1 oraz -1
Maksymalizacja marginesu dla granic decyzji• Granice decyzji powinny być możliwie najdalej od dowolnych elementów
każdej z klas– Powinniśmy maksymalizować margines m– Odległość między początkiem układu a powierzchnią wtx=k wynosi k/||w||
klasa 1
klasa 2
m
Problemy separowalne nieliniowo• Dopuszczalny jest błąd ξi klasyfikacji liniowej opartej o
hiperpowierzchnię wTx+b• ξi aproksymuje liczbę źle sklasyfikowanych przykładów
(atrybutów)
Class 1
Class 2
15
Przekształcenie danych do przestrzeni o większej liczbie wymiarów – funkcje jądra (kernel)
• Obliczenia w przestrzeni przekształconej są bardziej kosztowne ponieważ ma więcej wymiarów
• Stosowanie funkcji jądra (kernel) jest wielokrotnie jedynym rozwiązaniem
φ( )
φ( )
φ( )φ( )φ( )
φ( )
φ( )φ( )
φ(.) φ( )
φ( )
φ( )φ( )φ( )
φ( )
φ( )
φ( )φ( ) φ( )
Przestrzeń przekształconaMa z reguły większą ilości wymiarów
Przestrzeń wyjściowa
Przykład dyskryminującej funkcji nieliniowej w przestrzeni R1
Funkcja dyskryminująca
1 2 4 5 6
klasa 2 klasa 1klasa 1