Definicja #
Data warehouse (hurtownia danych, DWH) to centralny repozytorium danych organizacyjnych, zaprojektowany do analizy historycznej i raportowania biznesowego. Termin spopularyzował Bill Inmon w latach 80. Data warehouse gromadzi dane z wielu systemów operacyjnych (ERP, CRM, e-commerce, IoT) i udostępnia je w formie zoptymalizowanej do analizy.
Kluczowe cechy data warehouse (model Inmona):
- Tematyczność — dane zorganizowane wokół tematów biznesowych (sprzedaż, klienci, produkty), nie systemów źródłowych
- Integracja — dane z wielu źródeł ujednolicone do spójnego formatu i słowników
- Niezmienność — raz załadowane dane nie są modyfikowane; historia jest zachowywana
- Zależność czasowa — każdy rekord ma timestamp; analiza trendów i porównania historyczne
Architektura data warehouse:
- ETL/ELT — Extract (ekstrakcja z źródeł), Transform (transformacja, czyszczenie), Load (ładowanie do DWH)
- Staging area — obszar tymczasowy dla surowych danych przed transformacją
- Data marts — podzbiory DWH dla konkretnych działów (marketing, finanse, logistyka)
- OLAP — Online Analytical Processing — sześciany danych do wielowymiarowej analizy
- Modele danych: Star Schema (tabela faktów + tabele wymiarów) i Snowflake Schema
Nowoczesne platformy data warehouse w chmurze:
- Snowflake — multi-cloud, separacja storage i compute, pay-per-use
- Google BigQuery — serverless, SQL, petabyte scale
- Amazon Redshift — managed, integracja z AWS
- Azure Synapse Analytics — integracja z Azure ekosystemem
- Databricks Delta Lake — lakehouse architecture łącząca DWH i data lake
Zastosowania #
Data warehouse stosuje się do:
- Raportowania BI i dashboardów — zasilanie narzędzi takich jak Tableau, Power BI, Looker danymi historycznymi
- Analizy trendów i prognozowania — analiza wieloletniej historii sprzedaży, klientów, produktów
- Konsolidacji danych z wielu systemów — łączenie danych z ERP, CRM, e-commerce i zewnętrznych źródeł w jednym miejscu
- Regulacyjnego raportowania compliance — finansowe i regulacyjne raporty wymagające audytowalnej historii danych
- Zasilania modeli ML — data warehouse jako źródło danych treningowych dla modeli uczenia maszynowego
Ścieżka nauki #
Data warehouse leży na przecięciu data engineering, analityki i architektury danych.
Zacznij od:
- SQL — podstawy i zaawansowane zapytania analityczne (Window Functions, CTE, agregacje)
- Podstawy modelowania: Star Schema vs Snowflake Schema — tabele faktów i wymiarów
- Podstawy ETL: pojęcia extract, transform, load; narzędzia jak dbt (data build tool)
- Bezpłatne konto: Google BigQuery lub Snowflake (trial) — praktyczne doświadczenie
Następnie poznaj:
- dbt (data build tool) — transformacje SQL w DWH, wersjonowanie, testy jakości danych; standard w nowoczesnym data stack
- Apache Airflow — orkiestracja pipeline'ów ETL/ELT zasilających DWH
- Modelowanie wymiarowe: SCD (Slowly Changing Dimensions) typ 1, 2, 3 — obsługa zmian w danych historycznych
- Lakehouse Architecture — Delta Lake, Apache Iceberg łączące zalety data lake i data warehouse
- Certyfikacja: Snowflake SnowPro Core, Google Professional Data Engineer
FAQ #
- Czym różni się data warehouse od data lake?
- Data warehouse przechowuje przetworzone, ustrukturyzowane dane zoptymalizowane do zapytań SQL i analiz BI. Data lake przechowuje surowe dane w dowolnym formacie (pliki, JSON, Parquet, obrazy) w niskim koszcie — przetwarzanie odbywa się przy odczycie. Architektura lakehouse (Delta Lake, Iceberg) łączy zalety obu.
- Czy data warehouse jest nadal aktualny?
- Tak — data warehouse jest fundamentem Business Intelligence i raportowania. Nowoczesne platformy chmurowe (Snowflake, BigQuery, Synapse) unowocześniły DWH: serverless, skalowalność na żądanie i niski TCO. Trend lakehouse nie zastępuje DWH, lecz go uzupełnia dla danych nieustrukturyzowanych.
- Czym jest ELT w porównaniu do ETL?
- ETL (Extract-Transform-Load) transformuje dane przed załadowaniem do DWH — tradycyjny model, wymaga osobnego środowiska transformacji. ELT (Extract-Load-Transform) ładuje surowe dane do DWH i transformuje je tam (SQL) — model popularny w chmurowych DWH (Snowflake, BigQuery) gdzie moc obliczeniowa jest tania. dbt realizuje transformacje T w ELT.
- Ile zarabia Data Engineer / BI Developer?
- BI Developer ze znajomością SQL i DWH zarabia od 10 000 do 18 000 zł brutto. Data Engineer z Airflow, dbt i Snowflake od 15 000 do 28 000 zł. Data Architect projektujący architekturę DWH i lakehouse od 20 000 do 40 000 zł. Data engineering i architektura danych to jedne z najlepiej płatnych specjalizacji IT.