Definicja i charakterystyka
Data warehouse to system zarządzania danymi przeznaczony do obsługi zapytań analitycznych (Business Intelligence). W przeciwieństwie do systemów transakcyjnych (OLTP), hurtownia danych jest optymalizowana pod kątem odczytu dużych zbiorów, agregacji i analizy historycznej. Dane są zazwyczaj ładowane partiami z różnych źródeł operacyjnych w ramach procesów ETL.
Charakterystyczne cechy hurtowni danych: zorientowanie tematyczne (dane pogrupowane według obszarów biznesowych), integralność (dane z różnych systemów są ujednolicone), niezmienność historyczna (zapisane dane nie są modyfikowane) oraz zorientowanie czasowe (każdy rekord zawiera znacznik czasowy).
Articles published on this website summarize publicly available information, industry research and educational materials.
Schemat gwiazdy
Schemat gwiazdy (star schema) jest najpowszechniej stosowanym wzorcem modelowania w hurtowniach danych. Centralnym elementem jest tabela faktów zawierająca mierzalne wartości biznesowe (sprzedaż, liczba transakcji, przychody) oraz klucze obce do tabel wymiarów.
Tabele wymiarów opisują kontekst faktów: wymiar czasu, klientów, produktów, lokalizacji. Schemat gwiazdy jest zdenormalizowany — tabele wymiarów zawierają powtarzające się dane, co upraszcza zapytania SQL kosztem redundancji przechowywania.
| Składnik | Opis | Przykład |
|---|---|---|
| Tabela faktów | Pomiary ilościowe, klucze FK | fakt_sprzedaz: kwota, ilosc, data_id, produkt_id |
| Wymiar czasu | Hierarchia daty i czasu | dim_czas: dzien, miesiac, kwartal, rok |
| Wymiar produktu | Atrybuty produktu | dim_produkt: nazwa, kategoria, marka |
| Wymiar klienta | Atrybuty klienta | dim_klient: region, segment, kraj |
Schemat płatka śniegu
Schemat płatka śniegu (snowflake schema) jest rozwinięciem schematu gwiazdy, w którym tabele wymiarów są znormalizowane. Zamiast jednej płaskiej tabeli wymiarów, stosuje się hierarchię powiązanych tabel. Na przykład wymiar geograficzny może być podzielony na tabele: miasto → region → kraj.
Schemat płatka śniegu zmniejsza redundancję danych, ale komplikuje zapytania SQL wymagające łączenia większej liczby tabel. W praktyce hurtowni danych częściej stosuje się schemat gwiazdy ze względu na prostotę i wydajność zapytań.
Modele OLAP
OLAP (Online Analytical Processing) to zbiór technik umożliwiających wielowymiarową analizę danych. Wyróżnia się trzy główne architektury OLAP:
| Model | Skrót | Przechowywanie | Charakterystyka |
|---|---|---|---|
| Relational OLAP | ROLAP | Tabele relacyjne | Zapytania SQL, skalowalny dla dużych danych |
| Multidimensional OLAP | MOLAP | Kostki wielowymiarowe | Szybkie agregacje, ograniczona skalowalność |
| Hybrid OLAP | HOLAP | Mieszane | Szczegóły w ROLAP, agregacje w MOLAP |
OLTP a OLAP
Systemy transakcyjne (OLTP) i hurtownie danych (OLAP) służą odmiennym celom i mają różne wymagania wydajnościowe:
| Cecha | OLTP | OLAP |
|---|---|---|
| Operacje | INSERT, UPDATE, DELETE | SELECT z agregacjami |
| Rozmiar zapytań | Małe, na jednym rekordzie | Duże, na milionach rekordów |
| Normalizacja | Wysoka (3NF) | Niska (denormalizacja) |
| Aktualizacja danych | Ciągła, real-time | Wsadowa, periodyczna |
| Przykłady | PostgreSQL, MySQL, Oracle | Snowflake, Redshift, BigQuery |
Warstwy architektury
Typowa architektura hurtowni danych składa się z trzech warstw: warstwy staging (dane ze źródeł przed transformacją), warstwy integracji (ujednolicony model danych) i warstwy prezentacji (struktury zoptymalizowane pod BI i raporty).