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á.
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.
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.
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ů.
- 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. - 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. - 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. - 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). - 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. - 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ů. - Ú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ě. - Archivace a likvidace
Ukončení životnosti datamartu a archivace nebo likvidace dat v něm uložených.