Rubriky
DWB - Our Approach Your Edge Blog

Budování řešení Data Warehousing & Business Intelligence

Náš přístup k budování řešení Data Warehousing & Business Intelligence je založen na dvou základních přístupech - rozpracování řešení od informačních potřeb business uživatelů (Enterprise Information Modeling) a poskytování business hodnoty klientům co nejdříve (hybridní přístup k budování DWH).

Modelování podnikových informací

Cílem modelování obchodních informačních potřeb je převést informační očekávání business uživatelů (požadované dotazy, reporty a vstupy pro integrované aplikace) do centrálního a uceleného sémantického podnikového informačního modelu (Enterprise Information Model, EIM), který na jedné straně zachycuje obchodní definice a obchodní pravidla, mapovaná na obchodní požadavky, případy užití (use cases) a procesy, a na druhé straně poskytuje sémantický "skelet", ke který jsou připojeny různé fyzické artefakty implementace řešení (reprezentace obchodních definic a pravidel, např. tabulek a transformací). Podnikový informační model se používá ve všech fázích budování řešení Data Warehousing & Business Intelligence: pro zachycení obchodních domén, entit, atributů a jejich definic během fáze analýzy, pro zachycení mapování dat a kontrol datové kvality během fáze návrhu, pro poskytnutí vstupů pro vývojáře a částečnou automatizaci vývoje ve fázi vývoje a pro poskytování vstupů pro zpracování testovacích případů a scénářů během fáze testování. 

Doporučujeme agilní přístup k vybudování řešení Data Warehousing & Business Intelligence a odrazujeme od tzv. "vodopádu" a snah dodat cílové řešení najednou. Následující činnosti tedy nejsou prováděny striktně v následujícím pořadí, ale spíše paralelně na vybraných částech celkového řešení:

  1. Analýza požadavků - analýza požadovaných reportů, vstupů integrovaných aplikací a celkového informačního očekávání uživatelů. 
  2. Vybudování podnikového informačního modelu - vypracování jeho entit a atributů, důraz na přesné a akceptované obchodní definice (obchodní slovník, Business Dictionary).
  3. Identifikace datových modelů fyzických zdrojů - fyzické modely datových zdrojů nebo již existujících systémů, tabulek a atributů.
  4. Profiling a analýza zdrojových dat - základní obchodní porozumění zdrojům dat nebo již existujícím datům (včetně referenčních dat, kardinalit a objemů).
  5. Hrubé mapování dat - mapování zdrojů nebo již existujících systémů, tabulek a atributů na entity a atributy podnikového informačního modelu (Enterprise Information Model); bez podrobných transformačních vzorců, pouze identifikace potřebných atributů jako např. „Atribut a je potřebný pro EIM.b“.
  6. Vytvoření logického datového modelu jádra - transformace podnikového informačního modelu na logický datový model; návrh datových typů, primárních/ cizích klíčů a vazeb pro oblast jádra.
  7. Vytvoření logického datového modelu Data Martů - transformace informačních požadavků, reportů a požadovaných aplikačních vstupů na logické datové modely výstupní/ uživatelské vrstvy řešení.
  8. Fyzické datové modelování - převod logických datových modelů jádra a Data Martů do jejich fyzických reprezentací (včetně technických vrstev, např. pro historizaci dat), při zohlednění objemů dat, vlastností databázových systémů a nefunkčních požadavků.
  9. Detailní mapování dat - mapování zdrojů dat, základních struktur a Data Martů na atributy podnikového informačního modelu na úrovni detailního fyzického datového modelu; včetně podrobných transformací, např. “Atribut EIM.b = T.x join S.y… where”.
  10. Vývoj datových struktur - implementace a nasazení fyzických datových struktur, založených na fyzických datových modelech.
  11. Návrh a vývoj ETL - návrh a vývoj komponent ETL pro načítání dat do jádra a Data Martů z jádra na základě podrobných mapování dat a fyzických datových struktur; kdykoli je to efektivní, snažíme se vývoj automatizovat.

Hybridní přístup k budování datového skladu 

Obecně existují dva extrémní způsoby, jak vybudovat datový sklad (DWH) - „přístup shora dolů“ spojený s Billem Inmonem a „přístup zdola nahoru“ spojený s Ralphem Kimballem. Zjednodušeně řečeno, přístup „shora dolů“ navrhuje vytvořit konzistentní a standardizované jádro DWH, jádro, které bude použito jako „jediný zdroj pravdy“ pro všechny datové sítě a obchodní potřeby. Jednoduše řečeno, „přístup zdola nahoru“ navrhuje začít opačným směrem a zaměřit se nejprve na dimenzionální Data Marty tak, aby bylo řešení co nejrychleji využitelné pro business uživatele, i za cenu (částečného a vědomého) obětování konzistence a standardizace. Doporučujeme „hybridní přístup“, který využívá to nejlepší z obou extrémních přístupů. 

"Hybridní přístup" cílí na rychlou dodávku použitelného řešení pro business uživatele, bez naprostého obětování konzistence, standardizace a znovupoužitelnosti. V hrubých obrysech tento přístup k vybudování datového skladu zahrnuje kroky: 

  1. Vytvoření logického datového modelu jádra - pomocí přístupu odvození z EIM, investice několika týdnů do vybudování (částečně) normalizovaného logického datového modelu jádra. 
  2. Vytvoření logických datových modelů Data Martů - s využitím přístupu odvození z požadavků, definice požadovaných reportů, vstupů integrovaných aplikace, jsou vytvořeny logické datové modely (3NF) několika „překrývajících se“ datových Data Martů.
  3. Namapování Data Martů na model jádra - logické mapování Data Martů na na struktury jádra, v takovém detailu, který umožňuje rozeznat, které atributy jádra jsou "sdíleny" více Data Marty.
  4. Nasazení dimenzionálních Data Martů - vytvoření dimenzionálních modelů (tzv. "Star Schemat") z logických datových modelů Data Martů a nasazení dimenzionálních Data Martů.
  5. Vybudování datové vrstvy jádra - implementace a naplnění jádra datové vrstvy, včetně řízení datové kvality (Data Quality Management), standardizace a konsolidace.
  6. Ošetření redundantně transformovaných a nekonzistentních dat - identifikace shodných nebo "podobných" (nekonzistentních) dat, plněných v několika Data Martech (s využitím mapování) a částečné "přepojení" těchto Data Martů na struktury jádra.