2009.03_Technologie OLAP i Data Mining_[Bazy Danych].pdf
(
4602 KB
)
Pobierz
332762501 UNPDF
Bazy danych
Technologie OLAP i Data Mining
OLAP i Data Mining
Grzegorz Gałęzowski
Systemy baz danych rozbudowały się znacząco w ciągu ostatnich dwóch dziesięcioleci. Odniosły one
sukcesy w niezliczonej liczbie dziedzin współczesnego życia. Gromadzimy więcej i więcej danych, które
są zapisywane w bazach danych.
rządku dziennym. Często przedsiębiorstwo
zdobywa i przechowuje różnego rodzaju da-
ne, których nie potrafi wykorzystać. Sukces
zależy w dużej mierze od umiejętności wykorzystania
posiadanych informacji. Jednak duże zbiory nie podle-
gają łatwej analizie, szczególnie jeżeli jest ona dokony-
wana przez administratora.
Dlatego też przychodzą nam tutaj z pomocą takie
technologie jak OLAP i Data Mining.
ne Ttransaction Processing
). Autorem tego terminu jest
E. F. Codd, który zaproponował 12 kryteriów definiu-
jących bazę danych typu OLTP. Zaproponowana przez
niego terminologia została powszechnie zaakceptowana
jako standard dla baz danych używanych do zarządza-
nia transakcjami firmy. W 1993 Codd wprowadził ko-
lejny termin
przetwarzanie analityczne w trybie online
(ang.
Online Analytical Processint
). Tak jak w poprzed-
nim przypadku, tak i teraz zaproponował 12 kryteriów
definiujących bazę typu OLAP. Niestety w tym przypad-
ku jego kryteria nie zostały powszechnie przyjęte.
Współcześnie Online Analytical Processing (OLAP)
to technologia analizująca duże ilości danych w cza-
sie rzeczywistym. W przeciwieństwie do przetwarzania
transakcji na bieżąco (OLTP), które są zaprojektowane
tak, aby umożliwić przechowywanie danych operacyj-
nych w celu skutecznej obsługi transakcji, OLAP zaj-
muje się przechowywaniem danych w streszczonych ta-
belach, w celu ułatwienia użytkownikom nawigacji i po-
bierania danych.
System OLAP wykorzystuje technikę Multidimen-
sional Analysis. Podczas gdy relacyjna baza danych gro-
OLAP
OLAP w swoim głównym zamierzeniu jest narzędziem
nieingerującym w zawartość bazy, ani nie aktualizują-
cym bazy danych. Narzędzia z tej rodziny przetwarzają
dane online, znajdujące się w bazach i odpowiadają na
zapytania użytkowników. Szeroka gama aplikacji umoż-
liwia analizy ilościowe, jak i dostarcza niezbędnych in-
formacji do analiz jakościowych.
Jednak żeby lepiej zrozumieć termin OLAP po-
mocna będzie nam historia. W 1985 roku powstał ter-
min
przetwarzanie transakcji w trybie online
(ang.
Onli-
52
marzec 2009
Technologie
B
azy o rozmiarach terabajtów są już na po-
Bazy danych
Technologie OLAP i Data Mining
madzi wszystkie dane w formie kolumn,
wielowymiarowy zestaw danych składa
się z kostki zawierającej agregacje wstęp-
nie obliczone dla poszczególnych wymia-
rów. Przykładowy zestaw danych przedsta-
wia Tabela 1.
Systemy OLAP wykonują kalkulacje i
modelowanie ważnych wielkości, które są
nazywane wymiarami i wykazują w swojej
zasadzie podobieństwo do fizycznych wy-
miarów przestrzeni i czasu.
Wymiary są atrybutami do pomiaru
wskaźnika efektywności danych, które po-
siadają miarę zwaną
Key Performance In-
dicators
(KPI), czyli kluczowe wskaźniki
wydajności.
Przy wykonywaniu analizy należy
wziąć pod uwagę pojedynczą miarę dla kil-
ku wymiarów. Miarą może być ilość sprze-
danych towarów, a wymiarami czas i geo-
grafia. Przy wybraniu jako wymiarów Lu-
blin i miesiąca listopad, system OLAP wy-
liczy ilość sprzedanych towarów w Lubli-
nie, w listopadzie. Systemy OLAP zawsze
analizują miary na bazie wielu wymiarów i
dlatego właśnie są one nazywane wielowy-
miarowymi
Gdy zostanie zdefiniowana miara i wy-
miary można przystąpić do zdefiniowania i
budowy kostki OLAP (
Cube
). Kostkę taką
buduje się z atrybutów wymiarów. Atrybuty
te są osiami koordynat kostki. Kostka może
mieć np. oś miast z wymiaru klienta, oś lat
z wymiaru czasu i oś nazw produktów z wy-
miaru produktów (Rysunek 1).
Wielowymiarowość OLAP nie odno-
si się tak jak to w przypadku sześcianu tyl-
ko do trzech wymiarów. W tej technologii
liczba wymiarów przypisanych do kostki
danych może wahać się od jednego do nie-
skończoności. Czyli takiej ilości jaka bę-
dzie potrzebna.
OLAP może kojarzyć się wielu ludziom
jako jedno lub też wielowymiarowa hur-
townia danych. Najczęściej termin ten jed-
nak jest zarezerwowany dla wyspecjali-
zowanych narzędzi służących do łatwego
udostępniania zgromadzonych informacji w
hurtowniach danych.
Narzędzia OLAP wykonują skompli-
kowane analizy danych historycznych przy
pomocy wspomnianej już struktury wielo-
Tabela 1.
Przykładowy zestaw danych w kostce OLAP
Rok 2007
2008
Wzrost
Sprzedaż
jednost-
kowa
Całość 17,165 2,825 18,867 3,163 10% 12%
Książki 12,845 956 14,562 1,121 13% 17%
—— Romanse 1,341 424 1,202 380 16% 37%
—— Sensacja 1,412 400 1,224 386 11% 2%
— Czasopisma 2,753 824 2,426 766 -12% -7%
— Pocztówki 1,567 1,045 1,879 1,276 20% 22%
Sprzedaż
jednost-
kowa
Sprzedaż
w złotów-
kach
Sprzedaż
jednostko-
wa
Sprzedaż
w złotów-
kach
Listing 1.
Tworzenie bazy w systemie Oracle
sqlplus system/manager
SQL>
create
user
foodmart identiied by foodmart;
User
created.
SQL>
grant
connect
, resource
to
foodmart;
Grant
succeeded.
SQL> exit
. importing FOODMART's objects
into
FOODMART
. . importing
table
"customer" 10281 rows
imported
. . importing
table
"days" 7 rows
imported
. . importing
table
"inventory_fact_1997" 4070 rows
imported
. . importing
table
"inventory_fact_1998" 7282 rows
imported
. . importing
table
"product" 1560 rows
imported
. . importing
table
"product_class" 110 rows
imported
. . importing
table
"promotion" 1864 rows
imported
. . importing
table
"region" 110 rows
imported
. . importing
table
"sales_fact_1997" 86837 rows
imported
. . importing
table
"sales_fact_1998" 164558 rows
imported
. . importing
table
"sales_fact_dec_1998" 18325 rows
imported
. . importing
table
"store" 24 rows
imported
. . importing
table
"time_by_day" 730 rows
imported
. . importing
table
"warehouse" 24 rows
imported
. . importing
table
"warehouse_class" 6 rows
imported
Import terminated successfully without warnings.
Rysunek 1.
Trójwymiarowa kostka OLAP (Cube)
www.lpmagazine.org
53
Produkt Sprzedaż
w złotówkach
Bazy danych
Technologie OLAP i Data Mining
wymiarowej. Struktura ta jest przechowy-
wana w hurtowni danych, czyli wyspecja-
lizowanej bazie danych, która jest zbiorem
różnorodnych baz danych. Usługi OLAP
pozwalają na zbudowanie jednej aplikacji
dla wykonywania różnych zapytań anali-
tycznych zamiast budowania specyficznej
aplikacji dla każdego zapytania.
Narzędzia OLAP wnoszą do relacyj-
nych baz danych następujące zalety:
LAP (OLAP relacyjny), HOLAP (OLAP
hybrydowy).
MOLAP służy do tworzenia kostek wie-
lowymiarowych na podstawie danych prze-
chowywanych w hurtowni danych.
ROLAP umożliwia wysyłanie zapytań
dotyczących zagregowanych danych.
HOLAP łączy zalety MOLAP i ROLAP
i został zaprojektowany z myślą o takich sy-
tuacjach, w których 80% zapytań dotyczy
danych agregacyjnych, a 20% dotyczy da-
nych źródłowych.
Aplikacje OLAP umożliwiają:
• drążenie w górę i drążenie w dół;
• tworzenie raportów i wykresów.
Data Mining
Data Mining
jest procesem mającym na ce-
lu pozyskanie użytecznej wiedzy z baz da-
nych. W języku polskim tłumaczy się ten
termin jako
drążenie danych
lub
zgłębianie
danych
. Data Mining to praca na dużych
zbiorach danych, w sytuacjach, gdy techni-
ki statystyczne nie są wystarczające.
Ręczne przeglądanie tabel rzadko po-
zwala na wykrycie przydatnych relacji, to
w większości przypadków dane są anali-
zowane za pomocą automatycznego proce-
su nazywanego Knowledge Discovery, czy-
li odkrywanie wiedzy. Knowledge Discove-
• krótki czas odpowiedzi;
• zapytania oparte na metadanych;
• styl formuł arkusza kalkulacyjnego.
Opcje przechowywania dostępne w OLAP
to: MOLAP (OLAP wielowymiarowy), RO-
• przeglądanie danych w bazach;
• tworzenie tabel przestawnych;
• selekcjonowanie danych;
Listing 2.
Tworzenie bazy w systemie MySQL
mysql\bin> mysql
mysql>
GRANT
ALL
PRIVILEGES
ON
*.*
TO
foodmart@localhost
-> IDENTIFIED BY
'foodmart'
;
Query OK, 0 rows affected
(
0.06 sec
)
mysql>
create database
foodmart;
| days |
| inventory_fact_1997 |
| inventory_fact_1998 |
| product |
| product_class |
| promotion |
| region |
| sales_fact_1997 |
| sales_fact_1998 |
| sales_fact_dec_1998 |
| store |
| time_by_day |
| warehouse |
| warehouse_class |
+
-------------------------+
15 rows
in
set
(
0.03sec
)
mysql>
select
*
from
days;
Query OK, 1 row affected
(
0.00 sec
)
mysql> use foodmart
Database changed
mysql>
connect
foodmart
Connection id: 5
Current database: foodmart
Zmieniamy składnię dla MySQL:
-Zmień wszystkie kolumny „varchar” w skrypcie
FoodMartTables.sql na „varchar
(
30
)
”.
-Zmień wartości “
false
/
true
” w FoodMartData.sql na
“0/1”.
+
------+-----------+
| day | week_day |
+
------+-----------+
| 1 | Sunday |
| 2 | Monday |
| 5 | Thursday |
| 4 | Wednesday |
| 3 | Tuesday |
| 6 | Friday |
| 7 | Saturday |
+
------+-----------+
7 rows
in
set
(
0.06 sec
)
Utwórz tabele, następnie załaduj dane
(
przy okazji
można sprawdzić czy wszystko jest OK.
)
i utwórz
indeksy:
mysql> source /mondrian/demo/FoodMartTables.sql
Query OK, 1 row affected
(
0.00 sec
)
(
15 times
)
mysql> source /mondrian/demo/FoodMartData.sql
Query OK, 1 row affected
(
0.00 sec
)
(
315,789 times
)
mysql>
commit
;
Query OK, 0 rows affected
(
0.00 sec
)
mysql>
show
tables;
+
------------------------+
| Tables_in_foodmart |
+
------------------------+
| customer |
mysql> source /mondrian/demo/FoodMartIndexes.sql
Query OK, 10281 rows affected
(
0.63 sec
)
Records: 10281 Duplicates: 0 Warnings: 0
... itd.
mysql> exit
54
marzec 2009
Bazy danych
Technologie OLAP i Data Mining
ry jest komponentem Data Mining i umoż-
liwia dostrzeganie prawidłowości i reguł w
odpowiednio prezentowanych zbiorach da-
nych. Proces wykrywania prawidłowości
jest zautomatyzowany, a operator decyduje,
które prawidłowości uznać za ważne.
Techniki tego typu są stosowane wszę-
dzie tam, gdzie szukany jest związek po-
między zjawiskami. Warunkiem niezbęd-
nym jest posiadanie zbioru danych, które
odzwierciedlają badane zjawisko.
Jako już książkowy można podać przy-
kład zależności sprzedaży piwa i pieluch.
Dzięki kodom kreskowym supermarkety mo-
gą zidentyikować każdy produkt objęty trans-
akcją oraz zbadać otrzymane dane w celu usta-
lenia relacji pomiędzy zakupami. Na przykład,
jeśli irma chce zwiększyć sprzedaż piwa, to
może przeanalizować wszystkie zakupy pi-
wa w celu ustalenia, jakie produkty wybiera-
ją klienci kupujący piwo. Jeśli okaże się, że ci
klienci często kupują także pieluszki, to irmie
może udać się zwiększyć sprzedaż piwa po-
przez przeprowadzenie promocji pieluszek.
Inny jeszcze przykład zastosowania Da-
ta Mining jak najbardziej na czasie to budo-
wa modeli oceniających zdolność kredyto-
wą klientów banku. Jeśli dysponujemy ba-
zą klientów, którzy zaciągnęli w przeszło-
ści kredyty oraz informacją o tym, jak każ-
dy z nich poradził sobie z jego spłatą, może-
my próbować określić cechy klientów, którzy
kredyty spłacają i cechy takich, którzy mają z
tym problemy. W ten sposób przy dobrej ana-
lizie, można zabezpieczyć się przed przydzie-
laniem
złych
kredytów. Metodę zgłębiania da-
nych można także wykorzystać w wielu in-
nych dziedzinach życia i nie ogranicza się tyl-
ko do zastosowań biznesowych. Co ciekawe,
zgłębianie danych stosuje się także w takich
dziedzinach jak diagnostyka medyczna czy
meteorologia. Każda dziedzina biznesu czy
nauki, w której zbiera się i bada duże ilości
danych, może skorzystać z technologii zgłę-
biania danych.
Listing 3.
Przykładowe zapytanie w MDX
select
NON EMPTY {[Measures].[Actual]}
ON
COLUMNS;
NON EMPTY Hierarchize
(
Union
(
{[Positions].[
All
Positions]},
[Positions].[
All
Positions].Children
))
ON
ROWS;
from
[Quadrant Analysis].
Listing 4.
Fragment promotora E.coli (DNA)
+,S10,tactagcaatacgcttgcgttcggtggttaagtatgtataatgcgcgggcttgtcgt;
+,AMPC,tgctatcctgacagttgtcacgctgattggtgtcgttacaatctaacgcatcgccaa;
+,AROH,gtactagagaactagtgcattagcttatttttttgttatcatgctaaccacccggcg;
+,DEOP2,aattgtgatgtgtatcgaagtgtgttgcggagtagatgttagaatactaacaaactc;
+,LEU1_TRNA,tcgataattaactattgacgaaaagctgaaaaccactagaatgcgcctccgtggtag;
+,MALEFG,aggggcaaggaggatggaaagaggttgccgtataaagaaactagagtccgtttaggt;
+,MALK,cagggggtggaggatttaagccatctcctgatgacgcatagtcagcccatcatgaat;
+,RECA,tttctacaaaacacttgatactgtatgagcatacagtataattgcttcaacagaaca;
+,RPOB,cgacttaatatactgcgacaggacgtccgttctgtgtaaatcgcaatgaaatggttt;
.....;
+,RRNAB_P1,ttttaaatttcctcttgtcaggccggaataactccctataatgcgccaccactgaca;
+,RRNAB_P2,gcaaaaataaatgcttgactctgtagcgggaaggcgtattatgcacaccccgcgccg;
+,RRNDEX_P2,cctgaaattcagggttgactctgaaagaggaaagcgtaatatacgccacctcgcgac;
+,RRND_P1,gatcaaaaaaatacttgtgcaaaaaattgggatccctataatgcgcctccgttgaga.
Rysunek 2.
Ekran powitalny
Rysunek 3.
Ekran z licencją systemu
Listing 5.
MDX – analiza sprzedaży dla klientów z USA i Kanady
SELECT
;
{
(
[Measures].[Unit Sales]]
)
}
ON
COLUMNS;
{;
(
[Customers].[
All
Customers].[USA],[Product].[
All
Products].[Food]
)
;
(
[Customers].[
All
Customers].[USA],[Product].[
All
Products].[Drink]
)
;
(
[Customers].[
All
Customers].[USA];
[Product].[
All
Products].[Non-Consumable]
)
;
Rysunek 4.
Wybór instalowanych aplikacji
(
[Customers][
All
Customers].[Canada];
[Product].[
All
Products].[Food]
)
;
(
[Customers].[
All
Customers].[Canada];
[Product].[
All
Products].[Drink]
)
;
(
[Customers].[
All
Products].[Non-Consumable]
)
;
}
ON
ROWS;
FROM
SALES.
Rysunek 5.
Wybór poziomu instalacji
www.lpmagazine.org
55
Bazy danych
Technologie OLAP i Data Mining
Analizy danych wspierane metoda-
mi Data Mining mogą przynieść wiele ko-
rzyści:
używanych w produkcji pomaga wskazać te
materiały lub części, które mogą ulec naj-
szybszemu uszkodzeniu lub zużyciu.
Najczęściej używane i najbardziej uży-
teczne metody analityczne z jakimi może-
my się spotkać w odkrywaniu wiedzy to:
• analiza trendu, polegająca na poszuki-
waniu trendów i wyprowadzaniu zało-
żeń lub prognoz opartych na nich.
• pozyskiwanie informacji o bieżącym
lub potencjalnym rynku;
• stworzenie profilów klientów i modelo-
wanie ich zachowań;
• przewidywanie trendów;
• wykrywanie błędów i nieprawidłowo-
ści w danych.
Mondrian
Mondrian
jest silnikiem OLAP napisanym
w języku Java, udostępnionym na licen-
cji GNU
Jest uważany za czołowy projekt open-
source w zakresie aplikacji OLAP. Umoż-
liwia interaktywną analizę dużych ilości
danych, przechowywanych w bazach da-
nych SQL.
Jego zadaniem jest wykonywanie pytań
napisanych w specjalnym rozszerzeniu ję-
zyka SQL – MDX, który pobiera dane do
analizy z relacyjnej bazy danych (RDBMS).
Po przetworzeniu dane są prezentowane
użytkownikowi
Mondrian może być wykorzystywany do:
• analiza statystyczna, która opiera się
na odpowiednim wykorzystaniu reguł
na relacjach między danymi;
• analiza klasyfikacji, która grupuje dane
według pewnych podobieństw lub usta-
lonych cech wspólnych;
• analiza odchyleń, która wykorzystuje
wartości procentowe i wyjątki od regu-
ły, aby zdefiniować obszary wymagają-
ce usprawnień;
Prognozowanie polega na wykorzystaniu
znanych w danej chwili zmiennych w celu
przewidywania wartości tych zmiennych w
przyszłości. Na przykład model prognozo-
wania trwałości i zużywania się materiałów
Rysunek 6.
Wybór katalogu dla naszej instalacji
Rysunek 8.
Koniguracja loginu i hasła dla MySQL
• wydajnej interaktywnej analizy zarów-
no małych, jak i bardzo dużych pakie-
tów danych;
• eksploracji wielowymiarowej danych;
• analizy z wykorzystaniem MDX w ję-
zyku SQL;
• zaawansowane obliczenia z wykorzy-
staniem wyrażeń języka MDX.
System Mondrian składa się z czterech
warstw:
Rysunek 7.
Instalacja bazy danych
Rysunek 9.
Koniguracja portu serwera aplikacji Jboss
• warstwa prezentacji danych to coś co
dotyczy końcowego użytkownika. War-
stwa ta jest odpowiedzialna za prezen-
tację przetworzonych danych, które są
wyświetlane na ekranie użytkownika.
Umożliwia także użytkownikowi inte-
raktywną komunikację z programem,
Listing 6.
MDX – poprawione zapytanie z Listingu 5
SELECT
;
{
(
[Measures].[Unit Sales]
)
}
ON
COLUMNS;
{;
(
[Time].[1997],[Customers].[
All
Customers].[USA];
[Product].[
All
Products].[Food]
)
;
(
[Time].[1997],[Customers].[
All
Customers].[USA];
[Product].[
All
Products].[Drink]
)
;
(
[Time].[1997],[Customers].[
All
Customers].[USA];
[Product].[
All
Products].[Non-Consumable]
)
;
(
[Time].[1997],[Customers].[
All
Customers].[Canada];
[Product].[
All
Products].[Food]
)
;
(
[Time].[1997],[Customers].[
All
Customers].[Canada];
[Product].[
All
Products].[Drink]
)
;
(
[Time].[1997],[Customers].[
All
Customers].[Canada];
[Product].[
All
Products].[Non-Consumable]
)
;
(
[Time].[1998],[Customers].[
All
Customers].[USA];
[Product].[
All
Products].[food]
)
;
(
[Time].[1998],[Customers].[
All
Customers].[USA];
[Product].[
All
Products].[Drink]
)
;
(
[Time].[1998],[Customers].[
All
Customers].[USA];
[Product].[
All
Products].[Non-Consumable]
)
;
(
[Time].[1998],[Customers].[
All
Customers].[Canada];
[Product].[
All
Products].[Food]
)
;
(
[Time].[1998],[Customers].[
All
Customers].[Canada];
[Product].
All
Products].[Drink]
)
;
(
[Time].[1998],[Customers].[
All
Customers].[Canada];
[Product].[
All
Products].[Non-Consumable]
)
;
}
ON
ROWS;
FROM
Sales.
56
marzec 2009
Plik z chomika:
SOLARIX33
Inne pliki z tego folderu:
2004.11_Porównanie serwerów relacyjnych baz danych Open Source_[Bazy Danych].pdf
(603 KB)
2004.09_Kexi bazy danych_[Bazy Danych].pdf
(283 KB)
2004.05_Sybase SQL Anywhere Studio 9.0_[Bazy Danych].pdf
(423 KB)
2004.05_Rozproszone fraktale_[Bazy Danych].pdf
(410 KB)
2009.04_SQLite – lekka alternatywa_[Bazy Danych].pdf
(1156 KB)
Inne foldery tego chomika:
Administracja
Aktualnosci
Audio
Bezpieczenstwo
Biznes
Zgłoś jeśli
naruszono regulamin