Wojciech Gardziński

Krzysztof Rumiński

 

Cykl: Excel w biznesie II

Optymalna architektura środowiska analiz

Artykuł 5. Hurtownia danych.

 

1.      Wstęp

 

Przypomnijmy poprzednie artykuły naszego cyklu:

  1. Wstęp: „Czego chcemy?”
  2. Postać danych do analizy
  3. Logika zapytań bazodanowych
  4. Aspekty technologiczne dostępu do danych

 

Najwyższa pora na podsumowanie – REALIZUJEMY HURTOWNIĘ DANYCH

 

 

Kilka definicji, czyli co to w ogóle jest hurtownia danych (HD)?

 

WIKIPEDIA: Hurtownia danych (ang. data warehouse) rodzaj bazy danych, która jest zorganizowana i zoptymalizowana pod kątem pewnego wycinka rzeczywistości. Hurtownia danych jest wyższym szczeblem abstrakcji niż zwykła, relacyjna baza danych (choć do jej tworzenia używane są także podobne technologie). W skład hurtowni wchodzą zbiory danych, zorientowanych tematycznie (np. hurtownia danych klientów). Dane te często pochodzą z wielu źródeł, są one zintegrowane i przeznaczone wyłącznie do odczytu.

Pełna nota: http://pl.wikipedia.org/wiki/Hurtownia_danych

 

Definicja z witryny www.datawarehouse4u.info :

Hurtownia danych jest to uporządkowany tematycznie, zintegrowany, zawierający wymiar czasowy, nieulotny zbiór danych, wspomagających podejmowanie decyzji.

 

Nasza definicja hurtowni danych:

Jest to, przeznaczona wyłącznie do odczytu, korzystająca z baz danych systemów transakcyjnych ale często posiadająca inne źródła, odrębna fizycznie i logicznie, baza danych, tzw. „warstwa pośrednia” uzupełniona o oprogramowanie, zapewniające jej bieżące zasilanie danymi.

 

Jest specjalizowana dla celów analitycznych, posiada własne słowniki (również pochodzące z innych źródeł niż „normalne” bazy systemów transakcyjnych, także dynamiczne) i zestaw miar, czyli wielkości przeznaczonych do analizy – zależnych od atrybutów przechowywanych w słownikach. Zasilanie danymi polega na okresowym uruchomamianiu oprogramowania, które odpowiada za ich gromadzenie (archiwizację), przetwarzanie, agregowanie i ewentualną weryfikację. Jej celem jest udostępnienie danych w postaci zapewniającej efektywną ich analizę, czyli najefektywniejsze przekształcenie danych w informację, przeznaczoną dla zarządzania.

HD może mieć dowolny, byle rozpoznawalny przez popularne narzędzia analityczne,  format bazodanowy, czy typ bazy danych. W zależności od potrzeb, zastosowanej technologii, stopnia elastyczności oraz wymaganych sposobów odczytu informacji, może być relacyjna lub wielowymiarowa. Może również odtwarzać hierarchiczną strukturę organizacyjną firmy poprzez analogiczną strukturę hierarchiczną..

Umożliwia eksplorację danych, tj. wyszukiwanie zależności danych według bieżących potrzeb.

 

Jeśli spełnia te warunki, mamy dobrą wiadomość: jest dostępna bezpośrednio z Excela!

I my, osobiście, uważamy, że to najlepsze oprogramowanie analityka.


Rodzą sę pytania:

 

 

2.      Zarys problemu

 

Dysponujemy bazą danych transakcyjnych w dowolnym systemie bazodanowym. Mamy tu tabele: faktura (pole wart_net to wartość sprzedaży netto, tzw. tabela faktów [Art.2.]), odbiorca (pole miasto to miasto siedziby kontrahenta) [Art.3.]. Dysponujemy również excelową tabelą-słownikiem regionów, będącą zapisem „graficznego”, ręcznego podziału Polski na regiony [Art.2.].


Nasze problemy to:

·        Brak połączenia tabel w systemie transakcyjnym – mamy dostęp, ale tylko do osobnych tabel (zwykle tak się dzieje, gdy są to „eksporty” np. do Excela z tych systemów lub ich modułu raportowego)

·        Słownik regionów w innym formacie bazodanowym, tu: w Excelu (bo tu go najłatwiej stworzyć). Brak jednolitości formatu powoduje brak możliwości bezpośredniego połączenia tabel w MS Query [Art.3.]

·        Oficjalny zakaz dostępu on-line do systemu transakcyjnego. Są ku temu powody! [Art.4.]

 


 

3.      Realizacja – przykład najprostszy – Excel

 

 

Powyższe rozwiązanie traktować należy jako „model” dydaktyczny (próbny, prototypowy) – nie polecamy go implementować. Excel, z całym szacunkiem dla tego programu, nie nadaje się na bazę danych! Powyższe rozwiązanie można zaprojektować, a nawet wdrożyć, ale wyłącznie w celu nauczenia się jego obsługi: kwerend, logiki odświeżania, automatyzacji, a następnie należy przekazać je do implementacji swojemu działowi IT lub firmom, specjalizujących się w tego typu rozwiązaniach. Można spróbować samemu – wymagana jest wtedy minimalna znajomość programu MS Access. W następnym punkcie przedstawiamy właśnie takie rozwiązanie.

 


 

4.      Realizacja – przykład „lepszy” – tania lub darmowa baza danych, np. MS Access, Open Office Base, MySQL, inne

 

 

HD w Accessie również nie zostanie przez informatyków uznana za „rozwiązanie poważne”. Naszym zdaniem jednak, jeśli wielkość bazy nie jest zbyt duża, jest to jednak rozwiązanie wystarczające, przynajmniej na początek. Baza accessowa wprawdzie do bezpiecznych nie należy, jak słusznie będą twierdzić informatycy, ale łatwo jest odtworzyć niewielką bazę, jeśli zabezpieczymy kopie zapasowe. W końcu proces napełniania jest dość stabilny, a gotowa baza służy wyłącznie do odczytu. Ponieważ jest to baza plikowa łatwo plik skopiować, a zawiera on przecież kluczowe dane firmy - są jednak sposoby zabezpieczenia pliku przed niepowołanym dostępem na innym poziomie, niż sam Access.

 

A jakie są zalety tego rozwiązania?

·        Łatwość stworzenia we własnym zakresie, do „naszego” problemu, bez angażowania działu IT i dodatkowych zakupów informatycznych – Accessa przecież już posiadamy.

·        Elastyczność w dostosowywaniu do własnych potrzeb

·        Przejrzystość – znamy w niej każdy proces, poznajemy więc dogłębnie procesy informacyjne firmy. Nie można przecenić takiej wiedzy.

·        Możliwość stosowania również plików – baz wielowymiarowych, tj. excelowych kostek OLAP (Pliki *.cub). Łatwo je zaprojektować, łatwo je używać – Excel otwiera je natychmiast i jest to rozwiązanie efektywne nawet w dużych firmach.

 

Polecamy więc stosować go jako rozwiązanie prototypowe, a w mniejszych firmach nawet docelowe, dopóki system informacyjny firmy nie dojrzeje do rozwiązania docelowego.


 

5.      Realizacja – przykład efektywny i niedrogi – specjalizowany serwer analityczny

 

 

 

Serwer taki, nie jest, wbrew pozorom, drogi. Ceny komputerów spadły do nieistotnego poziomu, oprogramowanie nieco kosztuje, ale w części jest wręcz darmowe, np. SQL Server Express. Realizacja prostej HD to wydatek rzędu 10-30 tys PLN.

 

Rozwiązanie zapewnia standardowe bezpieczeństwo, zapewnia również dodatkowe funkcjonalności, np. implementację analiz wielowymiarowych OLAP (tzw. kostki OLAP) oraz dostęp sieciowy.

 

Pozostaje jeszcze jeden problem: Jakimi  narzędziami stworzyć owo oprogramowanie, zasilające naszą niskokosztową HD?

Najprostsza droga: Na platformie MS Access mamy do dyspozycji makra Accessa, które, można skonfigurować bez konieczności znajomości jakiegokolwiek języka programowania. Potrafią one uruchamiać  sekwencje kwerend, które z kolei mogą odświeżać kolejno dane w tabelach HD – widokach biznesowych (szybszy dostęp z Excela do tabel, niż do kwerend).

 

Droga bardziej zaawansowana:Korzystamy z platformy Accessa do budowy aplikacji, zaś jako bazy danych używany platformy MS SQL Servera, unikając pisania oprogramowania w tym narzędziu. Tworzymy więc program, w języku VBA wywołujący albo sekwencję komend SQL na bazie zewnętrznej albo wręcz, tak, jak opisano wyżej,,sekwencję kwerend.

 

Docelowo oczywiście powinniśmy dążyć do wykorzystania przebogatych funkcji serwera bazodanowego, które to funkcje mają obecnie przyjazny interface graficzny, ale to już temat odrębny (może na kolejny cykl J)

 

Podsumowując:

Po pierwsze: Do uzyskania pełnej, spójnej i aktualnej informacji konieczna jest Hurtownia Danych rozumiana jako - baza danych zaprojektowana z przeznaczeniem  do analizy, wyposażona w oprogramowanie zapewniające jej automatyczne aktualizowanie. HD spełnia rolę warstwy pośredniej między bazą systemu transakcyjnego (warstwą danych transakcyjnych) a warstwą analiz – najczęściej arkuszem kalkulacyjnym, który do tej bazy ma dostęp w architekturze klient-serwer.

 

Po drugie: W najprostszej wersji użytkowej można taką Hurtownię zrealizować na platformie MS Access przy pomocy makr, bez znajomości języka programowania.

 

Po trzecie: W wersji zaawansowanej, ale ciągle ograniczając do minimum udział profesjonalnych informatyków można Hurtownię Danych  zrealizować na platformie Accessa przy pomocy języka VBA, korzystając z serwerowej bazy danych (np. MS SQL)

 

Jest to więc przedsięwzięcie znajdujące się w zasiegu niemal każdej, nawet stosunkowo małej, firmy.