piątek, 28 sierpnia 2009

Hurtownia Danych OLAP

Czy zbudowanie od podstaw(!) OLAP-owej hurtowni danych jest trudne?

Pewnie tak - trzeba pobrać dane z różnych źródeł danych,    
zebrać je w jednej bazie (ETL), następnie je przekształcić do    
formy przyjaznej do analizy, a potem zaprojektować i wykonać    
moduł analizy wielowymiarowej OLAP, który oferuje natychmiastowy    
dostęp do dowolnych wymiarów naszej analizy i umożliwia łatwą    
eksplorację danych tabelą przestawną.

Spróbujmy!
http://afin.net/webcasts/Demo_DataWarehouseInMOLAP.swf


Streszczenie filmiku:
1. Otwieramy odpowiedni szablon AFIN.NET i dostosowujemy go da    
naszego zadania (tu: usuwamy niepotrzebne wiersze)

2. Wykonujemy kolejno szereg kwerend, pobierając do arkusze dane z    
różnych źródeł danych, tu:
1.1. SQL Server (wersja Express, serwer lokalny, dane faktur -    
'faktura')
1.2. Access (dane kontrahentów - 'odbiorca')
1.3. Excel (słownik regionów - 'region')
Kwerendy są proste, dla uproszczenia bez żadnych fitrów i    
uszlachetnień

3. Uruchamiamy program, budujący bazę danych, składającą się z    
3 wymienionych wyżej tabel - tu: plik Accessa WorkBase.mdb
Użycie 'stop' zatrzymuje program przed wykonaniem linii,    
dotyczącej budowy kostki - kostka nie jest jeszcze zaprojektowana.

4. Budujemy kostkę OLAP
4.1. Budujemy kwerendę, składającą dane z trzech tabel do jednej    
szerokiej tabeli wynikowej (widoku)
4.2. Uruchamiamy Excelowego kreatora modułów danych OLAP (W    
standardzie Excela od wersji 2000)
4.3. Projektujemy kostkę, najpierw miara, potem wymiary, następnie    
podajemy, gdzie ma zostać zapisany moduł danych (kostka OLAP, plik    
CUB) oraz gdzie ma zostać zapisana jego definicja (plik OQY)
Kostka OLAP również jest celowo najprostsza, jak być może: jedna    
miara, trzy wymiary, prosta hierarchia.

5. Dokonujemy korekt ścieżek - wskazujemy adresy kostki i jej    
definicji

6. Uruchamiamy cały program

7. Na stworzonej kostce budujemy raport tabeli przestawnej -    
otwieramy plik CUB pod Excelem

8. W celu pokazania automatyzacji całego procesu, otwieramy na    
chwilę plik Excela ze źródłową tabelą 'region' i dokonujemy w    
niej zmian - tu: zmieniamy przyporządkowanie miasta 'Warszawa' do    
innego regionu - tu: tworzymy nową pozycję słownikową -    
'Stolica'

9. Uruchamiamy ponownie program - odświeżamy kostkę oraz    
odświeżamy tabelę przestawną, gdzie natychmiast pojawia się    
nowy region.

10. Gotowe. Definicja kostki jest gotowa, kostkę można    
odświeżać dowolną ilość razy w dowolnym czasie, nawet, gdy    
raporty z niej są otwarte.

Wnioski:
Budowa procesu ETL - kilka minut, myszką
Projekt kostki OLAP - równie prosto i szybko
Odświeżanie naszej hurtowni - jedno kliknięcie myszą
Odświeżenie raportu - standardowo.


Wydajność:

Proces taki w następujących warunkach:
1. Dane dużej firmy dystrybucyjno-produkcyjnej urządzeń    
gospodarswa domowego - źródłowy plik tekstowy ok. 1.000.000    
wierszy, tj. dane sprzedaży z dokładnością do pozycji faktury
2. Dołączone słowniki - 5 sztuk, hierarchiczne, kilkaset-kilka    
tysięcy pozycji, format: pliki Excela
3. Z pełnych trzech lat, z dokładnością do dnia
4. Z dokładnością drążenia (drill-down) w kostce do pozycji    
faktury, czyli bez uproszczeń, ale, oczywiście, ze wszyskimi    
sumami pośrednimi itp.
5. Tworzona kostka miała 32 MB i działała bardzo sprawnie już    
pod Excelem XP

... trwał 3 minuty.

Brak komentarzy:

Prześlij komentarz