29
Integracja danych Hurtownie Wyklad dla studentów matematyki Zbigniew Jurkiewicz, Instytut Informatyki UW 28 kwietnia 2018 Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wyklad dla studentów matematyki

Integracja danych Hurtownie Wyk ad dla studentów matematykistudents.mimuw.edu.pl/~zbyszek/bazy-danych/mat/pl/slides/hurtownie.pdf · Analiza danych Poczatk˛ owo bazy danych słu˙zyły

Embed Size (px)

Citation preview

Integracja danychHurtownie

Wykład dla studentów matematyki

Zbigniew Jurkiewicz, Instytut Informatyki UW

28 kwietnia 2018

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Przeglad

Tradycyjne bazy danych sa skonfigurowane narównoczesna obsługe wielu małych, prostych zapytan.Niektóre nowe aplikacje uzywaja mniej, ale bardziejczasochłonnych i złozonych zapytan.Powstały nowe architektury do efektywnej obsługizłozonych zapytan analitycznych.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Analiza danych

Poczatkowo bazy danych słuzyły do obsługi prostychtransakcji.Systemy takie nazywa sie OLTP (On-Line TransactionProcessing).Po pewnym czasie jednak zaczeto zgromadzone daneanalizowac — poczatkowo produkujac po prostu raporty.Stopniowo wykonywano coraz bardziej złozone zapytania.Na takie zapytania mozna patrzec jak na „długietransakcje”.Długie transakcje zawłaszczajace cała baze danychspowalniały (czasem wrecz uniemozliwiały) wykonaniezwykłych zapytan OLTP.Na przykład w trakcie wykonania zapytania OLAP,wyliczajacego srednia płace nie mozna by zapisywac nabiezaco nowych płac.Pojawiła sie mysl o tworzeniu kopii baz danychprzeznaczonych do obliczen analitycznych.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Integracja danych

W miare upływu czasu zaczeto korzystac nie z jednej, leczz wielu operacyjnych baz danych, np. firma mogła miecosobna baze dla działu sprzedazy, osobna dlaksiegowosci, a jeszcze inna dla magazynów.Pojawiła sie potrzeba połaczenia informacji z tych baz,czyli integracji danych.Tego typu zastosowania polegaja na budowaniu jednejduzej bazy danych, czesto wirtualnej, na podstawieistniejacych kilku baz danych tak, aby mozna było pytac ote dane, jakby pochodziły z jednego zródła.Zródłami moga byc zarówno konwencjonalne bazy danychjak i inne zródła, np. strony www.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Koniecznosc integracji danych

Obecnie duze firmy (np. banki, towarzystwaubezpieczeniowe) posiadaja co najmniej kilkaoperacyjnych baz danych.Obok własnych danych operacyjnych czesto korzysta sierówniez ze zródeł zewnetrznych: wyników badanrynkowych, publicznych administracyjnych baz danych itp.Zanim wiec przystapi sie do analizy zawartej w nichinformacji, nalezy dokonac integracji danych z róznychzródeł.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Aplikacje operacyjne

Okreslane równiez jako OLTP — On-Line TransactionProcessingDuza liczba równoczesnie wykonywanych prostychtransakcji;Przewaga operacji modyfikacji(insert/update/delete), czyli duza dynamika zmian wbazie danych; Modyfikacje dotycza niewielkiej liczbykrotek.Koniecznosc normalizacji danych dla unikania anomalii;Proste, przewidywalne zapytania (zwykle dotyczacepojedynczych wierszy).Przykłady: odpowiedzi na zapytania z interfejsu WWW,bankomaty. sprzedaz biletów lotniczych.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

OLAP

Obecnie rosnie znaczenie aplikacji analitycznych —programów typu On-Line Analytical Processing (OLAP).Niewiele zapytan, ale bardziej złozonych — moga bycprzetwarzane godzinami.Zapytania nie wymagaja bezwzglednie aktualnej bazydanych.Integralnosc danych zapewniana podczas konstrukcji (lubdoładowania)

Pózniej sprawdzanie integralnosci zbedne, bo tylkozapytania (bez modyfikacji).Brak transakcji.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Aplikacje analityczne

Maja do czynienia z formułowanymi ad-hoc, złozonymizapytaniami sumarycznymi.Wymagaja czesto denormalizacji dla uzyskaniazadowalajacych osiagów.Poczatkowo do analizy uzywano po prostu arkuszykalkulacyjnych połaczonych z operacyjna baza danych,obecnie jednak korzysta sie ze specjalizowanych narzedzi(czesto z interfejsem w postaci arkusza kalkulacyjnego).

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Przykłady OLAP

Amazon analizuje zamówienia swoich klientów, abywyswietlic im ekran powitalny z produktami z zakresu ichzainteresowan.Analitycy w Wal-Mart szukaja towarów z rosnacasprzedaza w jakims regionie.

System Teradata: 900 CPU, 2700 dysków, 23 TB

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Sposoby integrowania danych

Federacje baz danych. Zródła pozostaja niezalezne, alekazde zródło moze uzyskiwac obce dane.Hurtownie danych. Kopie danych z róznych zródełprzechowuje sie w jednej bazie danych, nazywanejhurtownia danych. Najczesciej dane przechowywane whurtowni sa przed zapisaniem przetwarzane.Mediatory: mediator jest składowa oprogramowania,wspomagajaca wirtualna baze danych, z której uzytkownikmoze uzyskiwac dane tak jakby była to materialnahurtownia danych.

Mediator nie przechowuje zadnych własnych danych, leczprzekształca on zapytanie uzytkownika w zapytanie lub ciagzapytan do innych zródeł danych.Nastepnie mediator syntetyzuje odpowiedz z odpowiedziczastkowych i przekazuje ja uzytkownikowi.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Federacyjne systemy baz danych

Najprostsza z mozliwych architektura wspomagajacaintegrowanie wielu baz danych.Sprowadza sie do utworzenia połaczen jeden do jedenmiedzy wszystkimi parami baz danych, które maja siekomunikowac.Pozwala to systemowi S1 wysyłac zapytanie do innegosystemu S2 w składni, która rozumie S2.Problem: jesli kazda z czterech baz danych chcerozmawiac z trzema pozostałymi bazami, to trzeba napisac12 modułów kodu obsługujacego zapytania.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Hurtownia danych

Najpopularniejszy sposób integracji danych.Informacje ze zródłowych (najczesciej operacyjnych) bazdanych sa łaczone w zbiorcza baze danych, nazywanahurtownia danych (data warehouse).Czesto uzywana bezposrednio dla obsługi zapytananalitycznych, lepiej jednak tworzyc z niej specjalizowanetematyczne bazy danych.Aktualizacja przez doładowanie: okresowa rekonstrukcjahurtowni, np. w nocy.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Hurtownie danych

Dane zapamietuje sie w hurtowni danych, tworzac jednolityschemat i przekształacajac do niego dane zródłowe.Z punktu widzenia uzytkownika jest to zwykła baza danych,do której skopiowano dane z poszczególnych zródeł.Kiedy dane znajda sie w hurtowni danych, mozna wysyłacdo niej zapytania jak do kazdej innej bazy danych.Zwykle nie sa dozwolone bezposrednie modyfikacje,zreszta i tak zapewne zniknełyby przy nastepnymdoładowaniu.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Typowa architektura

Lokalne bazy danych w oddziałach obsługuja OLTP.Noca kopiuje sie lokalne bazy danych do centralnejhurtowni danych.Analitycy uzywaja hurtowni do zapytan OLAP.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Co to jest hurtownia?

Kolekcja rozmaitych danychczesto zorientowana tematycznieprzeznaczona dla menadzerów, do podejmowania decyzjiczesto kopia danych operacyjnychz dodatkowymi informacjami (np. podsumowania, historia)zintegrowanazmienna w czasienieulotna

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Co to jest hurtownia?

Kolekcja narzedzi do:zbierania danychczyszczenia i integracji danychanalizy i raportowaniamonitorowania i zarzadzania hurtownia

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Kroki budowy hurtowni

1 Analiza zródłowych danych pod wzgledemrozmieszczenia, spisanie rodzaju i zawartosci danych.

2 Projekt hurtowni danych zawierajacy spis dostepnychzródłowych baz danych wraz z narzedziami scalajacymi.

3 Własciwe załadowanie danych, okreslane jako proces ETL(Extract, Transform, Load)

1 Pobieranie odpowiednich danych z baz zródłowych.2 Przekształcenie wydobytych danych tak, aby pasowały do

zaprojektowanej hurtowni danych.3 Załadowanie przekształconych danych do hurtowni danych.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Słownik (repozytorium) metadanych

Zawiera informacje:skad pochodza dane (z jakiej bazy danych i jakiej tabeli);co reprezentuja, np. kolumna salesyr to „rocznasprzedaz brutto towaru wyrazona w złotych”;jak dane sa przechowywane (format zapisu), np. salesyrjako fixed-decimal;kto odpowiada za aktualizacje danych (dział/rola), np.„ksiegowosc”;kiedy dana jest zwykle zmieniana, np. „na koniec kazdegoroku”.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Wybór zródeł danych

Idealnym rozwiazaniem przy wyborze danych dozaładowania do hurtowni danych byłoby wstepneokreslenie wszystkich zapytan, które beda generowaneprzez aplikacje pracujace na hurtowni danych, po czymustalenie wszystkich tabel i pól zawartych w tychzapytaniach.Zaleta hurtowni wirtualnej jest mozliwosc zbadania, jakiedane zródłowe sa potrzebne w uzywanych zapytaniach.Po przeanalizowaniu logów wygenerowanych przezzapytania z wszystkich aplikacji łatwiej okreslic schemathurtowni.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Problem jakosci danych

Wiekszosc przedsiebiorstw nie ma najmniejszego pojeciao jakosci swoich danych i jest zawsze naiwna w tymwzgledzie.Jest kilka kategorii zagadnien dotyczacych jakosci danych.Dane moga byc:

brakujace (lub czesciowo brakujace)błednenieaktualneniespójnewprowadzajace w bład

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Problem jakosci danych

Brakujace dane sa łatwe do wychwycenia, trudniej jest jepoprawiac.Dane błedne moga byc trudniejsze do wykrycia ipoprawienia.Dane wprowadzajace w bład moga wystapic gdy robionesa zmiany retrospektywne, a reprezentacja czasu nie jestpoprawna.

Dzieje sie tak na przykład, gdy nastapi zmiana adresu i (zuwagi na niepoprawne zastosowanie retrospekcji) nowyades jest mylnie stosowany do poprzednich danych.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Integracja danych

Łaczenie to okazja do usuniecia błedów.Przede wszystkim jednak dane sa uspójniane.Przykład: pole klient moze

w jednej z baz danych oprócz imienia i nazwiskaobejmowac tytuł (np. „prof.”),w drugiej na tytuł jest przeznaczone osobne pole,a w trzeciej imie i nazwisko trzymane sa w osobnychpolach, a tytułu brak.

Czyszczenie danych obejmuje tez przeformatowaniedanych i eliminacje duplikatów.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Odziedziczone bazy danych

Sa to stare bazy danych, zazwyczaj zbudowane w innej(zwykle przestarzałej) technologii.Czesto pochodza one z przejetych firm i maja inny modeldanych.Te tzw. odziedziczone bazy danych (legacy databases)stanowia powaznych problem.W ich zbudowanie włozono czesto wiele lat pracy, wiecnatychmiastowa centralizacja z ujednoliceniem schematunie wchodzi w gre.Pozostawia sie wiec je „na biegu” lokalnie, ale okresowo(powiedzmy co noc) ich zawartosc migruje sie dozbiorczego systemu, własnie hurtowni danych.Model danych hurtowni stanowi podstawe dalszych pracrozwojowych, jej tez uzywa sie jako punktu wyjscia doanalizy danych.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Błedne dane

Wartosci spoza zakresu poprawnosci. Sa one zwyklełatwe do rozpoznania.

Ten typ błedu zdarza sie, kiedy, powiedzmy, płec klienta,która powinna miec wartosc „K” lub „M”, zawiera innawartosc, taka jak „X”.Odnosi sie to takze do wartosci numerycznych, takich jakwiek. Poprawne wartosci mogłyby byc zdefiniowane miedzy18 a 100 lat. Jesli wiek znajduje sie poza tym zakresem, touznaje sie, ze wystapił bład.

Błedy referencyjne. Jest to kazdy bład naruszajacy wiezyspójnosci referencyjnej.Błedy poprawnosci. Sa to błedy w danych niemalniemozliwe do wykrycia: wartosci, które po prostu zostaływstawione niepoprawnie, ale sa z zakresu poprawnosci.

Na przykład wstawiono wiek klienta jako 26, podczas gdypowinno byc 62.

Błedy takie pochodza z operacyjnych baz danych i wzasadzie tam własnie powinny byc korygowane.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Ujednolicenie danych

Jednolitosc danych jest problemem dla wielu przedsiebiorstw,zwłaszcza tych, które uzywaja róznych typów narzedzi.

Niektóre róznice dotycza kwestii podstawowych, jakchocby kodowanie znaków.

W wiekszosci systemów stosuje sie kod ASCII (AmericanStandard Code for Information Interchange).Sa jednak wyjatki. IBM oparł wszystkie systemy„mainframe” na całkowicie odmiennym kodowaniu znaków,zwanym EBCDIC (Extended Binary Coded DecimalInterchange Code).Litera „P” w kodzie ASCII ma wartosc dziesietna 80, a wEBCDIC wartosc 215 (znakiem, który ma wartosc 80 wEBCDIC jest „&”).

Inne róznice dotycza dat. Wiekszosc systemówzarzadzania bazami danych obsługuja typ "Date", aleformat przechowywania jest zalezny od DBMS.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Ujednolicenie danych

Jeszcze subtelniejsze sa róznice wewnatrz róznychaplikacji tworzonych przy uzyciu tych samych narzedzi.

Moze sie na przykład zdarzyc, ze jeden z projektantówpostanowi zapisywac adresy klientów w pieciu polach po 25znaków kazde, inny zas zdecyduje sie gromadzic je wjednym polu typu Varchar(100).Kolor czarny w jednej aplikacji reprezentuje sie napisem„BLACK”, w drugiej napisem „BL”, a w trzeciej „BL” oznaczakolor niebieski.

Róznice semantyczne: w jednej bazie danych odróznia siepółciezarówki od mikrobusów, a w drugiej nie.Katalogi nazw i adresów pozwalaja naprawic błedy przywprowadzaniu danych i pozwola uzupełnic brakujaceinformacje takie jak kod adresowy, powiat itp.Takie naprawianie typowych błedów wymaga jednakinterwencji człowieka, który zatwierdzi poprawki programu.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Problem wydajnosci i skalowalnosci

Relacyjne bazy danych uzywaja metod przyspieszaniadostepu takich jak haszowanie lub indeksy do wybraniamałej liczby pozadanych rekordów bez potrzebyskanowania całej tabeli lub bazy danych.Takie metody przyspieszania dostepu sa wysoceefektywne w odpowiedziach na zapytania o pojedynczepole (lub mała liczbe pól), kiedy wynikiem jest niewielkaczesc całej tabeli.Przykładem takich zapytan jest: „znajdz wszystkich 25letnich programistów”.Odpowiedzi na takie zapytania sa szybkie, gdyz moze bycstworzony indeks dla kolumny „wiek” lub kolumny „zawód”.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Problem wydajnosci i skalowalnosci

Klasyczne metody dostepu sa mało pomocne wodpowiedziach na zapytania, których rezultatem jestznaczna czesc tabeli.Przykładem jest „znajdz wszystkich młodychpracowników", gdzie „młody” oznacza wiek pomiedzy 20 i30.Znane sa alternatywne techniki, ale najlepszy sposób towydobyc dane z hurtowni do analitycznej bazy danych, bycmoze o innym modelu danych.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki

Literatura

V. Poe, P. Klauer, S. Brobst, Tworzenie hurtowni danych,WNT, 2000.W.H. Inmon, Building the Data Warehouse.R. Kimball, The Data Warehouse Toolkit, J.Wiley & Sons,1996.

Zbigniew Jurkiewicz, Instytut Informatyki UW Integracja danych Hurtownie Wykład dla studentów matematyki