Home » UJ 2022/23 » Bazy danych i hurtownie danych

Tagi

Wyróżnione posty

Zobacz też

Statystyki

  • 100
  • 616
  • 25 026
  • 7 315
  • 61

Bazy danych i hurtownie danych

Spread the love

Bazy i hurtownie danych są wszechobecne we współczesnym świecie trudno jest podać przykład organizacji, która by z nich w pewnym zakresie nie korzystała. Dlatego tak ważne jest zrozumienie, czym są i jakie konsekwencje niesie za sobą ich zastosowanie.

Bazy danych – czym są i do czego służą?

Bazą danych (ang. database) nazywa się zbiór danych opisujący pewien wybrany fragment rzeczywistości. Dane przechowywane są w bazie zgodnie z określonymi regułami, co później umożliwia sprawne zarządzanie nimi.

Za Barbarą Pękalą (2015) można wymienić następujące cele budowania baz danych:

  • zapamiętywanie i przechowywanie danych;
  • wyszukiwanie i prezentacja danych;
  • aktualizacja zbioru (dodawanie, usuwanie, modyfikacja danych);
  • przetwarzanie arytmetyczne, statystyczne, algebraiczne i logiczne danych;
  • operacje teoriomnogościowe i algebraiczne na relacjach danych;
  • kodowanie i dekodowanie danych.

Systemy Zarządzania Bazami Danych

Aby móc praktycznie wykorzystywać przechowywane dane niezbędny jest system, który umożliwi interakcje, takie jak: definiowanie, tworzenie, utrzymywanie i kontrolowanie dostępu do tychże danych. Connolloy i Begg (2014) tak właśnie definiują Systemy Zarządzania Bazami Danych (ang. DataBase Management System), często mianowanych skrótem SZBD (ang. DBMS).

SZBD powinny zapewnić realizację istotnych dla użytkownika operacji na danych, a ponadto zawrzeć katalog opisujący metadane (dane o danych, np. indeksy pod którymi są przechowywane w pamięci), jak i narzędzia do odzyskiwania danych w razie uszkodzenia.

Modele baz danych – techniki organizacji danych

Typ bazy danych można określić poprzez przyjęty model organizacji danych, które ma przechowywać. Chociaż opis poszczególnych modeli wykracza poza ramy tego wpisu, scharakteryzowanie tych, które obecnie wykorzystywane są najczęściej pozwoli zobrazować przykładowe zastosowania dla baz danych. Celem lepszego zrozumienia typów, przeznaczenia i użytkowania poszczególnych modeli warto prześledzić historię rozwoju baz danych. Margielewski i Odrowąż-Sypniewski (2021) przybliżają tę historię w Biuletynie Towarzystwa Informatycznego.

Modele relacyjne

Dane w modelach relacyjnych przechowywane są w tabelach. Użytkowanie w ich obrębie jest w miarę łatwe i nie wymaga zrozumienia fizycznych właściwości magazynowania danych. Nie dotyczy to jednak samego tworzenia bazy danych relacyjnych. W tym celu przechodzi się przez proces modelowania danych składający się z trzech etapów (Modelowanie danych).

Etap 1: Stworzenie modelu konceptualnego 

W konceptualnym zarysie struktury informacji zawarte są klasy, charakterystyki i ograniczenia tych klas oraz relacje pomiędzy nimi. Model na tym poziomie jest ubogi we wszelkie detale. (Modele konceptualne, logiczne i fizyczne)

 

Etap 2: Stworzenie modelu logicznego

Model logiczny wymaga wytypowania struktur danych, które zostaną wykorzystane oraz  określenia relacji pomiędzy elementami struktur. Klasy zostają dodatkowo opisane przez mające występować w nich elementy i ich typy danych. Techniczne wymagania systemu pozostają niesprecyzowane na tym etapie. (Modele konceptualne, logiczne i fizyczne)

Etap 3: Stworzenie modelu fizycznego

Model fizyczny opisuje szczególną implementację modelu danych. Opracowywany jest dla konkretnych SZBD biorąc pod uwagę również sposób, w jaki dane będą fizycznie magazynowane. Sfinalizowane modele fizyczne mogą zostać wdrożone jako relacyjne bazy danych. (Modele konceptualne, logiczne i fizyczne)

Do zarządzania modelami relacyjnymi wykorzystuje się SQL (ang. Structured Query Language). W sieci można znaleźć liczne materiały precyzujące, czym SQL jest i jak wykorzystywać go w praktyce.

Relacyjne modele danych szeroko wykorzystuje się w przetwarzaniu transakcji, co nakłada na nie wymóg atomiczności (wszystkie zmiany w danych, dotyczące transakcji, są wykonywane tak, jakby były pojedynczą operacją), spójności, izolacji (stan pośredni transakcji nie jest widoczny dla innych transakcji) oraz trwałości (zmiany w danych utrzymują się i nie są cofane, nawet w przypadku awarii systemu).

Modele relacyjne charakteryzują się, więc, odpornością na generowanie błędów podczas przetwarzania, wobec czego dobrze konserwują dane. Ponadto, wśród ich zalet wymienia się zapobiegawczość redundancji.

Relacyjne modele danych przez długi czas utrzymywały się jako najpowszechniej stosowane. W obecnie stosowanych technologiach wymagających większej dynamiki i giętkości (ang. flexibility) wypierane są przez modele nierelacyjne. Lepiej, jednak, unikać myślenia o tych dwóch typach organizacji danych jako zamiennych, a raczej jako przeznaczonych do różnych celów.

Modele nierelacyjne

Modele nierelacyjne za priorytet przyjmują elastyczność i skalowalność. Systemy zarządzania tymi modelami są mniej kosztowne od systemów zarządzania danymi relacyjnymi – nie wymagają użycia równie potężnego sprzętu do skalowania wertykalnego (Skalowanie horyzontalne a wertykalne). Lepiej sprawdzają się również w szybkim przetwarzaniu dynamicznie zmieniających się danych. Dane replikowane są na kilka serwerów, by zapobiec ich utracie w przypadku awarii.

W przeciwieństwie do modeli relacyjnych nie mają odgórnie określonej struktury organizacji, wobec czego można wyróżnić kilka typów przechowywania danych nierelacyjnych: klucz-wartość (ang. key-value),  szerokokolumnowe (ang. wide-column), w postaci dokumentu lub grafu. 

Bardziej szczegółową charakterystykę (SQL, NoSQL), przykładowe zastosowania oraz porównanie modeli relacyjnych i nierelacyjnych (SQL vs NoSQL) znaleźć można na blogu IBM.

Hurtownia danych – czym różni się od bazy danych?

Hurtownia danych (ang. data warehouse) to rodzaj bazy danych stworzony do szczególnego zastosowania wspomagania podejmowania decyzji w zarządzaniu organizacją. Do przeprowadzania takich analiz nie były przystosowane typowo stosowane wówczas operacyjne bazy danych, które stworzono do wspierania codziennych operacji biznesowych. Operacyjne bazy danych pozwalają modyfikować dane w czasie rzeczywistym, nie tylko je gromadzić i wyświetlać. Do tego konieczne jest zapewnienie wielu użytkownikom jednoczesnego dostępu, przy zagwarantowaniu spójności danych. Nie jest za to potrzebne przechowywanie danych historycznych czy wspieranie złożonych zapytań. Co więcej, żeby przeprowadzić analizę, może być konieczne zintegrowanie danych z wielu operacyjnych systemów, które mogą być oparte na różnych technologiach. Hurtownie danych powstały w odpowiedzi na właśnie te wyzwania.

Pierwsze hurtownie danych zostały stworzone w latach 80. przez inżynierów z firmy IBM, ale zyskały na popularności w latach 90., kiedy firmy zaczęły odczuwać zwiększoną presję ze strony konkurencji na skutek globalizacji i upowszechniającego się dostępu do Internetu. Jak opisują Vaisman i Zimanyi (2014), by zyskać przewagę, przedsiębiorstwa chciały podejmować decyzje w oparciu o coraz bardziej złożone analizach danych. Często przytaczany przykład mówi, że dzięki przeszukiwaniu hurtowni danych pewna sieć amerykańskich marketów odkryła, że ojcowie małych dzieci często kupowali pieluchy i piwo podczas jednej wycieczki do sklepu. Wykorzystując to spostrzeżenie, zaczęto umieszczać stoiska z pieluchami i piwem obok siebie, co doprowadziło do podniesienia wyników sprzedaży. (Liczne źródła podające tę anegdotę nie wspominają, skąd wiadomo, że to akurat ojcowie są odpowiedzialni za tę korelację; nie zgadzają się też co do tego, która sieć marketów wykazała się sprytem. Jak można się spodziewać, okazuje się, że w historyjce tkwi tylko ziarno prawdy pewien analityk zatrudniony przez Osco znalazł podobno zależność między sprzedażą piwa i pieluch, ale nigdy nie wykorzystano jej w praktyce (Forbes)).

Definicja hurtowni danych

Jak zwracają uwagę Elmasri i Navathe (2007), nie istnieje żadna oficjalna definicja hurtowni danych etykieta ta jest używana, by promować różnorodne usługi i produkty, które łączy to, że mają wspierać podejmowanie decyzji. Jednak według często przytaczanej definicji Inmona (1992) hurtownia danych to kolekcja danych tematycznych, zintegrowanych, trwałych i uporządkowanych czasowo.

Tematyczność oznacza, że hurtownia ma zapewniać informacje na jakiś konkretny, potrzebny temat (lub tematy), a nie tylko o bieżących działaniach organizacji. Dla działu sprzedaży firmy, która zajmuje się handlem i produkcją towarów, mogłyby to być liczba sprzedanych artykułów (powiedzmy, parasoli) i suma wydana na zakupy w zależności od innych zmiennych (np. pory dnia, w której klient przybył do sklepu i lokalizacji sklepu). Podzbiór hurtowni danych, który ma zapewniać informacje dotyczące wyłącznie jednego tematu danej podgrupie użytkowników, na przykład jednemu działowi firmy, nosi nazwę data mart. Producent parasoli mógłby mieć w swojej hurtowni danych także informacje dotyczące zużycia różnych materiałów produkcyjnych i ich kosztów, ale tych danych nie będzie zawierał data mart udostępniony działowi sprzedaży.

Integracja to łączenie w spójną całość danych zbieranych z różnych źródeł, na przykład z operacyjnych baz danych, które śledzą liczbę parasoli na stanie w magazynach sklepu stacjonarnego i internetowego. Dane pochodzące z różnych systemów mogą być zapisane w różnych formatach, może też wystąpić między nimi konflikt (na przykład dwa zbliżone numery domu przypisane do adresu tego samego klienta w różnych bazach danych powinny zostać rozpoznane jako pomyłka).

Trwałość oznacza, że dane mogą być dodawane do hurtowni, ale nigdy nie są modyfikowane ani usuwane. Ma to pozwalać na zbudowanie pełnego obrazu działania organizacji. W rzeczywistości to założenie bywa niespełnione ze względu na regulacje prawne dotyczące przetwarzania niektórych rodzajów danych, a także pamięć potrzebną do przechowywania potencjalnie ogromnej ich ilości. W 2012 duża firma przetwarzała ponad 60 terabajtów danych rocznie, czyli 1000 razy więcej niż jeszcze 10 lat wcześniej (Beath et al., 2012). Przechowuje się zatem tylko dane z pewnego okresu, na przykład kilku poprzednich lat.

Przez uporządkowanie czasowe rozumie się, że hurtownia danych ma pozwalać na obserwowanie tego, jak sytuacja organizacji ewoluowała w czasie (na przykład, że co roku cyklicznie sprzedaż parasoli wzrasta jesienią, ale w ostatnich latach te wzrosty stały się niższe – może większość ludzi ma już tyle parasoli, ile potrzebują, więc osiągać większe zyski, firma powinna rozpocząć też produkcję peleryn przeciwdeszczowych)?

Zastosowania: od hurtowni danych do podjęcia decyzji

Hurtownie danych, dzięki wspieraniu złożonych zapytań, umożliwiają analitykę danych, czyli przetwarzanie danych zawartych w bazie, by wyciągnąć z nich użyteczne wnioski, które mogą wpłynąć na działania organizacji. Wśród podstawowych narzędzi analityki danych Vasiman i Zimanyi (2014) wymieniają data mining i kluczowe wskaźniki efektywności (key performance indicators KPI). Data mining to zastosowanie metod statystycznych do odkrywania nieoczywistych wzorców w danych. Kluczowe wskaźniki efektywności to natomiast mierniki, które mają stanowić ocenę sukcesu organizacji w pewnej aktywności. Na przykład fabryka parasoli mogłaby używać jako kluczowego wskaźnika efektywności procenta wyprodukowanych egzemplarzy nieobdarzonych defektem.

Potencjał, jaki niosą data mining i kluczowe wskaźniki efektywności dostrzeżono w wielu obszarach, które nie mają nic wspólnego z biznesem, na którego potrzeby początkowo wprowadzono hurtownie danych. Żeby móc zastosować te narzędzia, zaczęto korzystać ze struktury hurtowni także w innych dziedzinach, takich jak:

  • zdrowie publiczne, na przykład hurtownia danych dotyczących pandemii COVID-19 we Włoszech (Agapito et al., 2020), dzięki której zbadano związki między klimatem i zanieczyszczeniem powietrza a rozprzestrzenianiem się wirusa;
  • medycyna, na przykład zastosowanie przez Kang et al. (2019) data miningu do danych klinicznych zgromadzonych w hurtowni i zidentyfikowanie czynników ryzyka delirium pooperacyjnego u pacjentów starszych niezależnie od operowanego narządu;
  • rolnictwo, na przykład hurtownia danych zaprojektowana i zaimplementowana przez Ngo et al. (2018) do przewidywania plonów. Użycie tego typu hurtowni ma ostatecznie doprowadzić do bardziej wydajnego użytkowania pól w zależności od potencjału plonotwórczego.

Ograniczenia baz i hurtowni danych

Większy nakład zasobów, a te same rezultaty?

Stale odnotowywane postępowanie technologiczne stawia coraz większe wyzwania projektantom aplikacji bazodanowych. Zbigniew Odrowąż-Sypniewski komentuje kontrastujący, w porównaniu do poprzednich lat, nakład czasu i umiejętności :

W drugiej połowie lat 90. XX w., aby stworzyć kompletną aplikację bazodanową, wystarczyła mi znajomość języka 4 generacji Informix4GL. Aplikacje może nie były tak piękne, jak strony www, ale działały sprawnie i co najważniejsze – bardzo szybko się je tworzyło. Rozwój WWW, a później standard html5 spowodował, że świat pokochał przeglądarkę jako środowisko wykonawcze także dla aplikacji bazodanowych. No i zaczęło się: Oracle „zakopał” Designera, ADFy i obecnie nie oferuje narzędzia typu RAD. Muszę teraz znać się na: Javie, Springu, htmlu, Typescripcie, Angularze, Materialu i masie innych pobocznych technologii i bibliotek, aby stworzyć funkcjonalnie tak naprawdę to samo, co wcześniej, tylko że obecnie zajmuje mi to pięć razy więcej czasu.

Jakkolwiek można zgodzić się z zarzutem większych wymogów wobec programistów, tak należy pamiętać, iż popularność aplikacji sieciowych wiąże się z większą wygodą użytkowania przez użytkowników, a to dla nich, właśnie, aplikacje te są tworzone. Ponadto, wraz ze zwiększoną ilością danych i składujących je baz, idzie poziom skomplikowania tychże systemów, dlatego nieuniknionym wydaje się zwiększanie ilości zasobów właściwych dla nowych rozwiązań.

Bezpieczeństwo powierzonych danych

W dyskusji o bazach i hurtowniach danych trudno nie poruszyć tematu bezpieczeństwa. Jednym z największych ograniczeń tych systemów nadal pozostaje zapobieganie wykradaniu wrażliwych informacji (Al-Sayid & Aldlaeen, 2013). Jednak liczne przykłady z ostatnich lat (Cambridge Analytica, The Houston Astros) pokazują, że należy wystrzegać się, nie tylko “hakerskich” przestępstw, lecz także samych organizacji zbierających rekordy. W związku z gigantycznym śladem danych, pozostawianym przez użytkowników, łatwo o znalezienie dla nich inwazyjnego, nieetycznego zastosowania. W konsekwencji, od pewnego czasu, można zaobserwować rozwój kwestii legislacyjnych dotyczących składowania, przetwarzania i wykorzystywania danych.

Garbage in, garbage out

Trafność wniosków wyciągniętych z analizy danych zawartych w bazie zależy od prawdziwości samych danych. Dane bywają niepoprawne ze względu na czynniki techniczne, na przykład połączenie baz zawierających daty w formacie amerykańskim i europejskim bez standardyzacji, czy trywialne pomyłki przy wprowadzaniu tekstu na klawiaturze. Jednak fałszywość lub niepełność danych może też wynikać z czynników ludzkich i organizacyjnych. Należy do nich kreatywne raportowanie, które występuje, kiedy człowiek musi przyporządkować zdarzenie do kategorii. Na przykład lekarz, mając do wyboru dwie kategorie diagnostyczne, w których może umieścić pacjenta, może być skłonny wybrać tę, którą preferuje z powodów pozamedycznych raportowanie diagnoz poważniejszych niż w rzeczywistości z pobudek finansowych to tzw. upcoding (Coustasse et al., 2021). Występowanie tego typu efektów trudno przewidzieć bez dogłębnej znajomości kontekstu, w jakim powstał zbiór danych i może ograniczać użyteczność analiz.

Wskaźnik efektywności – ogon machający psem?

Użycie hurtowni danych umożliwia ilościową ocenę działania organizacji w oparciu o wspomniane wskaźniki efektywności. Na przykład prowincja Ontario porównuje wszystkie uczelnie wyższe w swoim obrębie pod względem m. in. poziomu satysfakcji studentów i stopy ukończenia studiów (KPI).  Jednak wykorzystanie wskaźników efektywności może prowadzić do niezamierzonych konsekwencji. Jak mówi prawo Goodharta, aforyzm sformułowany w kontekście polityki pieniężnej: gdy dowolny wskaźnik zaczyna być traktowany jako cel, przestaje być dobrym wskaźnikiem. Innymi słowy, da się znaleźć sposoby podnoszenia wartości wskaźnika niezwiązane z osiąganiem celu, który ten wskaźnik miał mierzyć. Uniwersytet w Ontario mógłby więc obniżyć wymagania wobec studentów i w ten sposób podwyższyć wymienione wskaźniki efektywności. Żadne ulepszenia w dziedzinie projektowania i implementacji baz i hurtowni danych nie są w stanie chronić przed  nieoczekiwanymi konsekwencjami samego wykorzystania tych systemów.

Bibliografia

Agapito, G., Zucco, C., & Cannataro, M. (2020). COVID-WAREHOUSE: A Data Warehouse of Italian COVID-19, Pollution, and Climate Data. International journal of environmental research and public health, 17(15), 5596. https://doi.org/10.3390/ijerph17155596

Al-Sayid N. A. & Aldlaeen D., “Database security threats: A survey study,” 2013 5th International Conference on Computer Science and Information Technology, 2013, pp. 60-64, doi: 10.1109/CSIT.2013.6588759.

Beath, C., Becerra-Fernandez, I., Ross,, J. & Short, J. (2012) Finding Value in the Information Explosion. MIT Sloan Management Review. https://sloanreview.mit.edu/article/finding-value-in-the-information-explosion/

Birth of a legend. https://www.forbes.com/forbes/1998/0406/6107128s1.html?sh=654dc79b48cf

Connolly, Thomas M.; Begg, Carolyn E. (2014). Database Systems – A Practical Approach to Design Implementation and Management (6th ed.). Pearson. ISBN 978-1292061184.

Coustasse, A., Layton, W., Nelson, L., & Walker, V. (2021). UPCODING MEDICARE: IS HEALTHCARE FRAUD AND ABUSE INCREASING?. Perspectives in health information management, 18(4), 1f.

Elmasri, R. & Navathe, S. (2007). Fundamentals of database systems (5th ed.). Pearson/Addison Wesley.

Inmon, W. H. (1992). Building the data warehouse. John Wiley & Sons.

Kang, S. Y., Seo, S. W., & Kim, J. Y. (2019). Comprehensive risk factor evaluation of postoperative delirium following major surgery: clinical data warehouse analysis. Neurological sciences : official journal of the Italian Neurological Society and of the Italian Society of Clinical Neurophysiology, 40(4), 793–800. https://doi.org/10.1007/s10072-019-3730-1

Key performance indicators. https://www.collegesontario.org/en/resources/2019-kpi-results

Margielewski A., Odrowąż-Sypniewski Z., Dokąd zmierzają systemy bazodanowe?, „Biuletyn PTI” (2), Polskie Towarzystwo Informatyczne, 2021, s. 18–21

Modele konceptualne, logiczne i fizyczne. https://www.ibm.com/cloud/learn/data-modeling

Modelowanie danych. https://www.lucidchart.com/pages/database-diagram/database-design

Ngo, V. & Le-Khac, N.-A. & Kechadi, T. (2018). An Efficient Data Warehouse for Crop Yield Prediction. ArXiv. https://arxiv.org/abs/1807.00035

NoSQL. https://www.ibm.com/cloud/learn/nosql-databases

Pękala, Barbara. Bazy danych. Red. . : Wydawnictwo Uniwersytetu Rzeszowskiego, 2015, 120 s. ISBN 978-83-7996-224-2

Skalowanie horyzontalne a wertykalne. https://academind.com/tutorials/sql-vs-nosql

SQL. https://www.ibm.com/cloud/learn/relational-databases

SQL vs NoSQL. https://www.ibm.com/cloud/blog/sql-vs-nosql

Vaisman, A. & Zimanyi, E. (2014). Data Warehouse Systems: Design and Implementation. Springer. https://doi.org/10.1007/978-3-642-54655-6


Leave a comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze komentarze

  1. Ciekawe jest porównanie tradycyjnej terapii z nowymi rozwiązaniami opartymi na modelach językowych. Warto zauważyć, że mimo obiecujących wyników, istnieją ważne…