Účel datového skladu a jeho místo v BI ekosystému
Datový sklad (Data Warehouse, DWH) je centralizované, historizované a tématicky orientované úložiště, které konsoliduje data z heterogenních zdrojů s cílem podpořit analytiku, reporting, plánování a rozhodování. Oproti operačním systémům klade důraz na konzistenci, auditovatelnost, časovou dimenzi a výkon analytických dotazů. Základními vlastnostmi jsou integrace, nezávislost na zdrojích, nekonfliktní definice metrik a řízená kvalita dat.
Architektonické vrstvy a topologie
- Landing/Raw: izolované uložení surových dat (nejlépe neměnně – „immutable“) v původní granularitě včetně metadat o načtení, původu a schématu.
- Staging/Integration: technická integrační vrstva pro čištění, standardizaci a slučování; zde probíhá většina transformační logiky a deduplikace.
- Core DWH: stabilizovaný model (hvězda/sněhová vločka/Data Vault), historizace a řízení klíčů; zdroj pro řízené datové marty.
- Data Marts: tematicky zaměřené podsady pro konkrétní domény (prodej, finance, marketing) optimalizované pro uživatelské dotazy a BI nástroje.
- Semantic/Presentation: sémantická vrstva (measure definice, role, bezpečnost), která sjednocuje význam metrik napříč nástroji.
- Topologie: on-prem MPP, cloudové sklady, lakehouse přístup (object storage + SQL engine), hybridy se separací compute/storage.
Datové modelování: volba paradigmatu
- Dimenzionální model (Kimball): faktové tabulky (měřitelné události, aditivní/semia-ditivní) a dimenzní tabulky (kdo, co, kdy, kde, jak). Výhoda – jednoduchost dotazů, výkon agregací.
- Sněhová vločka: normalizace dimenzí (subdimenzí); úspora místa, potenciálně složitější joiny.
- Data Vault 2.0: Huby (business klíče), Linky (vztahy), Satelity (atributy v čase). Výhoda – odolnost vůči změnám zdrojů, auditovatelnost; nad DV se budují mappované hvězdy pro reporting.
- Lakehouse: formáty typu Parquet/Delta/Iceberg s ACID, time-travel a separovaným compute; flexibilní pro ELT a data science.
Granularita, fakta a dimenze
- Grain: nejnižší úroveň detailu faktu – určující pro budoucí flexibilitu; vždy explicitně definovat (např. „řádek účtenky po položkách“).
- Typy faktů: transakční (aditivní), snapshot (stav k datu), „accumulating snapshot“ (životní cyklus procesu).
- Dimenze: konformační (sdílené napříč marty), roli hrající (např. datum pro prodej i expedici), degenerované (kód v faktu).
Pomalé změny dimenzí (SCD) a historizace
| Typ SCD | Chování | Využití |
|---|---|---|
| Typ 0 | Žádná změna (zafixování) | Historické referenční hodnoty |
| Typ 1 | Přepis (overwrite) | Opravy chyb, ne-relevantní historie |
| Typ 2 | Historie v řádcích (valid-from/to, current flag) | Auditovatelné změny pro analytiku |
| Typ 3 | Limitovaná historie ve sloupcích | Porovnání „před/po“ pro vybrané atributy |
| Hybrid | Kombinace (např. 1+2) | Pragmatická optimalizace |
ETL vs. ELT: operační strategie
| Aspekt | ETL (Transformace mimo DWH) | ELT (Transformace v DWH/Lake) |
|---|---|---|
| Výpočet | Middleware/ETL server | Push-down do MPP/clusteru |
| Agilita | Silná kontrola, pomalejší změny | Rychlé iterace, SQL/Notebooky |
| Náklady | Licencování ETL, menší cloud compute | Spotřeba compute ve skladu |
| Správa schémat | Upfront modelování | Schema-on-read, pozdější kurátorství |
| Datové vědy | Méně přirozené | Nativní integrace s lakehouse |
Získávání dat: dávka, CDC a streaming
- Full/Incremental load: kompletní vs. přírůstky podle timestamp/identifikátoru; zohlednit pozdní příchody.
- CDC (Change Data Capture): log-based CDC (binlog/WAL), trigger-based, timestamp-based; snižuje zátěž zdrojů.
- Streaming: event-driven ingest (Kafka/PubSub), Lambda/Kappa architektury; nutnost „exactly-once“ semantics a re-processing strategií.
Čištění, standardizace a slučování (Cleansing & Conformance)
- Profilace: cardinality, vzory, anomálie, referenční integrita; automatizované profilační běhy při změně schématu.
- Validační pravidla: syntaktická (typy, rozsahy), semantická (business pravidla), referenční (MDM), geokódy, ISO standardy.
- Dedup a zlaté záznamy: fuzzy matching, survivorship pravidla, vážené zdroje; integrace s MDM.
Klíče, identita a referenční data
- Surrogate keys: stabilní interní ID (integer/hash) pro dimenze; oddělení od business klíčů.
- Business klíče: uchovávat pro sledování původu a detekci změn (SCD2).
- Reference/MDM: řízení číselníků (měny, země, organizace), schvalovací workflow, verzování a publikace.
Výkon a optimalizace dotazů
- Sloupcové uložení: komprese, vectorized execution, „late materialization“; zásadní pro analytické workloady.
- Particionace a clustering: podle času/domény; minimalizace scanů, zrychlení joinů.
- Materializované pohledy a agregáty: předpočítané KPI; řízení čerstvosti (ttl/refresh) vs. náklady.
- Cost-based optimalizér: statistiky tabulek a sloupců; pravidelná obnova.
Orchestrace, plánování a spolehlivost
- Workflow orchestrace: DAG s explicitními závislostmi, idempotence kroků, transakční hranice.
- Retry a backoff: řízené opakování, „dead-letter“ fronty, kompenzační operace.
- Verzování pipeline: Infrastructure as Code, parametrizace prostředí (DEV/UAT/PROD), migrační skripty.
- Testování: unit testy SQL/transformací, data tests (row-count, null-rate, referenční integrita), regression testy metrik.
Monitorování, observabilita a lineage
- Metry běhu: doba, průtok, chybovost, objemy; SLO/SLA pro čerstvost a dostupnost datasetů.
- Datová observabilita: změny distribucí, schema drift, „freshness“ alarmy, outliery v metrikách.
- Lineage a katalog: end-to-end původ dat (column-level), identifikace dopadů změn, vyhledatelnost a popisy (business glossary).
Bezpečnost, řízení přístupu a compliance
- RBAC/ABAC: role a atributy (oddělení, země, účel zpracování); princip minimálních oprávnění.
- Řízení citlivých dat: PII/PHI klasifikace, maskování (statické/dynamické), tokenizace, šifrování v klidu i přenosu.
- Row/Column-level security: filtry podle tenantů/regionů; audit přístupů.
- GDPR a retenční politiky: právní titul, doba uchování, právo na výmaz; privacy-by-design.
KPI a governance pro DWH
- Kvalita dat: % záznamů procházejících pravidly, počet incidentů, MTTR.
- Čerstvost: latence od události ke KPI, on-time delivery rate.
- Využití: aktivní uživatelé, frekvence dotazů, hot-datasets.
- Náklady: cost per query/dataset, jednotková cena metrik, optimalizace compute/storage.
BI a sémantická vrstva
- Business glossary: jednotné definice metrik (např. „Hrubý zisk“, „Aktivní zákazník 30D“), verzování a schvalování.
- Semantic model: kalkulace, role-playing dimenze, časové inteligence (YoY, YTD), jazyk DAX/LookML/semantic SQL.
- Self-service BI: řízená vrstva dat + guardrails (row-level security, certifikace datových sad).
Lakehouse a moderní ELT patterny
- Medallion architektura: Bronze (raw), Silver (čištěno/konformováno), Gold (business ready).
- Time-travel a ACID: bezpečné re-procesy, audit, rollback; clonování tabulek pro experimenty bez kopírování dat.
- Notebook-oriented transformations: kombinace SQL a Python/Scala pro pokročilé obohacování a ML featury.
Výpočty metrik a agregací
- Atomicita vs. agregace: ukládat atomickou granularitu a odvozovat agregace s materializací tam, kde dává smysl (heavy KPI, sezónní sestavy).
- Kalendářní dimenze: tabulka času s atributy (fiskální období, týden ISO, svátky); klíč pro časové kalkulace.
- Měnové konverze: tabulky kurzů s platností v čase, Multi-currency Measures (spot, EoD, průměr).
Ukázkový ETL/ELT workflow (vysoká úroveň)
- Ingest: CDC z ERP/CRM do Raw (Parquet/Delta) + metadatové záznamy (zdroj, offset, schema hash).
- Standardizace: typové konverze, trimming, normalizace kódů (ISO-3166, ISO-4217), validace povinných polí.
- Conformance: mapování číselníků z MDM, deduplikace zákazníků (match-merge, survivorship).
- Historization: generování SCD2 pro dimenze (valid_from/to, current_flag), tvorba surrogate keys.
- Fakta: naplnění faktů z transakcí, vazby na dimenze, výpočet derivovaných metrik a auditních stop (hash diff, source_system).
- Data Marts: denormalizované hvězdy, materializované pohledy pro KPI, row/column-security politiky.
- Publikace: registrace v katalogu, přidání do semantic layer, certifikace a SLA pro čerstvost.
Nákladový model a škálování
- Compute vs. Storage: oddělené škálování; plánování „warehouse“ velikostí, auto-suspend/auto-resume, spot/preemptible uzly pro dávky.
- Cost governance: kvóty, rozpočty, tagování projektů, chargeback/showback.
- Elasticita: horizontální škálování při uzávěrkách, snižování při idle, priority front.
Typické prohřešky a jak jim předejít
- Nejasné definice metrik → zavést glossary a semantic layer, schvalovací workflow.
- „Big Ball of Mud“ SQL → modularizovat transformace, testovat a verzovat.
- Chybějící lineage → nástrojová podpora s column-level vazbami, automatická dokumentace.
- Přílišná denormalizace bez řízení → materiálovat cíleně, spravovat refresh a závislosti.
Checklist pro návrh a provoz DWH/ETL
- Definovaný grain faktů a konformační dimenze?
- Zvolený způsob historizace (SCD) a pravidla změn?
- Vrstvy Raw–Staging–Core–Mart a jejich SLA/retence?
- Orchestrace s idempotencí a retry strategiemi?
- Observabilita: freshness, kvalita, schema drift alarmy?
- Bezpečnost: klasifikace PII, RLS/CLS, audit?
- Cost control a automatická optimalizace (partice, cluster, MV)?
- Katalog, glossary a certifikace datových sad?
Závěr
Moderní datový sklad a ETL/ELT procesy tvoří páteř Business Intelligence. Úspěch stojí na správném modelování, spolehlivém ingestionu, kvalitě a historizaci dat, automatizované orchestraci, observabilitě a governanci. Využití cloudových skladů, lakehouse technologií a sémantické vrstvy umožňuje škálovat analytiku, zkrátit time-to-insight a současně udržet náklady a rizika pod kontrolou.