15
1 Kierunki rozwoju baz danych i technologii z nimi związanych Adam Pelikant Definicja bazy danych 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 Modele danych – Hierarchiczny – Sieciowy Relacyjny + Obiektowy ID Pole1 Pole2 PoleN 2 Pole1 - FK Pole2 ... PoleN ... ... ... ... Twórcy 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) Chris Date (1941) Autor podstawowej pracy „An Introduction to Database Systems”

Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

Embed Size (px)

Citation preview

Page 1: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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”

adam
Nowy stempel
Page 2: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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.

Page 3: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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));

Page 4: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 5: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 6: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 7: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 8: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 9: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 10: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 11: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 12: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 13: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 14: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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

Page 15: Kierunki rozwoju baz danych rozwoju baz danych.pdf · LUDZKA INTELIGENCJA • Praktyczna: –umiejętność rozwiązywania konkretnych zagadnie

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