TakéDWH, Enterprise data warehousePokročilý

Definice

Datový sklad je centrální databázové prostředí určené pro dlouhodobé ukládání, sjednocení a analytické dotazování dat z více provozních systémů. Na rozdíl od transakční databáze optimalizuje čtení, agregace a historické pohledy, takže podporuje reporting, business intelligence, plánování i datové modely nad konzistentními metrikami.

Kategorie: DatabázeAktualizováno

Proč firma odděluje datový sklad od provozních databází

Datový sklad slouží k analytice nad daty, která často vznikají v mnoha aplikacích najednou: e-shopu, účetnictví, CRM, reklamních systémech, logistice nebo zákaznické podpoře. Provozní databáze řeší rychlé zápisy a změny jednotlivých záznamů, například vytvoření objednávky. Datový sklad naopak počítá souhrny, porovnává období a odpovídá na otázky typu „které kanály přinesly nejvyšší marži za poslední kvartál“.

Oddělení analytiky chrání produkční systémy před těžkými reportovacími dotazy. Analytický tým zároveň získá místo, kde lze sjednotit názvy metrik, měny, časová pásma, identifikátory zákazníků i historii změn. Datový sklad proto není jen úložiště, ale také dohoda o tom, co ve firmě znamená tržba, aktivní zákazník nebo dokončená objednávka.

Co v datovém skladu znamená historický a sjednocený pohled

Datový sklad obvykle uchovává data po delší dobu a nepracuje pouze s aktuálním stavem. Změna adresy zákazníka, přecenění produktu nebo přesun obchodníka do jiného týmu může být pro analýzu důležitá i zpětně. Správně navržený model proto zachytí, kdy změna nastala a které reporty mají používat starou nebo novou hodnotu.

Sjednocení dat bývá náročnější než samotné uložení. Různé systémy mohou používat jiné kódy produktů, odlišné definice kampaní nebo rozdílnou granularitu času. Datový sklad tyto rozdíly řeší transformačními pravidly, kontrolami kvality a datovým modelem, který je čitelný pro analytiky i nástroje business intelligence.

Vrstvy typické architektury datového skladu

Moderní datový sklad mívá několik vrstev. Ingestní vrstva přenáší data ze zdrojů dávkově nebo průběžně. Staging vrstva uchovává syrovější podobu dat pro kontrolu a opakovatelnost. Transformační vrstva čistí, spojuje a přepočítává data. Prezentační vrstva nabízí tabulky, pohledy nebo datové tržiště připravené pro reporty, dashboardy a modely strojového učení.

Technicky může datový sklad běžet v relační databázi, ve specializované cloudové analytické službě nebo nad sloupcovým úložištěm. Důležitější než konkrétní produkt je návrh: jasné vlastnictví dat, sledovatelné transformace, testy kvality a rozumné řízení přístupů.

Příklad 1: sjednocené tržby z e-shopu a fakturace

E-shop ukládá objednávky okamžitě, účetní systém vystavuje faktury se zpožděním a reklamní platforma posílá náklady podle kampaní. Datový sklad každý den spojí objednávky, faktury a reklamní výdaje do jednoho modelu. Finanční tým pak vidí marži podle kampaně a nemusí ručně slučovat exporty v tabulkovém procesoru.

Příklad 2: denní agregace objednávek v SQL

Analytik může v datovém skladu vytvořit tabulku pro denní reporting, aby dashboard nemusel při každém otevření procházet miliony řádků objednávek.

create table mart_daily_sales as
select
  date(order_created_at) as sales_day,
  country,
  count(*) as orders,
  sum(total_amount) as revenue
from warehouse.orders
where order_status = 'paid'
group by sales_day, country;

Výsledek je menší a stabilnější datová sada. Dashboard díky tomu zobrazuje denní tržby rychleji a používá stejnou definici zaplacené objednávky pro všechny uživatele.

Příklady z praxe

  1. Sjednocené tržby z e-shopu a fakturace

    E-shop ukládá objednávky okamžitě, účetní systém vystavuje faktury se zpožděním a reklamní platforma posílá náklady podle kampaní. Datový sklad každý den spojí objednávky, faktury a reklamní výdaje do jednoho modelu. Finanční tým pak vidí marži podle kampaně a nemusí ručně slučovat exporty v tabulkovém procesoru.

  2. Denní agregace objednávek v SQL

    Analytik vytvoří v datovém skladu tabulku pro denní reporting, aby dashboard nemusel při každém otevření procházet miliony řádků objednávek. Výsledek je menší a stabilnější datová sada. Dashboard díky tomu zobrazuje denní tržby rychleji a používá stejnou definici zaplacené objednávky pro všechny uživatele.

    create table mart_daily_sales as
    select
      date(order_created_at) as sales_day,
      country,
      count(*) as orders,
      sum(total_amount) as revenue
    from warehouse.orders
    where order_status = 'paid'
    group by sales_day, country;

Časté omyly

MýtusDatový sklad je prostě větší databáze.
Ve skutečnostiDatový sklad není definovaný jen velikostí. Hlavní rozdíl je v analytickém účelu, historickém pohledu, sjednocování dat z více zdrojů a optimalizaci pro čtení a agregace.
MýtusDo datového skladu se mají kopírovat úplně všechna data.
Ve skutečnostiDatový sklad má obsahovat data, která mají jasnou analytickou hodnotu nebo regulační důvod. Bez výběru, modelování a kontroly kvality vznikne drahé úložiště, kterému lidé nevěří.

Časté dotazy

Kdy dává datový sklad smysl i menší firmě?
Datový sklad dává menší firmě smysl ve chvíli, kdy ruční spojování exportů brzdí rozhodování nebo vede k rozdílným číslům v týmech. Typickým signálem jsou opakované spory o výši tržeb, náklady kampaní, retenci zákazníků nebo marži. Menší firma nemusí začínat velkou platformou, často stačí úzký sklad pro několik klíčových zdrojů a dobře pojmenované metriky.
Proč datový sklad nenahrazuje běžnou databázi aplikace?
Datový sklad nenahrazuje běžnou databázi aplikace, protože má jiný cíl. Aplikační databáze musí spolehlivě obsloužit objednávku, přihlášení nebo změnu profilu v reálném čase. Datový sklad čte velké objemy historických dat, počítá agregace a často pracuje s kopiemi z více systémů. Použití datového skladu pro transakce by obvykle zhoršilo jednoduchost, latenci i konzistenci aplikace.
Kdy datový sklad nestačí a dává smysl data lake?
Datový sklad se hodí pro strukturovaná a řízená analytická data, zatímco data lake lépe pojme syrové soubory, logy, obrázky nebo data, jejichž budoucí použití ještě není jasné. Datový sklad obvykle nabízí pevnější model, kvalitnější metriky a rychlé SQL dotazy pro reporting. Data lake může sklad doplňovat jako levnější a pružnější vrstva pro surová nebo méně zpracovaná data.

Zdroje

  1. What is a Data Warehouse?(otevře se v novém okně)AWS
  2. What is a Data Warehouse?(otevře se v novém okně)Google Cloud
  3. Data warehousing(otevře se v novém okně)Microsoft Learn
  4. What Is a Data Warehouse?(otevře se v novém okně)Oracle

Související pojmy

Potřebujete to vyřešit v praxi?

Poradíme, jak na to ve vašem projektu

Vysvětlit pojem je jedna věc, navrhnout kolem něj funkční řešení druhá. Ozvěte se a probereme, co dává smysl u vás.