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-
332762501.035.png 332762501.036.png 332762501.037.png 332762501.038.png
 
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
332762501.001.png 332762501.002.png 332762501.003.png 332762501.004.png 332762501.005.png 332762501.006.png 332762501.007.png 332762501.008.png 332762501.009.png 332762501.010.png 332762501.011.png 332762501.012.png 332762501.013.png 332762501.014.png
 
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
332762501.015.png 332762501.016.png 332762501.017.png 332762501.018.png
 
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
332762501.019.png 332762501.020.png 332762501.021.png 332762501.022.png 332762501.023.png 332762501.024.png 332762501.025.png 332762501.026.png 332762501.027.png 332762501.028.png 332762501.029.png 332762501.030.png
 
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
332762501.031.png 332762501.032.png 332762501.033.png 332762501.034.png
 
Zgłoś jeśli naruszono regulamin