Kierunki rozwoju baz danych

Transkrypt

Kierunki rozwoju baz danych
Definicja bazy danych
Kierunki rozwoju baz danych i
technologii z nimi związanych
Każ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
Adam Pelikant
Twórcy
Modele danych
Edgar 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)
– Hierarchiczny
– Sieciowy
ID
1
2
3
Relacyjny
ID
11
22
33
44
Pole1
Pole2
Pole1 - FK Pole2
1
2
1
...
...
PoleN
PoleN
...
...
+ Obiektowy
Chris Date (1941)
Autor podstawowej pracy
„An Introduction to Database
Systems”
...
...
1
Rozwiązania komercyjne
Inne rozwiązania
30 lat
Darmowe
Larry Ellison
Ponad 15 lat
Obiektowe
DB2 9.5 LOTUS Notes
Jasmine od 1992
Adaptive Server Enterprise 15
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.
2
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 partycjonowania
Round-Robin
umożliwia równomierne rozpraszanie danych w węzłach sieci
dane sąrozpraszane w sposób przypadkowy, więc odnalezienie
żądanych informacji wymaga przeszukania wszystkich węzłów
Bazujący na wartości
rozmieszczenie danych w sieci zależy od wartości samych danych
Oracle – partycjonowanie zakresowe
Nieograniczony rozmiar ostatniej partycji
Sł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 listowe
Jeżeli wartość atrybutu partycjonującego dla wstawianego
rekordu nie pasuje do wartości żadnej partycji, wówczas
system zgłasza błąd
Definicję tabeli partycjonowanej można rozszerzyć o
partycję umożliwiającą przechowywanie wszystkich
innych wartości
do definiowania takiej partycji wykorzystuje się słowo kluczowe
default
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)
);
3
Oracle – partycjonowanie
haszowe
Schemat klastra dla dwóch węzłów
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 organizacji przetwarzania
siatkowego – gridowego
Połączenie
zewnętrzne
Połączenie
wewnętrzne
Węzeł 1
Dane 1
Dane
współzielone
Węzeł 2
Dane 2
Multimedialne bazy danych geneza problemu
.
Świat
Audio
Obiekty
Zjawiska
Video
3D
Dane
złożone
Dane
proste
4
Etapy analizy multimediów
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
Użytkownik
Interfejs
Zapytanie
Szacowanie
podobieństwa
Dane
opisowe
Noncontent Niskopoziome
metadata operacje na obrazie
Interpretacja
Obiekty
i relacja
Ekstrakcja cech
Obraz
Przykładowa tabela
Rozszerzanie 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
5
Wyszukiwanie obrazów w multimedialne
bazie danych bez angażowania czynnika ich
automatycznego rozumienia
Safe
Różne uproszczone schematy
wyszukiwania
Przykład odpowiedzi systemu
wyszukiwania obrazów
6
Podział obrazu na regiony będący
kluczem do procesu 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.
Obraz poddawany auto-anotacji
• Warstwą Layer nazywamy kolekcję obiektów Geometries
posiadających podobne atrybuty na poziomie mapy (granice
krajów, stanów, sieć dróg, rzeki etc. )
Obraz podzielony na regiony do auto-anotacji
Oracle Spatial
Oracle Spatial przykłady
Przykłady Geometries oraz Layers
Cel analizy: wybór dróg w obszarze
STAN ≡ LAYER
Alabama
Alaska
Geometria GEOMETRY
obszaru (stan)
stanowi pojedynczą
kolumnę jednego
wiersza tabeli
Geometria GEOMETRY
może zawierać więcej
niż jeden element.
Arizona
Arkansas
7
Oracle Spatial przykłady
Oracle Spatial przykłady operacji
wybranie dróg
Intersection
Minus
Ilustracja ogólnej idei mapowania
schematów.
Oracle Spatial Przykłady
połączenie wyboru z warstwą mapy
Tabela_1
³Id A B
xxx x x
yyy y y
³Id
xxx
yyy
yyy
FK1
xxx
yyy
yyy
C
y
y
X
x
y
y
Tabela_2
Y
Z
x
x
y
y
y
y
Tabela_3
L
³Id FK2 K
yyy yyy y
y
yyy yyy y
y
Tabela_1
Tabela_1
³Id A B
xxx x x
zzz z z
³Id FK1 X
xxx xxx x
³Id A B
xxx x x
yyy y y
Tabela_2
Y
Z
x
x
³Id
xxx
yyy
yyy
FK1
xxx
yyy
yyy
C
y
y
X
x
y
y
Tabela_2
Y
Z
x
x
y
y
y
y
Tabela_3
L
³Id FK2 K
yyy yyy y
y
yyy yyy y
y
Tabela_1
³Id A B
xxx x x
zzz z z
yyy y y
C
D
z
y
z
y
D
z
z
³Id FK1 X
xxx xxx x
yyy yyy y
Tabela_2
Y
Z
x
x
y
y
yyy
y
yyy y
Tabela_3
³Id FK2 K
yyy yyy y
yyy yyy y
y
L
y
y
8
Oczyszczony
plik XML
Odczytanie
znacznika
Koniec
danych
Wyjściowy plik XML
(Brudny)
Oczyszczanie
T
N
Algorytm
T
Czy następnikiem
jest znacznik
Czy znacznik jest w
tabeli nazw tabel
N
N
Zapis
znacznika
(Nazwy Tabel)
N
Zapis
znacznika
(Nazwy Pól)
Schemat dopasowania struktur
relacyjnych – warianty optymistyczne
T
Odczytanie
znacznika
T
Ustawienie
wskażnika do tabeli
T
Koniec
danych
N
Czy nazwa tabeli
N
Czy znacznik jest
w tabeli pól
Utworzenie
struktury
tabelarycznej
Odczytanie
znacznika
Koniec
danych
N
N
Wyczyść
zmienną
rekordową
Wstaw rekord
Ustawienie
wskażnika do tabeli
T
N
Czy wszystkie
pola tabeli
Czy nazwa pola
T
Odczytanie
wartości
N
Zapis
zmiennej
rekordowej
T
Odczytanie pól
tabel
wynikowych
Parsowanie
wartości
Ustalenie
typów pól
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
9
OLAP – Analizy wspierające proces
podejmowania decyzji biznesowych
Schemat przetwarzania w technologii OLAP
(ONLINE ANALYTICAL PROCESSING)
Oddział
Oczyszczanie
Synchronizacja
Baza A
Ekstrakcja
Poznań
Kraków
Gdańsk
Kredyt
69,059,440 PLN
8,755 szt.
7,888 PLN
Przesyłanie
Rach. Inwest.
…
…
Hurtownia
Danych
Integracja
Q1
Q2 Q3
Q4
Czas
Baza X
Idea przechowywania danych w strukturze
wielowymiarowej, definiowania przekrojów
i drążenia danych.
Business Intelligence – architektura
Informacja Wiedza Wnioski Działanie Wyniki
Systemy
źródłowe
Wymiar Z
Wymiar Z
DM
Zn
Zn
ETL
Z2
Y1
Y2
Z1
X1
Depozyt
Inne
Baza B
Wymiar Y
Produkt
ROR
X2
X3
Xn
Yn
Z2
Y1
Wymiar X
Y2
Z1
X1
Wymiar Y
X2
X3
Xn
Yn
Wymiar X
Hurtownia
danych
Kostka
OLAP
DM
Kostka
OLAP
Użytkownicy:
- Raporty
- Zapytania do bazy
- Analizy OLAP
- EIS
- Budżetowanie
- Data Mining
10
SZTUCZNA INTELIGENCJA
(ARTIFICIAL INTELLIGENCE)
LUDZKA INTELIGENCJA
• Praktyczna:
– umiejętność rozwiązywania konkretnych zagadnień
Allen Newell, Herbert Simon (Uniwersytet Carnegie Mellon)
John McCarthy (Massachusetts Institute of Technology)
• Abstrakcyjna:
„Konstruowanie maszyn, o których działaniu dałoby się powiedzieć,
że są podobne do ludzkich przejawów inteligencji”
– zdolność operowania symbolami i pojęciami
• Społeczna:
• Dział informatyki, którego przedmiot to:
– umiejętność zachowania się w grupie
Test Bineta ok. 1904
Iloraz inteligencji (IQ)
– badanie reguł rządzących inteligentnymi zachowaniami człowieka
– tworzenie modeli formalnych zachowań człowieka
– tworzenie programów komputerowych symulujących zachowania
człowieka
Test Turinga (1950 Alan Turing)
Nagroda Loebnera - od 1990 dla programu, który skutecznie przejdzie Test Turinga.
Konkurs Loebnera – najlepszy program do konwersacji
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)
Drzewo decyzyjne
Drzewo decyzyjne
Odległość < 30 km
tak
nie
Odległość:
8
Pogoda:
deszczowo
Pogoda
słonecznie
Odległość < 30 km
deszczowo
tak
nie
Pogoda
słonecznie
deszczowo
Działanie klasyfikatora wieloetapowego ilustruje drzewo decyzyjne.
Pojęcia: korzeń drzewa, węzeł wewnętrzny, węzeł końcowy (liść), gałąź, ścieżka.
11
Konstrukcja drzewa decyzyjnego
y
y
B
A A
B
A
B B
A
B
B B
B
B
a1
B
A A
B
A
B B
A
B
B B
B
B
a1
x
a2
Prymitywne metody
dyskretyzacji
A. według równej szerokości
yi
x
a3
y < a1
B. według równej częstości
y< a3
tak
nie
B
tak
x < a2
tak
tak
B
B
yi
B
x < a1
nie
A
nie
nie
Są to metody globalne, bez nauczyciela.
A
Dyskretyzacja zstępująca – wybór
progu
Ha,pB
pB
Ha,p4
p4
Ha,p6
p6
Ha,p8
p8
Ha,pA0
p10
Ha,p12
p12
Ha,p14
p14
Dyskretyzacja zstępująca – kryterium
stopu
a
a
pA
Ha,pA
p3
Ha,p3
p5
Ha,p5
p7
Ha,p7
p9
Ha,p9
p11
Ha,p11
p13
Ha,p13
a
Wybieramy pi, dla którego wartość Ha,pi jest najmniejsza.
Ha,p10
p10
a
a
Dla dwóch powstałych przedziałów powtarzamy procedurę szukania progu.
a
a1 a2 a3
a4
a5
a6
a7
12
Dyskretyzacja wstępująca –
łączenie przedziałów
χ2z2,z3
zA
zB
Grupowanie (klasteryzacja)
χ2z4,z5
z3
z4
z5
a
χ2z2,z2
χ2z3,z4
Łączymy przedziały zi oraz zj, dla których wartość χ2zi,zj jest najmniejsza.
a
Rys. 3.
Klastrowanie algorytmem górskim
k-means clustering
• Przykład klasteryzacji algorytmem k-means
K=2
m2 m2 m2
m2
m1
K=3
m1
m2m2
m3
m1
m1
m1
• Przykład:
m
m22
m1
m1
m2
m1 m1
m1
K=3
m2
m3
m3
m4
m3
m3
m3
m4
13
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?
Przykłady złych granic decyzji
klasa 2
klasa 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 2
klasa 1
klasa 2
klasa 1
Kodujemy klasy dwoma wartościami 1 oraz -1
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 2
klasa 2
klasa 1
m
Class 1
14
Przekształcenie danych do przestrzeni o większej
liczbie wymiarów – funkcje jądra (kernel)
φ(.)
Przestrzeń wyjściowa
φ( )
φ( )
φ( )
φ( ) φ( ) φ( )
φ( )
φ( )
φ( )
φ( ) φ( )
φ( ) φ( )
φ( )
φ( ) φ( )
φ( )
φ( )
Przestrzeń przekształcona
Ma z reguły większą ilości wymiarów
• Obliczenia w przestrzeni przekształconej są
bardziej kosztowne ponieważ ma więcej
wymiarów
• Stosowanie funkcji jądra (kernel) jest
wielokrotnie jedynym rozwiązaniem
Przykład dyskryminującej funkcji
nieliniowej w przestrzeni R1
Funkcja
dyskryminująca
klasa 1
1
klasa 1
klasa 2
2
4
5
6
15

Podobne dokumenty