NARZĘDZIA I PROCESY ETL W HURTOWNIACH DANYCH



Podobne dokumenty
Wprowadzenie do technologii Business Intelligence i hurtowni danych

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Hurtownie danych. Wstęp. Architektura hurtowni danych. CO TO JEST HURTOWNIA DANYCH

Procesy ETL - wykład V. Struktura. Wprowadzenie. 1. Wprowadzenie. 2. Ekstrakcja 3. Transformacja 4. Ładowanie 5. Studium przypadków.

Hurtownie danych - przegląd technologii

Wykład I. Wprowadzenie do baz danych

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Hurtownie danych - przegląd technologii Robert Wrembel Politechnika Poznańska Instytut Informatyki Robert.Wrembel@cs.put.poznan.pl

Hurtownie danych - przegląd technologii

Bazy danych 2. Wykład 1

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Hurtownie danych. Projektowanie hurtowni: modele wielowymiarowe. Modelowanie punktowe. Operacje OLAP na kostkach.

Hurtownie danych - przegląd technologii

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Szkolenie autoryzowane. MS Wdrażanie hurtowni danych w Microsoft SQL Server 2012

Hurtownie danych. 31 stycznia 2017

Hurtownie danych w praktyce

OLAP i hurtownie danych c.d.

HURTOWNIE DANYCH I BUSINESS INTELLIGENCE

Model logiczny SZBD. Model fizyczny. Systemy klientserwer. Systemy rozproszone BD. No SQL

Oracle11g: Wprowadzenie do SQL

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Hurtownie danych. Ładowanie, integracja i aktualizacja danych. INTEGRACJA DANYCH ETL

UML w Visual Studio. Michał Ciećwierz

Wprowadzenie do Hurtowni Danych. Mariusz Rafało

Ewolucja technik modelowania hurtowni danych

Spis treúci. 1. Wprowadzenie... 13

Hurtownie danych. Wprowadzenie do systemów typu Business Intelligence

Pojęcie systemu baz danych

Spis tre±ci. Przedmowa... Cz ± I

Bazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI

Co to jest Business Intelligence?

Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4

Procesowa specyfikacja systemów IT

Spis treści. Część I Wprowadzenie do pakietu oprogramowania Analysis Services

Bazy danych. Plan wykładu. Rodzaje baz. Rodzaje baz. Hurtownie danych. Cechy hurtowni danych. Wykład 14: Hurtownie danych

Hurtownie danych i business intelligence - wykład II. Zagadnienia do omówienia. Miejsce i rola HD w firmie

Podstawowe pakiety komputerowe wykorzystywane w zarządzaniu przedsiębiorstwem. dr Jakub Boratyński. pok. A38

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Krzysztof Kadowski. PL-E3579, PL-EA0312,

PODSTAWY BAZ DANYCH. 19. Perspektywy baz danych. 2009/2010 Notatki do wykładu "Podstawy baz danych"

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Pierwsze wdrożenie SAP BW w firmie

Proces ETL MS SQL Server Integration Services (SSIS)

Systemy baz danych. mgr inż. Sylwia Glińska

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

AUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7

DSL w środowisku Eclipse. Grzegorz Białek Architekt techniczny, Sygnity S.A.

Oferta szkoleniowa Yosi.pl 2012/2013

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

Część I Istota analizy biznesowej a Analysis Services

Diagramy związków encji. Laboratorium. Akademia Morska w Gdyni

Hurtownie danych. Rola hurtowni danych w systemach typu Business Intelligence

Pentaho DI część 1. Paweł Boiński Politechnika Poznańska, Instytut Informatyki

Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1

OfficeObjects e-forms

Technologia informacyjna

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

Baza danych. Modele danych

Monitoring procesów z wykorzystaniem systemu ADONIS

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Analiza i projektowanie aplikacji Java

Diagramy ERD. Model struktury danych jest najczęściej tworzony z wykorzystaniem diagramów pojęciowych (konceptualnych). Najpopularniejszym

Hurtownie danych i business intelligence. Plan na dziś : Wprowadzenie do przedmiotu

Business Intelligence

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Narzędzia CASE dla.net. Łukasz Popiel

Hurtownie danych i business intelligence. Plan na dziś : Wprowadzenie do przedmiotu

Spis treści. Przedmowa

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Cel wykładu. Literatura. Wyższa Szkoła Menedżerska w Legnicy. Modelowanie wymagań Wykład 2

Wykład 1 Inżynieria Oprogramowania

Analiza i projekt systemu pracy grupowej z zastosowaniem metodyki SCRUM w technologii SharePoint Karolina Konstantynowicz

Ramowy plan kursu. Lp. Moduły Wyk. Lab. Przekazywane treści

Projektowanie baz danych za pomocą narzędzi CASE

Moduł mapowania danych

RELACYJNE BAZY DANYCH

Programowanie obiektowe

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Hurtownie danych. Przetwarzanie zapytań. ZAPYTANIA NA ZAPLECZU

Technologia informacyjna

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Procesy ETL. 10maja2009. Paweł Szołtysek

Bazy danych - wykład wstępny

PREZENTACJA FUNKCJONALNA SYSTEMU PROPHIX

Hurtownie danych a transakcyjne bazy danych

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

PRZEWODNIK PO PRZEDMIOCIE

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Przedmiotem zamówienia jest dostawa:

Opis spełnienia wymagań (PSBD)

Transkrypt:

NARZĘDZIA I PROCESY ETL W HURTOWNIACH DANYCH 1. Narzędzia ETL Narzędzia ETL (ang. extraction-transformation-load, ETL) automatyzują lub ułatwiają następujące rodzaje zadań: ekstrakcja (dostęp do różnorodnych źródeł danych), transformacje (np. pomiędzy różnymi formatami danych, językami), ładowanie (wprowadzanie danych do hurtowni), czyszczenie danych (wykrywanie i rozwiązywanie niespójności danych źródłowych), replikacja (tworzenie kopii danych źródłowych w hurtowni danych), analiza (np. wykrywanie w danych wartości nieprawidłowych lub nieoczekiwanych), szybki transfer danych (ważne w przypadku bardzo dużych hurtowni danych), kontrola jakości danych (np. z punktu widzenia kompletności i poprawności), analiza meta danych (pod kątem wykorzystania ich w projektowaniu hurtowni danych). przeprowadzenie różnego rodzaju skomplikowanych konwersji. Trzy pierwsze zadania są najważniejsze (ekstrakcja, transformacja, ładowanie extract, transform, load, ETL). Stąd też nazwa tych narzędzi ETL. 1

Procesy ETL są to procesy wyboru danych ze źródła (systemu źródłowego) następnie przetworzenie oraz załadowanie tych danych do hurtowni. Są one odpowiedzialne za za dostarczenie odpowiednich danych do struktury wielowymiarowej hurtowni danych i zapewnienie ich odpowiedniej jakości. Projektowanie procesów ETL Przed przystąpieniem do projektowania procesów ETL, należy zastanowić się nad sposobem ich implementacji. Czy do stworzenia takiego systemu lepsze będą narzędzia zakupione od odpowiednich producentów, czy stworzone przez własnych programistów od podstaw. Odpowiedź na to pytanie daje Ralph Kimball w swojej książce The Data Warehouse ETL Toolkit, Third Edition, John Wiley and Sons, 2013, a brzmi ona: to zależy. Jeśli projekt hurtowni danych jest odpowiednio duży i skomplikowany, inwestycja w odpowiednie narzędzie szybko się zwróci, ułatwiając pracę zespołowi: projektanci posiadają dużą wiedzą biznesową, mogą efektywnie projektować procesy ETL narzędzia potrafią automatycznie wygenerować metadane dotyczące przekształcania i wymusza na programistach spójną metodologię dotyczącą tych metadanych. posiadają wbudowane połączenia dla większości systemów źródłowych i docelowych. potrafią przeprowadzić większość skomplikowanych konwersji. Utworzenie własnego systemu zależy od dostępnych specjalistów (programistów), ich umiejętności, a także 2

środków umożliwiających ich zatrzymanie w firmie. Taki system jest bardziej elastyczny: techniki programowania obiektowego pomagają ujednolicić walidację, aktualizację metadanych i raportowanie błędów. umożliwiają bezpośrednie zarządzanie metadanymi, chociaż wszystkie interfejsy dla metadanych muszą zostać stworzone od podstaw. brak jest ograniczeń przez możliwości narzędzi lub unikalny język skryptowy. Elementem ułatwiającym projektowanie procesów ETL jest Logiczna Mapa Danych. Dokument ten przedstawia tzw. mapowanie pomiędzy danymi źródłowymi, a hurtownią danych. Logiczna mapa danych opisuje także wymagane transformacje konieczne do przeniesienia danych z systemu źródłowego do systemu docelowego. Logiczna Mapa Danych jest dokumentem prostym i przystępnym. Główną zaletą tego dokumentu jest dostarczenie przejrzystego planu procesów ETL projektantom. Dodatkową korzyścią jest możliwość odkrycia wielu ukrytych wymagań. Klasyfikacja narzędzi procesów ETL Narzędzia ETL dzielą się na komercyjne i typu Open-Source. Do najważniejszych narzędzi komercyjnych należą: 3

SAP Business Objects Data Integrator (BODI) Data Transformation Services (DTS) firmy Microsoft DMExpress IBM InfoSphere DataStage SQL Warehouse Tool firmy IBM (element IBM InfoSphere Warehouse) Informatica PowerCenter Oracle Data Integrator (ODI) Oracle Warehouse Builder (OWB) Pervasive Data Integrator SAS Data Integration Studio SQL Server Integration Services (SSIS) firmy Microsoft Do najbardziej znanych Open-Source narzędzi procesów ETL należą: Apatar CloverETL Pentaho Data Integration Scriptella ETL Talend Open Studio ETL Solutions IBM db2 Universal Database (?) 4

Miejsce narzędzi ETL w hurtowni danych Procesy Ekstrakcji, Przetwarzania i Ładowania (ETL) 5

Proces Ekstrakcji Proces ekstrakcji wydaje się trywialny, jednak wcale tak nie jest. Oprócz problemów z dostępem do danych, które trzeba rozwiązać w procesach ekstrakcji, są one również najlepszym miejscem do rozwiązania niektórych problemów ze zgodnością formatów danych źródłowych i docelowych. Procedury ekstrakcji mogą być bardzo proste dla danych łatwo dostępnych. Jeśli dane nie są dostępne bezpośrednio, procedury ekstrakcji mogą być bardzo skomplikowane. O ile źródło nie dostarcza ciągu danych jednego typu, dane te są najpewniej zorganizowane w jakąś strukturę. Procedury danych powinny mieć dostęp do poszczególnych pól struktury i prowadzić ich selekcję, gdyż pobieranie danych zbędnych lub mało istotnych niekorzystnie wpływa na wydajność procesu ETL, jak i wielkość hurtowni danych. W przypadku projektu przetwarzającego setki milionów rekordów jeden zbędny bajt danych wydobytych z systemów źródłowych przekłada się na 10 MB przestrzeni zajętej przez niepotrzebne dane w hurtowni danych. Wydobyte z systemów źródłowych dane są zapisane do plików płaskich lub relacyjnych tabel stanowiąc obszar pośredni. Takie przeniesienie pozwala na wydobycie danych z systemów źródłowych i opuszczenie tych systemów tak szybko, jak to tylko możliwe. Dzięki temu systemy nie są obciążone dłużej, niż powinny. W przypadku wystąpienia błędów w procesie przekształcenia i konieczności jego powtórzenia, przy zastosowaniu obszaru pośredniego, nie 6

trzeba odwoływać się do systemu źródłowego. Zamiast tego, dane wystarczy pobrać z obszaru pośredniego. Taki pośredni można wykorzystać na kilka dodatkowych sposobów. Przede wszystkim dane te są idealnie przygotowane do archiwizowania, czy to bezpośrednio na jakieś medium archiwizacyjne, czy też za pomocą programu archiwizacyjnego np. Bacula. Zależnie od założeń projektowych dane przejściowe można usunąć od razu po zakończeniu procesów ETL, lub utrzymywać aż do następnej ekstrakcji, co umożliwi określenie różnic pomiędzy kolejnymi ekstrakcjami. obszar Proces Przekształcania. Proces przekształcania odpowiada za przetworzenie wydobytych danych. W tej części systemu ETL jest sprawdzane, czy dany rekord jest poprawny, możliwy do wyczyszczenia, czy też niezdatny do niczego. Nienaprawialne rekordy są odrzucane, by nie zaśmiecać bazy. Z procedur przekształcających dane najprostsze odpowiadają za konwersje danych numerycznych na znakowe i odwrotnie, jednak niektóre przekształcenia wymagają bardziej złożonych procedur. Dane pochodzące z różnych systemów źródłowych trzeba również poddać ujednoliceniu. Te same metki (ang. labels) i wartości faktów nie zawsze mają to samo znaczenie. Dostępne narzędzia (np. MS SQL Server Integration Services, Oracle Warehouse Builder 11g) oferują biblioteki prostych funkcji przekształcania danych. Umożliwiają również 7

konstruowanie bardziej złożonych przekształceń poprzez łączenie ze sobą tych prostych. Jednak ważne jest, by istniała możliwość dołączania nowych funkcji, tworzonych przez zespół. Cały proces przekształcania można podzielić, zgodnie Ralpha Kimballa, na dwa podprocesy: - czyszczenie, - ujednolicanie. Podproces czyszczenie sprawdza format danych pola, to czy jego wartość mieści się w dopuszczalnym zakresie, a także zgodność z innymi polami. Sztandarowym przykładem jest kod pocztowy, który ma określony format, który trzeba zbadać, następnie sprawdzić, czy taki kod pocztowy w ogóle istnieje i czy odpowiada podanemu miastu. Wszelkie wyjątki mogą być raportowane do systemów źródłowych, w celu poprawienia występujących w nich nieścisłości i samego systemu. Drugi podproces, ujednolicanie, polega na wspomnianym już powyżej ujednoliceniu metek i wartości. Proces Ładowania. Proces Ładowania to ostatni i najważniejszy element Systemu, polega na umieszczeniu wydobytych i przekształconych danych w zdefiniowanym schemacie, najlepiej wymiarowym tworzonym. Jeśli coś pójdzie nie tak na tym etapie, może być konieczne wykonanie części pracy wykonanej w poprzednich krokach. Narzędzia wspierające tworzenie procesów ETL 8

Poniżej przedstawiono trzy narzędzia wspierające tworzenie systemów ETL trzech różnych producentów Microsoft, Oracle i Pentaho. Oprogramowanie Microsoftu SQL Server 2008 Integration Services i Oracle Oracle Warehouse Builder 11g R2 są najbardziej popularne w działalności biznesowej. Jako rozwiązanie typu Open-Source najbardziej popularnym narzędziem wspierającym tworzenie procesów ETL jest oprogramowanie firmy Pentaho Pentaho Data Integration 3.2.0. Microsoft SQL Server Integration Services. SQL Server Integration Services (SSIS) jest dostarczane jako część MS SQL Server Enterprise Edition, w pozostałych edycjach znajduje się jego okrojona wersja. Narzędzie to umożliwia zdefiniowanie pakietów systemów ETL, potoków danych, a także własnych elementów przy użyciu C# lub VisualBasic. Umożliwia ekstrakcję z i ładowanie do plików płaskich, XML, XLS, baz danych obsługiwanych przez ODBC, ADO.NET, OLE DB. Narzędzie posiada kilka wad: można je zainstalować i używać tylko w systemie operacyjnym Windows; Dostępny moduł operujący na plikach płaskich ma problem z plikami w których znajduje się uniksowy znak końca linii (LF). W przypadku braku połączenia ze zdefiniowanym źródłem ODBC, nieustannie próbuje się połączyć, spowalniając interakcję z projektantem. 9

MS SQL BI Development Studio - SQL Server Integration Services Przykładowe procedury transformacyjne dostarczanych przez narzędzie MS SQL Server 2008 Integration Services: Aggregate Transformation prosta transformacja wykonująca agregacje na przetwarzanych danych; Sort Transformation prosta transformacja sortująca przetwarzane dane; Character Map Transformation transformacja przeprowadzająca operacje na ciągach znaków; Derived Column Transformation transformacja tworząca nową kolumnę wypełnioną danymi powstałymi na podstawie określonych wyrażeń i funkcji; Fuzzy Grouping Transformation transformacja 10

standaryzująca wartości w kolumnie danych za pomocą logiki rozmytej; Fuzzy Lookup Transformation transformacja wyszukująca wartości w tabeli referencyjnej za pomocą logiki rozmytej; Slowly Changing Dimension Transformation transformacja konfigurująca aktualizację wolno zmieniającego się wymiaru. Data Mining Query Transformation transformacja działająca na zapytaniu ekstrakcji danych. Oprócz tego dostarcza również transformacje umożliwiające rozdzielenie przetwarzanych danych na kilka strumieni, połączenie kilku osobnych strumieni w jeden. Umożliwia to między innymi poddanie danych wydobytych z jednego źródła różnym transformacjom, zależnie od spełnienia przez nie określonego warunku. Oracle Warehouse Builder Oracle Warehouse Builder to produkt firmy Oracle służący do projektowania i budowy hurtowni danych dostarczonej wraz Oracle 11g. Oracle charakteryzuje się między innymi stabilnością zarówno działania jak i rozwoju oraz wsparciem standardów. W przeciwieństwie do produktu Microsoftu, Oracle Warehouse Builder może być uruchomiony na systemach Linux/Unix, Solaris a także Windows. Minusem jest skomplikowane podłączenie do źródeł danych innych niż Oracle. Oracle Warehouse Builder umożliwia bezproblemowe podłączenie do kilku systemów zarządzania bazami danych. 11

Są to między innymi: IBM DB2, Microsoft SQL Server, Sybase, Informix. OWB obsługuje również źródła ODBC. Oracle Warehouse Builder Oracle dostarcza zdecydowanie mniej gotowych komponentów do budowy niż narzędzie Microsoftu. Umożliwia za to zbudowanie własnych skomplikowanych mapowań w odpowiednim edytorze, jak również napisanie skryptów. Dodatkowo narzędzie oferuje możliwość stworzenia zadań profilowania danych jak i utworzenie zasad danych. Pentaho Data Integration jako narzędzie wspierające tworzenie procesów ETL 12

Pentaho Data Integration (Kettle) to narzędzie ETL stworzone przez Pentaho Corporation oferowane w dwóch wersjach, Open Source na licencji Mozilla Public License 1.1 oraz Enterprise Edition, która zawiera dodatkowo pomoc techniczną, usługi oraz dodatkowe usprawnienia. Pentaho Data Integration jest dostępne zarówno jako produkt samodzielny, jak i w pakiecie Pentaho BI Suite. Pentaho Data Integration (wersja 3.2.0) oferuje wbudowane sterowniki do 28 źródeł danych, między innymi SAP, Sybase, MS SQL, MySQL, PostgreSQL, Oracle a nawet AS/400 czy IBM DB2. Edytor graficzny przeznaczony do projektowania procesów ETL oferuje szeroki wybór elementów operujących na danych: sortowanie, usuwanie duplikatów, elementy mapujące i aktualizacja wolno zmieniającego się wymiaru. Każdy z tych elementów posiada dużo opcji konfiguracyjnych, dzięki czemu można je zastosować do swoich potrzeb. 13

Pentaho Data Integration Zaletą tego narzędzia jest możliwość pracy z nim na systemach operacyjnych z rodziny Windows, Unix/Linux oraz OSX (Apple). Do wad narzędzia należy także zaliczyć niepełną dokumentację techniczną, oraz drobne błędy w interfejsie kreatorów, które mogą prowadzić do konsternacji. Transformacje i elementy, które można używać w projektowaniu procesów ETL są podzielona na następujące grupy: wejścia, wyjścia, transformacje, narzędzia, przepływ, skryptowanie, wyszukania, złączeń, 14

hurtowni danych, walidacji, statystyczne, zadań, mapowania, ładowanie masowe i eksperymentalne. Oto niektóre funkcjonalności zawarte w narzędziu transformacji: Add checksum dodaje sumę kontrolną do wierszy Calculator dodaje nowe pole na podstawie prostych obliczeń; Replace in string zamienia występujące w ciągu znaków słowo na inne; Split fields rozdziela jedno pole na kilka; Unique rows usuwa duplikaty z przetwarzanych danych; Value Mapper mapuje wartość pola na inną; Analytic Query wykonuje zapytanie analityczne na dostarczonych danych Przykład zastosowania narzędzi ETL w środowisku Oracle Podstawowe narzędzie: Oracle Warehouse Builder Programy narzędziowe Export/Import Data Pump SQL*Loader Zaawansowane elementy SZBD mechanizm Change Data Capture (pakiet DBMS_LOGMNR_CDC_PUBLISH i DBMS_LOGMNR_CDC_SUBSCRIBE) przenaszalne przestrzenie tabel (transportable tablespaces) mechanizm strumieni (Oracle Streams) tabele zewnętrzne zaawansowane elementy SQL (wstawianie wielotablicowe, instrukcja MERGE, perspektywy itp. 15

Oracle Streams Technologia umożliwiająca replikację, kolejkowanie wiadomości, ładowanie hurtowni danych, informowanie o zdarzeniach. Umożliwia integrację heterogenicznych baz danych Elementy składowe Oracle Streams Capture: dane z plików dziennika powtórzeń zapisywane w postaci rekordów logicznych (Logical Change Records) Staging: rekordy LCR przechowywane w obszarze tymczasowym Consumption: rekordy są przetwarzane i konsumowane Implementacja Oracle Streams możliwa dzięki pakietowi DBMS_STREAMS_ADM Export/Import Programy narzędziowe exp i imp umożliwiające przenoszenie danych między różnymi instancjami bazy danych C:\>EXP.EX 16

Oracle Data Pump Programy narzędziowe stanowiące ulepszenie starych narzędzi do eksportu i importu danych. Umożliwiają: restart przerwanego eksportu/importu danych okresowe monitorowanie zadania eksportu/importu eksport/import bezpośrednio między bazami danych, z pominięciem plików systemu operacyjnego większą elastyczność (zmiana nazwy pliku, zmiana docelowej przestrzeni tabel, filtrowanie danych i metadanych) Dostępne w postaci programów expdp oraz impdp i Pakietów DBMS_DATAPUMP i DBMS_METADATA Pliki zrzutów nie są kompatybilne z exp i imp (!)ty) SQL*Loader Podstawowe narzędzie do ładowania bazy danych Posiada mechanizmy wstępnego przetwarzania i weryfikacji danych Ładuje dane do wielu tabel jednocześnie 17

Metody ładowania C Ścieżka konwencjonalna wykorzystuje bufor danych zapisuje dane w dzienniku powtórzeń uruchamia wyzwalacze i sprawdza ograniczenia integralnościowe nie ogranicza współbieżności Ścieżka bezpośrednia zapisuje bezpośrednio do plików danych, z pominięciem bufora danych i dziennika powtórzeń (opcjonalnie) sprawdza tylko wybrane ograniczenia (klucz podstawowy, unikalny, atrybut niepusty) i nie uruchamia wyzwalaczy ogranicza współbieżność ONSTRAINTS= Wstawianie do wielu tabel 18

Operacja MERGE Równoległy DML (Data Manipulation Language) Możliwość ręcznego zrównoleglania operacji wstawianie do wielu instancji RAC modyfikacja i usuwanie dla różnych zakresów ROWID Automatyczne wykonywanie operacji DML równolegle odświeżanie hurtowni danych tworzenie tymczasowych tabel agregujących uaktualnianie danych historycznych wykonywanie zadań wsadowych Włączanie równoległych operacji DML 19

Równoległy DML(2) Ograniczenia przetwarzania transakcyjnego zatwierdzanie dwufazowe transakcji równoległej zmiany wprowadzone przez równoległe polecenie nie mogą być widziane w ramach transakcji (brak możliwości ponownego odczytu lub zapisu tabeli) Wpływ na konsumpcję zasobów (dysk, blokady) Ograniczenia równoległego DML nie może być wykonany na tabeli z aktywnymi wyzwalaczami nie może być wykonany, jeśli na niepartycjonowanej tabeli istnieją założone indeksy bitmapowe nie może być wykonany na tabeli z ograniczeniami (referencyjnym zwrotnym, DELETE CASCADE, integralnościowymi opóźnionymi) nie może być wykonany dla tabel w klastrze nie może być wykonany dla atrybutów obiektowych nie może być wykonany w ramach transakcji rozproszone Przykłady równoległego DML 20

Perspektywy materializowane w ETL Mechanizm replikacji z wykorzystaniem perspektyw materializowanych można wykorzystać do asynchronicznego przesyłania danych do hurtowni danych Cechy perspektywy materializowanej sposób odświeżenia: przyrostowe, pełne częstość odświeżania: definiowana przez START WITH i NEXT konieczny dziennik perspektywy materializowanej (oparty na kluczu lub adresie ROWID) Przykład użycia perspektyw materializowanych w ETL 21

Oracle Warehouse Builder ETL 22

Dodanie pliku zewnętrznego (1) Dodanie pliku zewnętrznego (2) 23

Utworzenie mapowania Mapowanie jest obiektem OWB zawierającym wszystkie informacje potrzebne do zdefiniowania procesu ETL (specyfikację źródeł danych i obiektów docelowych) Dodanie źródła mapowania 24

Dodanie mapowanej tabeli Mapowanie kolumn 25

Dodanie sekwencera Dodanie filtru 26

Automatyczna generacja kodu (1) 27

Automatyczna generacja kodu (1) Literatura 1. Kimball R.; Caserta J., The Data Warehouse ETL Toolkit, Third Edition, Indianapolis, Wiley Publishing, Inc., 2013. 28

METODY PROJEKTOWANIA HURTOWNI DANYCH 1. Model punktowy hurtowni danych Modelowanie wielowymiarowe danych (gwiazda, płatek śniegu) wykonywane jest w celu dokonywania analiz typu OLAP. Projektując tę część hurtowni danych, warto zastanowić się nad uzasadnieniem biznesowym tworzenia hurtowni tematycznych. Przewidywane efekty, wynikające z zastosowania hurtowni danych, to: Wzrost sprzedaży, zwiększenie udziału w rynku, zmniejszenie odsetka odchodzących klientów. Środek: analiza zachowania klientów, lokalizacja słabych punktów, śledzenie trendów. Narzędzie: analiza gromadzonych w hurtowni (zintegrowanych i oczyszczonych) danych, budowa hurtowni tematycznej. To ostatnie zadanie polega również na maksymalnym ograniczeniu ilości danych w hurtowni tematycznej (ze względu na szybkość wykonywania obliczeń i ograniczenia techniczne i finansowe). Projektując hurtownię tematyczną, dokonujemy najpierw pojęciowego modelowania potrzeb analityków, by następnie wybrać odpowiednią część centralnej hurtowni danych i zaprojektować proces tworzenia i aktualizacji hurtowni tematycznej. W ten sposób tworzymy model pojęciowy, który odzwierciedla związki między pojęciami związanymi z działalnością przedsiębiorstwa, np.: Kto to jest klientem i co o nim wiemy? 29

Jak opisywana jest sprzedaż w różnych oddziałach firmy? Co pod pojęciem fakt sprzedaży chciałby rozumieć analityk? Jaki model wielowymiarowy danych może nam pomóc w tworzeniu raportów biznesowych? Przykładowa technika modelowania pojęciowego hurtowni tematycznej to inaczej modelowanie punktowe. Informacje na temat pojęć, do których dostęp ma analityk, przedstawiane są w postaci diagramu, gdzie: Fakty reprezentowane są punktami Wymiary reprezentowane są przez nazwy Podobnie reprezentujemy kolejne poziomy hierarchii Model może obejmować wiele (konstelację) faktów, korzystających częściowo ze wspólnej hierarchii wymiarów W modelu punktowym zapisujemy ponadto obok informacje na temat m.in.: Nazw atrybutów Typów danych Więzów integralności Retrospekcji (zmienności wartości atrybutów w czasie) Częstości odświeżania Pochodzenia danych (źródło, transformacje) Metadanych biznesowych (opis w języku naturalnym lub sformalizowanym) Retrospekcja to pojęcie dotyczące sposobu traktowania zmian w danych. Przypomnijmy, że hurtownia danych z założenia ma charakter nieulotny, tzn. informacja, która do niej trafi, nie powinna być usuwana ani zmieniana. Źródła 30

danych jednak są zmienne w czasie i może się zdarzyć, że zachodzi konieczność zmiany informacji (np. o adresie zamieszkania klienta). W zależności od sposobu traktowania takich zmian, retrospekcja może być: prawdziwa zapisujemy wszelkie zmiany wartości wraz z dokładnym czasem ich dokonania, fałszywa nowe wartości rekordów zastępują stare, trwała nie przewidujemy zmiany wartości. Teoretycznie wszystkie dane powinny podlegać retrospekcji prawdziwej. Prowadzi to jednak do znacznych utrudnień technicznych: proste zapytania stają się skomplikowane, gdyż muszą uwzględnić informacje z tabel pomocniczych zapisujących historię zmian. Z drugiej strony, fałszywa retrospekcja może nam zaburzyć wyniki analiz. Jeśli np. analizujemy obroty klientów w zależności od ich adresu zamieszkania, to przeprowadzka danego klienta spowoduje nagłe przypisanie wszystkich jego transakcji do nowego miejsca zamieszkania (co jest nieprawdą). 2. Zastosowanie języka UML w projektowaniu hurtowni danych Zastosowanie sprawdzonej metodyki wspomagającej wytwarzanie oprogramowania, jaką jest język UML (Unified Modeling Language), oraz technik modelowania wizualnego wraz z Common Warehouse Metamodel (CWM) jest bardzo pomocne w procesie wytwarzania hurtowni danych. Jedną z takich metodyk powszechnie stosowanych w inżynierii oprogramowania jest Rational Unified Process (RUP), który 31

jest niemalże integralnie związany z językiem modelowania UML składnik CWM. 2.2. Język UML i jego rozszerzenia Język UML jest zdefiniowany w czterowarstwowej architekturze (cztery poziomy abstrakcji). Poszczególne warstwy definiują elementy, pojęcia i związki pomiędzy pojęciami. Kolejne warstwy są bardziej ogólne i prezentują się w następujący sposób: warstwa meta-metamodelu (poziom M3) najbardziej abstrakcyjny poziom; warstwa metamodelu (poziom M2); warstwa modelu (poziom M1); warstwa użytkownika (poziom M0). Język UML można rozszerzyć przy użyciu stereotypów, skorzystać z rozszerzeń, pakować rozszerzenia za pomocą profili oraz rejestrować cechy elementów modelu. Stereotyp definiuje typ elementu modelującego w UML. Najpierw należy zdefiniować typ elementu modelującego za pomocą stereotypu, potem można zastosować definicję. Aby utworzyć definicję stereotypu należy przedstawić klasę reprezentującą stereotyp z zależnością od innej klasy reprezentującej typ elementu modelowania, reprezentowanego przez stereotyp. Słowem kluczowym stereotype oznaczamy klasę reprezentującą nowy typ elementu modelującego oraz zależność. Słowo kluczowe metaclass pozwala zdefiniować klasę reprezentującą typ elementu modelującego, do którego stosuje się stereotyp. Nazwę nowego typu należy ująć w symbole << >> lub podwójne nawiasy ostrokątne przed lub nad nazwą elementu modelu. 32

Własność jest właściwością elementu modelu. Używamy jej do zdefiniowania atrybutów i reguł danego typu elementu modelującego. Do zapisania własności używamy listy łańcuchów tekstowych oddzielonych przecinkami oraz ujętej w nawiasy klamrowe pod nazwą modelu lub po niej. Wszystkie własności mogą być przedstawione w języku komputerowym lub naturalnym. Łańcuch tekstowy może być ograniczeniem lub znacznikiem. Znacznik jest atrybutem elementu modelu i jego wartością. Definicję znacznika tworzymy przy definiowaniu stereotypu. Zapis jest następujący: nazwa atrybutu, przecinek, typ atrybutu. Znacznik zdefiniowany dla danego stereotypu stosuje się do wszystkich elementów modelu, do których jest zastosowany stereotyp. Ograniczenie jest regułą, która może np. wskazywać konieczność zakończenia danej czynności przed rozpoczęciem innej. Jest przedstawiane jako łańcuch tekstowy, który można zapisać w języku OCL (ang. Object Constraint Language). Innymi sposobami zapisania ograniczeń są: pseudokod oraz różne języki programowania (m.in. c++, c#, java). Na profil składają się: definicje znaczników i ograniczeń, definicje stereotypów. Elementy te obowiązują w określonej domenie lub w określonym celu. Profil jest przedstawiany jako pakiet oznaczony słowem kluczowym profile. Dzięki konstrukcji pakietu, na diagramie można pokazać zawartość profilu. 2.3. Hurtownie danych Jedną z pierwszych oraz ogólnie akceptowalną definicją hurtowni danych jest ta zaprezentowana przez Billa Inmon w 1991 roku. Według niej hurtownia danych to tematyczna, 33

zintegrowana, zmienna w czasie składnica nieulotnych danych, przeznaczona do wspierania procesów podejmowania decyzji. Hurtownia danych jest wydzieloną centralną bazą danych zbierającą informacje służące do zarządzania organizacją. Baza ta jest odizolowana od baz operacyjnych, a jej struktura i użyte do jej budowy narzędzia powinny być zoptymalizowane pod kątem przetwarzania analitycznego. W hurtowni są gromadzone dane pozyskiwane okresowo z systemów obsługujących dane operacyjne. Każda poprawnie skonstruowana hurtownia danych powinna składać się z następujących elementów: narzędzi do ekstrakcji, przekształcania i ładowania danych (ang. Extraction, Transformation, Loading ETL). warstwy przechowywania danych. warstwy obsługującej zapytania użytkowników. narzędzi udostępniających interfejs użytkownika. ETL jest to proces wyboru danych ze źródła (systemu źródłowego) następnie przetworzenie oraz załadowanie tych danych do hurtowni. Przykładem może być DTS (ang. Data Transformation Services) używany w środowisku MS SQL Server, dzięki któremu można zintegrować dane z dowolnych źródeł. W hurtowniach danych przechowuje się dane różnych rodzajów: elementarne kopie aktualnych danych źródłowych pozyskanych z baz operacyjnych i odpowiednio przetworzonych, 34

zmaterializowane agregaty czyli wyliczone wartości obliczeń, w różnych przekrojach (np. sumy wartości sprzedaży w jednostkach czasu i w podziale terytorialnym) i na różnych stopniach agregacji (np. sumy dzienne, miesięczne, roczne), historyczne dane elementarne i/lub agregaty dotyczące przeszłości, metadane informacje słownikowe, opisujące strukturę hurtowni danych i źródłowych baz danych, z których pozyskuje się dane do hurtowni, oraz sposób wyliczania danych zagregowanych. Cykl życia danych następująco: w hurtowni wygląda przeważnie ładowanie i scalanie dane są okresowo ładowane z baz operacyjnych. W czasie ładowania dokonywane jest scalenie i ujednolicenie danych, tzn. konwersja typów danych i formatów, przetłumaczenie identyfikatorów, przekształcenie do innego modelu danych, agregacja od razu w czasie ładowania albo zaraz po nim dokonuje się wyliczenia zmaterializowanych agregatów, przeniesienie do danych historycznych zanim załadowana zostanie nowa wersja danych elementarnych, dotychczasowe dane muszą być zapamiętane jako historyczne. Nie są one jednak przenoszone do osobnego archiwum, ale są na ogół przechowywane w tej samej hurtowni danych, by możliwe było sprawne dokonywanie porównań i przekrojów czasowych, usuwanie nie jest operacją typową dla hurtowni, jest przeprowadzane rzadko albo nigdy. Usuwanie może wystąpić, gdy dane historyczne są tak stare, że już nie są 35

wykorzystywane lub, gdy przebudowuje się hurtownie i zmienia ona swoje zadania. Właściwości hurtowni danych odróżniające je od innych rozwiązań opartych na bazach danych: wielowymiarowa perspektywa koncepcyjna, ogólna wielowymiarowość, nieograniczone operacje między wymiarami, nieograniczone wymiary i poziomy agregacji, architektura klient-serwer, obsługa jednoczesnego dostępu wielu użytkowników, dynamiczna obsługa rzadkich macierzy, dostępność, intuicyjny interfejs manipulowania danymi, elastyczność generowanych raportów, spójny mechanizm raportowania, przezroczystość. 2.3.1 Model logiczny hurtowni danych Model logiczny hurtowni danych składa się z elementów: fakt, wymiar, atrybut, miara. Fakty - zmienne analizowane. Wymiary - zmienne pozwalające na grupowanie danych, są analizowane. Atrybut podstawowa jednostka opisu modelu, może wyznaczać inne atrybuty oraz być wyznaczany. Atrybuty posiadają zbiór przyjmowanych wartości, np. atrybut godzina może przyjmować wartość 11. Miara - wartość liczbowa przyporządkowana do jakiegoś faktu (liczba sztuk, wartość sprzedaży). 36

Można go przedstawić w 2 podstawowych schematach: gwiazdy oraz płatka śniegu. Schemat gwiazdy wykorzystuje tabelę faktów otoczoną tabelami wymiarów. W tabeli faktów znajdują się mierzalne fakty połączone za pomocą kluczy z tabelami wymiarów. W tabelach wymiarów znajdują się opisy wymiarów. Rys. 1. Przykład logicznego schemat hurtowni danych (opr. własne) Schemat płatka śniegu różni się tym od schematu gwiazdy, że w tabelach wymiarów zapisane są identyfikatory wymiarów nadrzędnego i podrzędnego poziomu. Rozwiązanie to ułatwia operacje selekcji danych związanych z wymiarami oraz pozwala na dokładniejsze uchwycenie hierarchii atrybutów[6]. Architekturę hurtowni danych można podzielić na następujące rodzaje: scentralizowana; warstwowa; 37

federacyjna. W scentralizowanej architekturze dane analizowane w przedsiębiorstwie są przechowywane w jednej hurtowni danych. Zaletami tego rozwiązania są: uproszczenie dostępu do danych dzięki ujednoliceniu ich modelu; budowa oraz konserwacja takiej hurtowni jest dużo prostsza od systemu rozproszonego jest najbardziej odpowiednią formą stosowaną w instytucjach, w których działalność operacyjna jest scentralizowana. W architekturze warstwowej hurtownia globalna jest rzeczywistą, fizyczną bazą danych. Hurtownia globalna jest uzupełniana kolejnymi poziomami lokalnych, tematycznych hurtowni danych. Architektura federacyjna zawiera dane logicznie jednorodne, które są przechowywane fizycznie w innych bazach danych znajdujących się w jednym lub paru systemach komputerowych. Każdy dział instytucji zawiera lokalne tematyczne hurtownie. Umożliwia to analizowanie lokalne na różnych poziomach szczegółowości. Istotną rolę w budowie i działaniu hurtowni danych odgrywają metadane. Są one przechowywane w wydzielonej bazie, do której dostęp posiadają wszystkie inne składniki hurtowni. Baza metadanych może zawierać następujące elementy: informacje o poszukiwanych przez użytkowników danych 38