Datamart je jednou z částí datového skladu (Data Warehouse), který slouží jako jeden z centrálních zdrojů pro data. Datamart se specializuje na specifickou oblast nebo téma a poskytuje přehledné a relevantní informace pro specifickou skupinu uživatelů, např. pro marketing, finanční nebo prodejní oddělení. To jen tak ve zkratce, pro ty, kteří to potřebují.

Datamarty můžeme dělit na pár základních druhů. Buď podle použití nebo podle tvorby.

Druhy datamartů


Analytický

Slouží datovým analytikům ke snadnému přístupu k datům pro datovou analýzu.

Reportingový

Slouží pro tvorbu reportů pro koncové uživatele (pro exekutivní business).

Integrační

Slouží k výměně dat mezi systémy. Většinou na úrovni API, exportů či datových pump.


Zde jde spíše o systém tvorby datamartů než o typy jednotlivých instancí.

Závislý (dependent)

Před datamartem je jádro a z jádra se tvoří datamarty.
Výhodou tohoto typu je, že veškerá unifikace, číštění a administrace dat probíhá v jádře (na cestě do jádra). Tím se snižují nároky na tvůrce datamartů. Ten už má většinou vše připraveno a postupuje vždy obdobným způsobem.
Je to časově náročnější varianta na realizaci, ale vyplatí se. Ovšem není flexibilní a všechno trochu déle trvá.

Závislý datamart

Nezávislý (independent)

Datamart je tvořen přímo ze zdrojových dat ze stage, v ideálním případě. V neideálním případě je tvořen přímo z dat zdrojových systémů.
Výhodou je vcelku rychlá implementace datamartu. Větší svoboda co se týká datových transformací.
Horší to je s unifikací, administrací, atd. ta se musí dělat na úrovni každého datamartu zvlášť.
Umožňuje rychlá řešení, která však bývají náročnější na správu a údržbu.

Nezávislý datamart

Hybridní (hybrid) NDP

Datamarty jsou tvořeny jak nad jádrem, tak ze stage dat.
Asi nejrozšířenější druh. Kombinuje rychlý vývoj, který je nutný na začátku realizace DWH a zároveň pohodlí jádra.
Zde hodně záleží na tom kolik stage-mart řešení se vytvoří dříve než se vytvoří jádro. Nesmí to být moc nebo hrozí nebezpečí, že se tato řešení nikdy nepředělají na core-mart.

Hybridní datamart

Realizace DM

Neexistuje jeden typ (jedna šablona) unifikovaného datamartu, který by se používal pro všechny řešené datamarty. Každý DM může být jiný. Záleží na účelu datamartu. Proto nehledejte jeden návod, který vládne všem. To co však hledat můžete, je sada předpřipravených procesů/úkolů/pipelin/notebooků, které vám pomohou datamart vytvořit.

Obecný postup tvorby datamartu

Jen obecně a povrchně si projdeme kroky, které je potřeba provést při realizaci datamartů.

  1. Definování cílů a požadavků
    Je nutné definovat cíle a požadavky na datamart, aby bylo možné určit jaká data bude potřeba získat, jakým způsobem budou data uchovávána a jaká bude jejich výstupní podoba (model). Tady by mělo vzniknout zadání, které bude schválené zadavatelem a analýza, která bude pokrývat způsob a konkrétní podobu realizace.
  2. Data mining a výběr dat
    Při této fázi se vybírají data, která budou potřebná pro výstavbu datamartu. Tyto data mohou být získána z různých zdrojů, ale v NDP by to měla být Core vrstva. Vzniká datová analýza, která spočívá v mapování vstupních dat na výstupní podobu. Vlastně si připravujeme data, z kterých poté vytvoříme model.
  3. Návrh datového modelu
    Tento krok spočívá v navržení datového modelu, který určuje jakým způsobem budou data uložena v datamartu. Preferujme hvězdu, může být i vločka či případně denotmalizovaná forma pro integrační datamart či rychlý a jednoduchý reporting.
  4. Transformace dat
    Máme datový model, máme datové mapování a můžeme začít modelovat. Je nutné provést transformaci zdrojových dat, aby byla data připravena pro uložení do datamartu. Tyto transformace mohou zahrnovat čištění, integraci, agregaci a další (DML).
  5. Implementace
    Tato fáze zahrnuje výstavbu fyzického datamartu, naplnění daty, orchestraci a testování funkčnosti. Takže vytváříme datové struktury (DDL) v cílové databázi a vytváříme samotné plnění daty například v MS SQL Server Integration Services, Azure Data Factory, Databricks, Azure Synapse Pipelines apod. Na konec vše musím schedulovat, aby se plnění zautomatizovalo dle potřeb businessu.
  6. Konzumace dat (reporting / integrace)
    To už je třešnička na dortu. Potřebujeme pustit konzumenty k datům. Buď v podobě reportingu či v podobě datových přenosů do interních/externích systémů.
  7. Údržba
    Datamart potřebuje pravidelnou údržbu, tzn. kontrolu integrity, úpravy datového modelu, výstupních formátů (například podle praxe je potřeba zpětně zhodnotit jestli jsou použity správné datovýé typy), indexace, atd.. Tyto aktivity je nutné plánovat a provádět pravidelně.
  8. Archivace a likvidace
    Ukončení životnosti datamartu a archivace nebo likvidace dat v něm uložených.