Next-Generation Database Technology
Magazyny danych i technologia OLAP
Opracowa艂 na podstawie materia艂贸w T. Morzego, T.Koszlajdy, M. Matysiaka, R. Wrembela
______________________________________________________________________________
Literatura:
T. Koszlajda, Technologia magazyn贸w danych, w: Materia艂y II Kraj. Szko艂y PLOUG'97, Zakopane.
M. Matysiak, Technologia OLAP, w: Materia艂y II Krajowej Szko艂y PLOUG'97, Zakopane.
R. Wrembel, Dane hurtowo, Informatyka, nr.10, 1998
T. Morzy, Eksploracja danych a bazy danych, Materia艂y III Krajowej Szko艂y PLOUG'98, Zakopane.
Chaudhuri S., U. Dayal, An Overview of Data Warehousing and OLAP Technology, SIGMOD Record, Vol. 26, No. 1, March 1997.
Codd E.F., S.B. Codd, C.T. Salley, Providing to User-Analysts: An IT Mandate, Arbor Software's web site, http://www.arborsoft.com/OLAP.html.
Widom J., Research Problems in Data Warehousing, Proceedings 4th Intern. CIKM Conference, 1995.
Http:// www.olapcouncil.org
Informatyzacja firm, instytucji i innych jednostek organizacyjnych powinna realizowa膰 dwa podstawowe cele:
Usprawnienie pracy pojedynczego pracownika
Racjonalizacja dzia艂ania ca艂ych firm
Ad 1) Usprawnienie pracy pojedynczego pracownika: sprzedawcy, magazyniera, ksi臋gowego lub urz臋dnika - poprzez automatyzacj臋 realizowanych przez nich wybranych, rutynowych dzia艂a艅.
Przyk艂ady takich dzia艂a艅:
wprowadzanie zam贸wie艅, wydawanie lub przyjmowanie towaru, realizacja sprzeda偶y, rezerwacja miejsc lub operacja przelewu na kontach bankowych.
Dzia艂ania te charakteryzuje 艣ci艣le okre艣lona procedura post臋powania i cykliczna powtarzalno艣膰
Ad 2) Racjonalizacja dzia艂ania ca艂ych firm - w wyniku wspomagania decyzji kadry zarz膮dzaj膮cej - przez dostarczenie danych analitycznych opisuj膮cych bie偶膮cy stan i histori臋 dzia艂ania danej firmy.
Programowe narz臋dzia analityczne - udost臋pnianie informacji statystycznych o bie偶膮cym stanie firmy, wyst臋puj膮cych trendach itp.
Korzy艣ci: trafniejsze decyzje o strategicznym znaczeniu dla rozwoju danego przedsi臋biorstwa.
Spos贸b w jaki u偶ytkownik korzysta z bazy danych (w jaki realizuje do niej dost臋p) nazywamy modelem przetwarzania
Aplikacje operacyjne systemu informatycznego
Cel: wspomaganie pracy pojedynczych pracownik贸w
Charakterystyka:
proste przetwarzanie,
dzia艂ania na niewielkich zbiorach danych szczeg贸艂owych,
realizacja prostych operacji odczytu, wstawiania, modyfikacji i usuwania danych.
Modelem przetwarzania w艂a艣ciwym dla tej kategorii aplikacji jest tak zwane przetwarzanie transakcyjne (ang. On-line Transaction Processing - OLTP).
G艂贸wne cele tej technologii:
zapewnienie sp贸jno艣ci danych,
wysoka wydajno艣膰 system贸w pracuj膮cych w 艣rodowisku wielodost臋pnym,
Krytycznym parametrem efektywno艣ciowym takich system贸w jest ich przepustowo艣膰, mierzona liczb膮 transakcji w jednostce czasu.
Aplikacje analityczne systemu informatycznego
Cel: wspomaganie pracy kadry zarz膮dzaj膮cej
Charakterystyka:
du偶o wi臋ksza z艂o偶ono艣膰 przetwarzania ni偶 aplikacji operacyjnych
zorientowanie na wspieranie proces贸w decyzyjnych (przetwarzanie danych historycznych, zagregowanych i cz臋sto skonsolidowanych z wielu 藕r贸de艂 danych: relacyjnych i obiektowych baz danych, arkuszy kalkulacyjnych, itp.)
realizacja z艂o偶onych zapyta艅 wymagaj膮cych dost臋pu do milion贸w krotek (tysi膮ce gigabajt贸w), wielu operacji po艂膮czenia, grupowania i agregowania oraz filtrowania danych
przyk艂ady takich zapyta艅: Jaka jest sprzeda偶y produkt贸w w supermarkecie w kolejnych kwarta艂ach, miesi膮cach itp. ? Jaka jest sprzeda偶 produkt贸w z podzia艂em na rodzaje produkt贸w (AGD, produkty spo偶ywcze, kosmetyki, itp.)
Aplikacje analityczne - podsumowanie
Modelem przetwarzania w艂a艣ciwym dla tej kategorii aplikacji jest przetwarzanie analityczne (ang. On-line Analytical Processing - OLAP) - ma za zadanie wspieranie proces贸w analizy danych dostarczaj膮c narz臋dzi umo偶liwiaj膮cych tak膮 analiz臋 w wielu „wymiarach” definiowanych przez u偶ytkownik贸w (czas, miejsce, klasyfikacja produkt贸w, itp.).
OLAP - weryfikacja hipotez
Analiza danych zgodnie z modelem OLAP, jest ca艂kowicie sterowana przez analityka. Analityk formu艂uje zapytania i dokonuje analizy danych. Z tego punktu widzenia, OLAP mo偶na interpretowa膰 jako rozszerzenie standardu SQL o mo偶liwo艣ci efektywnego przetwarzania z艂o偶onych zapyta艅 zawieraj膮cych agregaty.
Aplikacje analityczne - podsumowanie
Przetwarzanie w aplikacjach analitycznych:
operacje odczytu du偶ych wolumen贸w danych, przetwarzanych nast臋pnie przez z艂o偶one funkcje analityczne,
proces analizy jest ca艂kowicie sterowany przez u偶ytkownika - m贸wimy o analizie danych sterowanej zapytaniami (ang. query-driven exploration)
odpowiedzi na takie zapytania umo偶liwiaj膮 decydentom okre艣lenie w膮skich garde艂 sprzeda偶y, produkt贸w przynosz膮cych deficyt, itp.
Efektywno艣膰 takich system贸w: mierzona czasem odpowiedzi
Problemy realizacji system贸w OLAP
Komercyjnie dost臋pne systemy transakcyjne (systemy zarz膮dzania bazami danych SZBD) dostarczaj膮 efektywnych rozwi膮za艅 dla takich problem贸w jak: efektywne i bezpieczne przechowywanie danych, transakcyjne odtwarzanie danych, dost臋pno艣膰 danych, optymalizacja dost臋pu do danych, zarz膮dzanie wsp贸艂bie偶no艣ci膮.
W znacznie mniejszym stopniu systemy te wspomagaj膮 operacje agregacji danych, wykonywania pewnych podsumowa艅 czy te偶 optymalizacji z艂o偶onych zapyta艅 formu艂owanych ad hoc.
Systemy te w niewielkim stopniu wspomagaj膮 r贸wnie偶 integracj臋 danych z r贸偶nych heterogenicznych 藕r贸de艂 danych.
Problemy realizacji system贸w OLAP
Aby przeprowadzi膰 analiz臋 danych dla wspomagania decyzji, nale偶y dysponowa膰 odpowiednimi danymi opisuj膮cymi dzia艂alno艣膰 przedsi臋biorstwa.
Bardzo rzadko informacje te s膮 dost臋pne w jednej bazie danych. Z regu艂y, s膮 one rozproszone po wielu oddzia艂owych, rozproszonych geograficznie i heterogenicznych bazach danych.
Typowy stan informatyzacji firm, instytucji: heterogeniczno艣膰 eksploatowanych system贸w - uniemo偶liwia to bezpo艣redni dost臋p do wszystkich danych okre艣laj膮cych kondycj臋 danej firmy
Problemy realizacji system贸w OLAP
St膮d, opracowuj膮c koncepcj臋 systemu wspomagania podejmowania decyzji nale偶y odpowiedzie膰 na dwa zasadnicze pytania odno艣nie architektury takiego systemu i modelu przetwarzania.
Czy analiza powinna mie膰 charakter rozproszony czy scentralizowany, innymi s艂owy, czy dane nale偶y zgromadzi膰 i przetwarza膰 w jednym miejscu w spos贸b scentralizowany, czy te偶 korzystaj膮c z mechanizmu transakcji rozproszonych mo偶na przetwarza膰 dane w spos贸b rozproszony.
Drugie pytanie dotyczy koegzystencji dw贸ch system贸w - systemu bie偶膮cej obs艂ugi dzia艂ania przedsi臋biorstwa oraz systemu wspomagania podejmowania decyzji. Oba systemy operuj膮 na tych samych danych, st膮d pytanie, czy oba modele OLAP i OLTP mog膮 wsp贸艂istnie膰 w tym samym systemie bazy danych, czy te偶 powinny funkcjonowa膰 niezale偶nie.
Problemy realizacji system贸w OLAP
Problem integracji heterogenicznych i rozproszonych system贸w informatycznych
W ci膮gu kilku ostatnich lat problem przygotowywania aplikacji realizuj膮cych dost臋p do heterogenicznych 藕r贸de艂 danych, kt贸re s膮 fizycznie rozproszone, zarz膮dzane przez niezale偶ne SZBD, pr贸bowano rozwi膮zywa膰 na kilka sposob贸w:
konwersja i migracja danych ze starych, zamkni臋tych system贸w do nowych system贸w;
wykorzystanie tzw. bramek pomi臋dzy r贸偶nymi systemami baz danych (ang. DB gateways)
koncepcja sfederowanych system贸w baz danych
Czy w celu integracji heterogenicznych i rozproszonych system贸w informatycznych mo偶na wykorzysta膰 koncepcje sfederowanych system贸w baz danych ?
Architektura sfederowanych baz danych
Ocena technologii sfederowanych system贸w baz danych
Idea sfederowanych system贸w baz danych nie zako艅czy艂a si臋 sukcesem
Nie powsta艂y 偶adne rozpowszechnione systemy komercyjne oparte na tej technologii
Cz臋艣膰 rozwi膮za艅 sk艂adaj膮cych si臋 na t臋 technologi臋 zosta艂o jednak wykorzystana w produktach komercyjnych i standardach - pomosty i platformy integracyjne:
ODBC (ang. Open Database Connectivity),
TUXEDO i CORBA (ang. Common Object Request Broker Architecture),
DCE (ang. Distributed Computing Environment) i ODP (ang. Open Distributed Processing).
Problemy realizacji system贸w OLAP - cd.
Odmienno艣膰 charakterystyki przetwarzania OLTP i OLAP powoduje, 偶e rozwi膮zania dost臋pne w standardowych systemach baz danych s膮 nieprzydatne do eksploatacji aplikacji analitycznych
R贸wnoczesna eksploatacja aplikacji operacyjnych i analitycznych w 艣rodowisku tego samego systemu bazy danych, musi prowadzi膰 do niskiej efektywno艣ci dzia艂ania ca艂ego systemu informatycznego.
Problemy realizacji system贸w OLAP - cd.
Wnioski: analiza powinna mie膰 charakter scentralizowany, a modele OLAP i OLTP powinny funkcjonowa膰 niezale偶nie.
Oczywi艣cie, odpowied藕 na pytania o architektur臋 i model przetwarzania jest uzale偶niona od aktualnego stanu rozwoju technologii informatycznej.
Ze wzgl臋du na charakter i pracoch艂onno艣膰 oblicze艅, cz臋艣ciowo r贸wnie偶 ze wzgl臋du na problem autoryzacji dost臋pu do danych, analiza danych jest aktualnie prowadzona w spos贸b scentralizowany.
Wraz z rozwojem sieci komputerowych, wzrostem pr臋dko艣ci transmisji danych, nale偶y si臋 jednak spodziewa膰 przechodzenia od modelu przetwarzania analitycznego scentralizowanego do modelu przetwarzania analitycznego rozproszonego.
Magazyn danych - koncepcja i architektura
W ostatnim czasie prace badawcze i rozwojowe prowadzone w ramach powy偶szych problem贸w doprowadzi艂y do opracowania nowego typu relacyjnej bazy danych nazwanego magazynem danych (ang. data warehouse).
Magazyny danych, s膮 „tematycznie zorientowanymi, zintegrowanymi, zmiennymi w czasie, nie ulotnymi zbiorami danych, wykorzystywanymi w organizacjach g艂贸wnie do przetwarzania analitycznego i podejmowania decyzji”
Magazyny danych s膮 niezale偶ne od operacyjnych baz danych, na kt贸rych dzia艂aj膮 aplikacje OLTP
Magazyn danych - koncepcja i architektura
Uzasadnienie konieczno艣ci budowy magazyn贸w danych dla przetwarzania analitycznego:
procesy decyzyjne wymagaj膮 danych, na przyk艂ad o trendach, kt贸rych mo偶e nie by膰 w operacyjnych bazach danych
procesy decyzyjne wymagaj膮 dost臋pu do skonsolidowanych danych pochodz膮cych z wielu heterogenicznych 藕r贸de艂, kt贸re mog膮 u偶ywa膰 niezgodnych format贸w danych i niezgodnego kodowania
operacje typowe dla system贸w OLAP wymagaj膮 specjalnego sk艂adowania danych, odpowiednich struktur i metod dost臋pu do danych, kt贸rych nie stosuje si臋 w tradycyjnych, komercyjnych systemach zarz膮dzania bazami danych (ang. DBMS).
Magazyn danych - rozdzielenie przetwarzania operacyjnego i analitycznego
Koncepcja magazynu danych - cd.
Problem konstrukcji magazynu danych wi膮偶e si臋 z problemem magazynowania danych (ang. data warehousing).
Magazynowanie danych jest procesem zbierania i przetwarzania danych z r贸偶nych, heterogenicznych i rozproszonych 藕r贸de艂 danych w celu uzyskania jednolitego obrazu cz臋艣ci b膮d藕 ca艂o艣ci dzia艂alno艣ci danego przedsi臋biorstwa.
Struktura magazynu danych
W magazynie danych przechowywane s膮 nast臋puj膮ce kategorie danych:
dane elementarne pozyskane bezpo艣rednio ze 藕r贸d艂owych heterogenicznych baz danych (wykonanych w r贸偶nych technologiach), jak i ze 藕r贸de艂 innych ni偶 bazy danych, np. arkusze kalkulacyjne, dokumenty tekstowe, pliki HTML, multimedia;
dane historyczne tworzone w momencie pojawiania si臋 nowych warto艣ci ju偶 przechowywanych danych;
dane sumaryczne (zagregowane) o r贸偶nym stopniu przetworzenia;
dane opisuj膮ce semantyk臋, pochodzenie i algorytmy wyznaczania poprzednich trzech typ贸w danych.
Struktura magazynu danych - cd.
Architektury magazyn贸w danych
Zak艂adowy magazyn danych
Architektury magazyn贸w danych
Zbi贸r niezale偶nych oddzia艂owych magazyn贸w danych
Architektury magazyn贸w danych
Zbi贸r zale偶nych oddzia艂owych magazyn贸w danych
Architektura systemu zarz膮dzania magazynem danych
Architektura systemu zarz膮dzania magazynem danych - cd.
殴r贸d艂a danych: 藕r贸d艂owe bazy danych i 藕r贸d艂a inne ni偶 bazy danych
Formaty fizyczne, logiczne i poj臋ciowe poszczeg贸lnych 藕r贸de艂 danych mog膮 r贸偶ni膰 si臋 mi臋dzy sob膮
Z ka偶dym z takich 藕r贸de艂 jest zwi膮zana warstwa oprogramowania o nazwie konwerter / monitor
Modu艂y monitorowania i konwersji danych
Zadania:
automatyczne pozyskiwanie danych z r贸偶nych 藕r贸d艂owych baz danych;
transformowanie danych z formatu wykorzystywanego w 藕r贸dle do formatu wykorzystywanego w magazynie - dla ka偶dego modelu danych 藕r贸d艂owych konieczne jest zastosowanie specyficznego modu艂u konwertera,
wykrywanie zmian w danych 藕r贸d艂owych i ich przekazywanie do warstwy oprogramowania integratora (po uprzedniej konwersji do modelu danych magazynu);
Modu艂y monitorowania i konwersji danych
Zadania -cd:
spos贸b wykrywania zmian w danych 藕r贸d艂owych zale偶y od w艂asno艣ci samych 藕r贸de艂 - z tego punktu widzenia, wyr贸偶nia si臋 cztery nast臋puj膮ce rodzaje 藕r贸de艂 danych:
aktywne, tzn. posiadaj膮ce zaimplementowane mechanizmy wyzwalaczy, kt贸re informuj膮 monitor o zmianach zachodz膮cych w danych 藕r贸d艂owych;
utrzymuj膮ce dzienniki operacji wykonywanych na danych 藕r贸d艂owych - zmiany s膮 wykrywane przez analiz臋 zawarto艣ci dziennika przez modu艂 monitora;
umo偶liwiaj膮ce wydawanie zapyta艅 - w celu wykrycia zmian w danych 藕r贸d艂owych, monitor okresowo wydaje zapytania do wszystkich 藕r贸de艂;
wspieraj膮ce mechanizm migawek (ang. snapshot) - migawka jest programem, kt贸ry okresowo zapisuje do pliku zawarto艣膰 藕r贸d艂owej bazy danych, a zmiany informacji wykrywa si臋 przez por贸wnywanie zawarto艣ci kolejnych plik贸w.
odfiltrowanie nadmiarowych i b艂臋dnych danych;
Potrzeba konwersji i integracji danych
Architektura systemu zarz膮dzania magazynem danych - cd.
Modu艂 integratora
Dane przechowywane w magazynie danych mog膮 r贸偶ni膰 si臋 schematem poj臋ciowym od danych przechowywanych w poszczeg贸lnych 藕r贸d艂owych bazach danych - zazwyczaj s膮 to dane bardziej przetworzone, na przyk艂ad do warto艣ci sumarycznych, 艣rednich itp.
Zadania modu艂u integratora:
Modu艂 integratora jest odpowiedzialny za 艂膮czenie danych pochodz膮cych z wielu 藕r贸de艂 i uaktualnianie danych w magazynie - proces ten sk艂ada si臋 nie tylko z wpisywania, uaktualniania i usuwania danych, ale r贸wnie偶 z wst臋pnego ich przetwarzania (ang. data scrubbing), tj. filtrowania, eliminowania duplikat贸w, usuwania niesp贸jno艣ci, obliczania agregat贸w.
W艂asno艣ci systemu zarz膮dzania magazynem danych
System zarz膮dzania magazynem danych powinien zapewnia膰:
Efektywne przetwarzanie analityczne du偶ego wolumenu danych
przy艣pieszenie dost臋pu do wynik贸w analizy danych:
materializacja perspektyw (agregat贸w) (ang. materialized view)
zastosowanie algorytm贸w przetwarzania r贸wnoleg艂ego i parcelacja danych
Utrzymywanie i przetwarzanie danych historycznych
Efektywne przetwarzanie danych wielowymiarowych
nowe rodzaje indeks贸w: indeksy bitmapowe, indeksy po艂膮czeniowe, bitmapowe indeksy po艂膮czeniowe,
nowe algorytmy optymalizacji wykonywania zapyta艅
Efektywno艣膰 systemu zarz膮dzania magazynem danych (SZMD) - wybrane problemy
Przetwarzanie r贸wnoleg艂e
R贸wnolegle przetwarza si臋 zapytania, sortuje dane, wykonuje operacje odczytu i zapisu na dysk, buduje tablice i indeksy oraz wczytuje dane do magazynu
Przetwarzanie r贸wnoleg艂e wspieraj膮 m.in. systemy zarz膮dzania bazami danych: Oracle7 i Oracle8 (Oracle Corporation) , DB2 (IBM), OnLine Extended Parallel Server, OnLine Dynamic Server (Informix), Red Brick Warehouse (Red Brick), Sybase IQ (Sybase)
Efektywno艣膰 systemu zarz膮dzania magazynem danych (SZMD)- wybrane problemy - cd
Parcelacja danych
Umo偶liwia automatyczne rozpraszanie danych (pochodz膮cych z jednej lub wielu relacji) na wiele dysk贸w, znajduj膮cych si臋 w tym samym lub wielu w臋z艂ach (komputerach) sieci - dzi臋ki podzia艂owi du偶ej relacji na mniejsze:
bardzo kosztowne operacje wej艣cia/wyj艣cia, tj. dost臋pu do dysk贸w mog膮 by膰 wykonywane r贸wnolegle,
r贸wnowa偶one jest obci膮偶enie dysk贸w,
polecenia SQL mog膮 by膰 wykonywane r贸wnolegle,
wzrasta bezpiecze艅stwo danych w przypadku awarii sprz臋tu,
wzrasta szybko艣膰 tworzenia kopii zapasowych bazy i szybko艣膰 odtwarzania danych po awarii.
Efektywno艣膰 SZMD - wybrane problemy - cd
Techniki parcelacji danych:
round-robin (ang. round-robin partitioning),
parcelacja bazuj膮ca na warto艣ci (ang. range partitioning),
haszowa (ang. hash partitioning),
hybrydowa (ang. hybrid partitioning).
Technika round-robin umo偶liwia r贸wnomierne rozproszenie danych w w臋z艂ach sieci. Przyk艂adowo, je艣li w sieci znajduj膮 si臋 trzy w臋z艂y, to pierwsza krotka relacji zostanie umieszczona w w臋藕le pierwszym, druga - w w臋藕le drugim, trzecia krotka - w w臋藕le trzecim, czwarta - zn贸w w w臋藕le pierwszym itp.
Wada: poniewa偶 dane s膮 rozproszone w spos贸b przypadkowy, wi臋c odnalezienie 偶膮danych informacji wymaga przeszukania wszystkich w臋z艂贸w.
Efektywno艣膰 SZMD - wybrane problemy - cd
Parcelacja danych -cd
Parcelacja bazuj膮ca na warto艣ci - rozmieszczenie danych w sieci zale偶y od warto艣ci samych danych (np. relacja zawieraj膮ca informacje o klientach sieci supermarket贸w mo偶e by膰 podzielona zgodnie z warto艣ci膮 pierwszej litery nazwiska)
Zaleta: ten spos贸b rozpraszania danych jest efektywny dla zapyta艅 wykorzystuj膮cych zakresy warto艣ci w predykatach selekcji, poniewa偶 umo偶liwia szybki dost臋p do danych z 偶膮danego zakresu, bez potrzeby przeszukiwania wszystkich w臋z艂贸w.
Efektywno艣膰 SZMD - wybrane problemy - cd
Parcelacja danych -cd
W parcelacji haszowej dane s膮 umieszczane w w臋z艂ach zgodnie z warto艣ci膮 systemowej funkcji haszowej.
argumentem wej艣ciowym tej funkcji jest warto艣膰 atrybutu, a jej wynikiem - adres w臋z艂a, w kt贸rym zostanie umieszczona krotka.
w celu odnalezienia 偶膮danych informacji SZBD wykorzystuj臋 t臋 sam膮 funkcj臋 haszow膮.
Zaleta: mo偶liwo艣膰 automatycznego umieszczania w tym samym w臋藕le krotek pochodz膮cych z r贸偶nych, powi膮zanych z sob膮 relacji - w ten spos贸b zwi臋ksza si臋 efektywno艣膰 wykonywania operacji 艂膮czenia krotek, gdy偶 艂膮czone z sob膮 krotki znajduj膮 si臋 w tym samym w臋藕le.
Efektywno艣膰 SZMD - wybrane problemy - cd
Parcelacja danych -cd
Parcelacja hybrydowa umo偶liwia dwustopniowe rozpraszanie danych.
w kroku pierwszym dane s膮 umieszczane w poszczeg贸lnych w臋z艂ach za pomoc膮 parcelacji haszowej;
w kroku drugim dane s膮 umieszczane na poszczeg贸lnych dyskach danego w臋z艂a, za pomoc膮 parcelacji bazuj膮cej na warto艣ci.
Zaleta: wzrasta r贸wnomierno艣膰 rozproszenia danych i obci膮偶enia w臋z艂贸w.
Efektywno艣膰 systemu zarz膮dzania magazynem danych (SZMD)- wybrane problemy - cd
Materializowanie agregat贸w
Wobec ogromnych rozmiar贸w magazyn贸w danych, wym贸g szybkiej odpowiedzi systemu na z艂o偶one zapytanie (np. 艂膮czn膮 sprzeda偶 lod贸wek) wymaga materializowania agregat贸w, czyli wyliczenia ich z wyprzedzeniem i zapami臋tania w bazie danych, tak aby w chwili otrzymania zapytania zagregowane warto艣ci by艂y ju偶 gotowe.
Przetwarzanie w magazynach danych - W艂asno艣ci danych
|
Adres klienta |
Telefon |
Alfa |
ul. Akacjowa 4 |
8345-543 |
Beta |
ul. Konwaliowa 8 |
8665-545 |
Gamma |
ul. Klonowa 34/36 |
8434-221 |
Delta |
ul. Alba艅ska 8 |
8665-645 |
Przyk艂adowa relacja - jeden wymiar
Nawigacja po krotkach relacji:
wzd艂u偶 tylko jednego wymiaru - wymiaru obiekt贸w lub fakt贸w, o kt贸rych informacje s膮 przechowywane w relacji
zbi贸r identyfikator贸w np. klient贸w - punkty na osi wsp贸艂rz臋dnych,
Przetwarzanie w magazynach danych - W艂asno艣ci danych - cd.
Potrzeba danych wielowymiarowych - Przyk艂ad:
w bazie danych s膮 przechowywane informacje o klientach, towarach i sprzeda偶y,
zapytanie: ile towaru X sprzedano klientowi Y ?
|
|
|
Towar |
|
|
|
Lod贸wka |
Pralka |
Zmywarka |
|
Alfa |
20 |
23 |
5 |
Klient |
Beta |
4 |
0 |
24 |
|
Gamma |
45 |
147 |
35 |
|
Delta |
71 |
12 |
40 |
Sprzeda偶 pokazana w dw贸ch wymiarach: towary i klienci
Przetwarzanie w magazynach danych - W艂asno艣ci danych - cd.
Towar |
Klient |
Sprzeda偶 |
Lod贸wka |
Alfa |
20 |
Lod贸wka |
Beta |
4 |
Lod贸wka |
Gamma |
45 |
Lod贸wka |
Delta |
71 |
Pralka |
Alfa |
23 |
Pralka |
Gamma |
147 |
Pralka |
Delta |
12 |
Zmywarka |
Alfa |
5 |
Zmywarka |
Beta |
24 |
Zmywarka |
Delta |
40 |
Sprzeda偶 towar贸w dla klient贸w zapami臋tana w 1-wymiarowej relacji
Przetwarzanie w magazynach danych - W艂asno艣ci danych - cd.
Korzy艣ci wynikaj膮ce ze stosowanie struktur wielowymiarowych do przechowywania informacji:
przejrzysta reprezentacja wiedzy,
znaczenie efektywno艣ciowe.
__________________________________________________________________
Przetwarzanie w magazynach danych - Materializowanie agregat贸w
|
|
|
Towar |
|
|
||||||
|
|
Lod贸wka |
Pralka |
Zmywarka |
艁膮cznie: |
||||||
|
Alfa |
20 |
23 |
5 |
48 |
||||||
Klient |
Beta |
4 |
0 |
24 |
28 |
||||||
|
Gamma |
45 |
147 |
35 |
227 |
||||||
|
Delta |
71 |
12 |
40 |
123 |
||||||
|
艁膮cznie: |
140 |
182 |
104 |
426 |
Zmaterializowane agregaty w wielowymiarowej bazie danych
Agregaty s膮 wyliczane poprzez operacje grupowania dla wskazanych wymiar贸w
Przetwarzanie w magazynach danych - terminologia
Dana wielowymiarowa (ang. cube, multi-dimensional array) jest zbiorem kom贸rek danej (ang. cells) zlokalizowanych w przestrzeni wielowymiarowej, okre艣lonej przez wymiary (ang. dimension) danej
Pojedyncza kom贸rka wyznaczona przez zbi贸r warto艣ci wymiar贸w reprezentuje miar臋 danej w danym punkcie przestrzeni - np. ilo艣ci towar贸w lub obr贸t ze sprzeda偶y, s膮 nazywane miar膮.
Wymiary danych s膮 strukturalnymi i w og贸lno艣ci z艂o偶onymi atrybutami grupuj膮cymi elementy (ang. member) tego samego typu.
Na przyk艂ad:
Alfa, Beta, Gamma, Delta, s膮 elementami wymiaru Klient
wymiar czas jest zbiorem element贸w: dekada, rok, kwarta艂, miesi膮c, tydzie艅, dzie艅, godzina,
W typowych zastosowaniach rol臋 wymiar贸w pe艂ni膮: czas, lokalizacja, typ produktu
Przetwarzanie w magazynach danych - terminologia - cd.
Przyk艂ad danych wielowymiarowych
Przetwarzanie w magazynach danych - terminologia - cd.
Wymiary mog膮 by膰 wewn臋trznie z艂o偶one i opisane za pomoc膮 wielu atrybut贸w, a atrybuty mog膮 pozostawa膰 w pewnych zale偶no艣ciach, tworz膮c hierarchie atrybut贸w
Na przyk艂ad:
towar, kt贸ry jest jednym z wymiar贸w, mo偶e by膰 opisany mi臋dzy innymi kategori膮 towaru i bran偶膮, do kt贸rej nale偶y - mamy do czynienia ze z艂o偶onym wymiarem, posiadaj膮cym trzypoziomow膮 hierarchi臋 atrybut贸w: towar-kategoria-bran偶a
miejsce sprzeda偶y - hierarchia klient-miasto-wojew贸dztwo
czas sprzeda偶y - hierarchia dzie艅-miesi膮c-kwarta艂-rok
Hierarchie atrybut贸w - przyk艂ad
Hierarchie atrybut贸w w ramach wymiar贸w
Projektowanie magazynu danych
Bazy danych wspieraj膮ce technologi臋 magazyn贸w danych (technologi臋 OLAP) mo偶na podzieli膰 na dwa rodzaje, ze wzgl臋du na wykorzystywane przez nie modele danych.
Magazyny relacyjne, nazywane r贸wnie偶 ROLAP (ang. Relational OLAP), wykorzystuj膮ce systemy zarz膮dzania relacyjn膮 baz膮 danych, posiadaj膮ce dodatkowe mechanizmy efektywnego przetwarzania zapyta艅 typu OLAP
Magazyny wielowymiarowe, nazywane r贸wnie偶 MOLAP (ang. Multi-Dimensional OLAP), wykorzystuj膮ce specjalizowane systemy zarz膮dzania, umo偶liwiaj膮ce przechowywanie danych w wielowymiarowych tablicach i wykonywanie operacji OLAP zdefiniowanych dla tych struktur danych.
ROLAP
Zwykle schemat takiej hurtowni posiada struktur臋 gwiazdy (ang. star schema) lub struktur臋 bardziej z艂o偶on膮, przypominaj膮c膮 p艂atek 艣niegu (ang. snowflake schema). W celu skr贸cenia czasu potrzebnego na wyznaczenie wynik贸w zapytania relacje bazy danych s膮 cz臋sto denormalizowane, np. zawieraj膮 warto艣ci zagregowane, s膮 wynikiem po艂膮czenia wielu innych relacji.
Technika projektowania - diagram zwi膮zk贸w encji
schemat bazy danych ma struktur臋 przypominaj膮c膮 gwiazd臋 - w centrum gwiazdy znajduje si臋 relacja zawieraj膮ca dane 藕r贸d艂owe - nazywana relacj膮 fakt贸w, a na oko艂o znajduj膮 si臋 relacje odpowiadaj膮ce wszystkim wymiarom
poziomy w ramach wymiaru mog膮 by膰 przechowywane w osobnych relacjach powi膮zanych wzajemnie zwi膮zkami typu wiele do jednego.
ka偶da krotka w relacji fakt贸w, czyli ka偶dy pojedynczy fakt, posiada zbi贸r kluczy obcych wskazuj膮cych na odpowiednie wsp贸艂rz臋dne w relacjach reprezentuj膮cych wymiary.
ROLAP
Centralna relacja Sprzeda偶 zawiera informacje o sprzeda偶y pewnych produkt贸w, w pewnych obszarach geograficznych, w okre艣lonym czasie. Relacje Produkty, Obszary i Okresy s膮 wymiarami, natomiast relacja Sprzeda偶 jest relacj膮 fakt贸w (ang. fact table). Atrybuty relacji fakt贸w przechowuj膮ce informacje o sprzeda偶y s膮 miarami (ang. measures), np. cena, liczba_sztuk. Relacja fakt贸w - Sprzeda偶 zawiera r贸wnie偶 atrybuty ProduktID, ObszarID, OkresID, kt贸rych warto艣ci wskazuj膮 na odpowiednie wymiary.
Schemat gwiazdy
ROLAP
Je艣li wymiary tworz膮 hierarchie, to schemat hurtowni danych ma cz臋sto posta膰 p艂atka 艣niegu.
Schemat p艂atka 艣niegu
MOLAP
Struktury danych MOLAP (ang. multidimensional arrays, datacubes) zawieraj膮 dane wst臋pnie przetworzone (m.in. zagregowane) pochodz膮ce z wielu 藕r贸de艂.
Tablica tr贸jwymiarowa, zawieraj膮ca trzy wymiary: obszar, okres i produkt oraz zagregowane informacje o sprzeda偶y samochod贸w w poszczeg贸lnych latach, w wybranych miastach
MOLAP
Analiz臋 danych wielowymiarowych wspomagaj膮 specjalne operatory, do kt贸rych nale偶膮:
wyznaczanie punktu centralnego (ang. pivoting),
nawigacja w g贸r臋 lub w d贸艂 (rozwijanie (ang. drill-down), zwijanie (ang. roll-up lub drill-up)),
obracanie (ang. rotating),
projekcja (wycinanie) (ang. slice and dice),
wyznaczanie rankingu (ang. ranking).
MOLAP - operacje
Wyznaczanie punktu centralnego (ang. pivoting)
Operacja ta polega na wskazaniu miary i okre艣leniu wymiar贸w, w kt贸rych wybrana miara b臋dzie prezentowana. Przyk艂adowo, w wymiarze produktu reprezentuj膮cego samoch贸d marki BMW i wymiarze obszaru reprezentuj膮cego sklepy wojew贸dztwa pozna艅skiego mo偶e by膰 prezentowana liczba sprzedanych samochod贸w.
Rozwijanie (ang. drillng down)
Rozwijanie polega na zag艂臋bianiu si臋 w hierarchi臋 danego wymiaru w celu przeprowadzenia bardziej szczeg贸艂owej analizy danych. Jako przyk艂ad rozwa偶my informacje o sprzeda偶y samochod贸w marek BMW, Audi i Ford, w latach 95, 96 i 97, w poszczeg贸lnych miastach.
MOLAP - operacje
Rozwijanie (ang. drillng down)
W celu dokonania analizy sprzeda偶y w poszczeg贸lnych miesi膮cach roku 97 nale偶y rozwin膮膰 hierarchi臋 reprezentuj膮c膮 czas, tj. rok 97. Analiza sprzeda偶y w poszczeg贸lnych dniach wybranego miesi膮ca b臋dzie mo偶liwa po rozwini臋ciu hierarchii reprezentuj膮cej ten miesi膮c.
Operacja rozwijania hierarchii wymiaru
MOLAP - operacje
Obracanie (ang. rotating);
Operacja obracania umo偶liwia prezentowanie danych w r贸偶nych uk艂adach. Celem jej jest zwi臋kszenie czytelno艣ci analizowanych informacji.
Operacja obracania
MOLAP - operacje
Wycinanie (ang. slicing and dicing);
Operacja ta umo偶liwia zaw臋偶enie analizowanych danych do wybranych wymiar贸w, a w ramach ka偶dego z wymiar贸w - zaw臋偶enie analizy do konkretnych jego warto艣ci.
Wycinanie danych w r贸偶nych wymiarach
MOLAP - operacje
Zwijanie (ang. rolling up)
Zwijanie jest operacj膮 odwrotn膮 do rozwijania i polega na nawigowaniu w g贸r臋 hierarchii danego wymiaru. Dzi臋ki tej operacji mo偶na przeprowadza膰 analiz臋 danych zagregowanych na wy偶szym poziomie hierarchii wymiar贸w.
Obliczanie rankingu (ang. ranking);
Operacja ta umo偶liwia uporz膮dkowanie informacji w danym wymiarze, zgodnie z warto艣ciami wybranych miar (w kolejno艣ci malej膮cej lub narastaj膮cej). Przyk艂adowo, w wymiarze roku 97 mo偶na uporz膮dkowa膰 marki samochod贸w zgodnie z narastaj膮cym porz膮dkiem liczby sprzedanych egzemplarzy.
Produkty komercyjne
Obecnie wiele wiod膮cych firm w dziedzinie baz danych oferuje serwery wspieraj膮ce technologi臋 hurtowni danych. S膮 to:
Oracle7, Oracle8 i Oracle Express Server - Oracle Corporation,
DB2 - IBM,
Sybase IQ - Sybase, Inc.,
OnLine Dynamic Server, OnLine Extended Parallel Server i OnLine Workgroup Server - Informix Software, Inc.,
Red Brick Warehouse - Red Brick Systems, Inc.,
Teradata - NCR, Adabas C i Adabas D - Software AG,
Essbase - Arbor Software Corporation.
Produkty komercyjne - Oracle
ORACLE for Warehouse Technology
modu艂y r贸wnolegle 艂aduj膮ce dane do magazynu,
zestaw bram SQL do relacyjnych i nie-relacyjnych baz danych,
modu艂y wspomagaj膮ce asynchroniczn膮 replikacj臋 danych z operacyjnych baz danych do magazynu (periodyczna lub „event driven”,
Typy danych w magazynie:
sformatowane (ang. record-oriented)
tekstowe,
przestrzenne (wielowymiarowe),
dane multimedialne.
Produkty komercyjne - Oracle
Techniki specjalne wspomagaj膮ce typy danych w magazynie
Dane sformatowane:
optymalizacja zapyta艅 z uwzgl臋dnieniem produktu kartezja艅skiego,
r贸wnoleg艂e wykonywanie zapyta艅 (Oracle Parallel Query Option), w tym:
tworzenie agregat贸w: create table as <subquery>
indeksy bitmapowe.
Dane tekstowe (Oracle TextServer)
przyk艂ady: relacje prasowe, raporty roczne, kontrakty, pisma, itp.
indeksy bitmapowe - bit i jest ustawiony je艣li s艂owo wyst臋puje w dokumencie,
dokumenty s膮 przechowywane w postaci skompresowanej,
wyszukiwanie kontekstowe - modu艂 ConText (parser j臋zyka naturalnego i sieci semantyczne).
Produkty komercyjne - Oracle
Techniki specjalne wspomagaj膮ce typy danych w magazynie
Dane przestrzenne (wielowymiarowe)
integracja informacji geograficznych z danymi operacyjnymi (technika HHCode).
Dane multimedialne
w magazynie: reklamy produkt贸w firmy, wywiady - Oracle Media Server
Produkty komercyjne - Oracle
Narz臋dzia firmy Oracle wspomagaj膮ce technologi臋 magazyn贸w danych:
Data Mart Suite - tematyczne magazyny danych po艣wi臋cone wybranym zagadnieniom dzia艂alno艣ci przedsi臋biorstwa (system analizy sprzeda偶y w sieci supermarket贸w, analiza wydatk贸w i informacje o u偶ytkownikach kart kredytowych w banku, informacje o d艂ugo艣ci rozm贸w i rodzajach po艂膮cze艅 operator贸w telefonii kom贸rkowej, itd.)
Oracle Discoverer - (ostatnia wersja - Discoverer Viewer for Web) nale偶y do rodziny narz臋dzi Oracle przeznaczonych do wspomagania decyzji. Jest interaktywnym, 艂atwym w obs艂udze programem do przeszukiwania baz i magazyn贸w danych (zapytania ad-hoc), tworzenia raport贸w, wykres贸w oraz stron internetowych. Udost臋pnia u偶ytkownikom na r贸偶nych poziomach organizacji informacje wyszukane w ROLAP (w tym, analiza wielowymiarowa) i systemach OLTP.
Produkty komercyjne - Oracle
Narz臋dzia firmy Oracle wspomagaj膮ce technologi臋 magazyn贸w danych:
Oracle Express Server i Relational Access Manager (RAM) - Express Server jest serwerem magazynu MOLAP, zasilaj膮cym aplikacje analityczne. RAM 艂膮czy aplikacje Express'a z danymi w magazynie.
Oracle IRI ExpressView - modu艂 analizy i ekstrapolacji danych w magazynie (w tym analiza typu „what-if”)
Express Objects - jest to obiektowo zorientowane narz臋dzie s艂u偶膮ce tworzeniu i rozwijaniu aplikacji OLAP w architekturze klient/serwer. Umo偶liwia tworzenie aplikacji w trybie graficznym jak r贸wnie偶 przy pomocy narz臋dzi programistycznych.
_______________________________________________________________________________
Magazyny danych i technologia OLAP Z. Kr贸likowski 1