Hurtownia danych (ang. data warehouse, w skrócie DWH) to centralne repozytorium, do którego zlewasz dane z wielu źródeł — baz transakcyjnych, systemów CRM, plików CSV, API zewnętrznych — i przechowujesz je w formie zoptymalizowanej pod analizę oraz raportowanie. Kluczowe słowo: analizę. Hurtownia nie obsługuje bieżących transakcji (od tego są systemy OLTP), tylko odpowiada na pytania w stylu „ile sprzedaliśmy w Q3 w podziale na regiony i kategorie”. Dane są tu zwykle historyczne, uporządkowane i wcześniej oczyszczone.
Jak to działa i po co Ci to
Dane trafiają do hurtowni przez proces ETL (Extract, Transform, Load) albo nowszy ELT — wyciągasz je ze źródeł, czyścisz i ujednolicasz, a potem ładujesz do magazynu. Wewnątrz najczęściej stosuje się modelowanie wymiarowe: tabele faktów (np. pojedyncze transakcje sprzedaży) otoczone tabelami wymiarów (czas, produkt, klient). Ten układ nazywa się schematem gwiazdy (star schema) i powstał po to, żeby analityczne zapytania liczyły się szybko, a nie mieliły bazy godzinami.
Dzięki temu zespół BI odpytuje jedno spójne miejsce zamiast łączyć się z dziesięcioma produkcyjnymi bazami i przypadkiem ich nie zatkać. Hurtownia jest zoptymalizowana pod OLAP (analiza), a nie OLTP (pojedyncze, szybkie zapisy) — to fundamentalna różnica w podejściu.
Przykład z praktyki
Powiedzmy, że firma używa Snowflake jako hurtowni. Surowe dane z aplikacji lądują w bazie PostgreSQL, narzędzie typu dbt transformuje je do modelu gwiazdy, a analityk odpytuje gotowe tabele. Pytanie „przychód miesięczny per kategoria” sprowadza się do czegoś takiego:
SELECT d.month, p.category, SUM(f.amount) FROM fact_sales f JOIN dim_date d ON f.date_id = d.id JOIN dim_product p ON f.product_id = p.id GROUP BY 1, 2;
Z popularnych rozwiązań spotkasz też Google BigQuery, Amazon Redshift i Azure Synapse. Wszystkie łączy to samo: rozdzielają obciążenie analityczne od produkcyjnego.
Częste błędy i mity
- Mylenie z data lake. Data lake trzyma surowe, nieustrukturyzowane dane „na zapas”. Hurtownia trzyma dane przetworzone, ze schematem (schema-on-write). To nie to samo, choć dziś coraz częściej łączy się je w lakehouse.
- Pchanie tam zapytań transakcyjnych. Hurtownia nie jest od pojedynczych
INSERT/UPDATEw czasie rzeczywistym — od tego masz bazę OLTP. - „Wrzucimy wszystko, posprzątamy potem”. Bez porządnego ETL i jasnego modelu danych hurtownia zamienia się w drogie wysypisko, któremu nikt nie ufa.
Pojęcia powiązane
Warto kojarzyć: ETL/ELT, data lake, lakehouse, OLAP kontra OLTP, schemat gwiazdy i płatka śniegu, data mart (wycinek hurtowni dla jednego działu), business intelligence oraz modelowanie wymiarowe.