facebook LinkedIN LinkedIN - follow
Tematické sekce
 
Branžové sekce
Přehledy
 
Tematické seriály
 

GDPR

General Data Protection Regulation zásadně mění zpracování osobních údajů a zavádí nové povinnosti...

články >>

 

Jak uřídit IT projekt a nezbláznit se

Užitečné tipy a nástroje pro řešení problémů řízení inovací a vývoje produktů...

články >>

 

Industry 4.0

Průmysl 4.0

Jaký vliv bude mít čtvrtá průmyslová revoluce na výrobu a výrobní firmy?

články >>

 

Komplexní svět eIDAS

O nařízení eIDAS již bylo mnoho řečeno i napsáno. A proto jediné, o čem...

články >>

 

Trendy v CRM

Systémy pro řízení vztahů se zákazníky (CRM) prochází v posledních letech výraznou změnou. Zatímco dříve...

články >>

 

Příručka úspěšného IT manažera

Dnes je řada IT manažerů opomíjena. Úspěšní bývají brouci Pytlíci a Ferdové...

články >>

 
Partneři webu
Compas automatizace
PříLOHA 6/2002

Datové sklady na platformě Microsoft

Nástroje Microsoft pro datawarehousing a business intelligence

Marek Polášek


Občas říkám svým přátelům, že pracuji v datovém skladu. Představují si mě v zelených montérkách, jak s vysokozdvižným vozíkem převážím stohy papírů a obrovské bedny cédéček, vyplňuji dodací listy, naskladňuji zboží a večer po celodenní šichtě zmožený fyzickou prací spěchám domů. Všichni vědí, že tak to není. Co vlastně dělá takový datový skladník a k čemu ve skutečnosti tedy slouží datový sklad? Samotný pojem "datový sklad" je lehce zavádějící.


Datový sklad není sklad dat
Slovo sklad v běžném jazyce se používá pro označení místa, kam se věci dávají, aby se neztratily, nezkazily, nezmokly a aby se našly v pravý čas. Příhodná místa jsou na půdě, ve sklepě, v komoře nebo někde, kam se moc často nechodí, kde je (aspoň zpočátku) dost místa a kam nezatéká. Datový sklad pak evokuje podobnou představu - archivaci dat, když už se nevejdou na disky operativních systémů.

Skutečný sklad, tak jak jej používají třeba distribuční firmy, však slouží k jinému účelu - zboží v něm pobývá naopak velmi krátkou dobu, je srovnáno tak, aby se rychle našlo to, co se hledá a aby se takové zboží pak k zákazníkovi dostalo co nejrychleji. Úloha datového skladu je podobná: uspořádat data tak, aby se k "zákazníkovi" dostala ta správná informace ve správný čas.

To není vždycky jednoduché. Chceme-li třeba vidět vývoj prodeje konkrétního výrobku během posledních tří let po měsících, může to prakticky znamenat projít stovky tisíc záznamů z primárních transakčních dat, filtrovat je, seskupovat a nakonec přehledně zobrazit.

Řešení datového skladu se typicky skládá z několika do sebe zapadajících komponent (viz obr. 1).

Dodavatel řešení obvykle stojí před volbou, jakého výrobce softwaru pro tu či onu komponentu zvolit. Na trhu se pohybuje mnoho dodavatelů, kteří vyrábějí specializované nástroje pro každou z komponent. V tomto článku budeme sledovat produkty, které nabízí společnost Microsoft. Téměř všechny jsou nějakým způsobem spojeny s databázovým serverem SQL server, takže začněme jím.
 


obr.1

SQL Server - databáze datového skladu
Pro uložení dat (tedy vlastní skladování) se používá relační databáze. Data jsou uspořádána v konsolidované podobě: má-li firma informace o svých zákaznících ve více různých systémech, např. v účetnictví, v malé databázi pro marketing, v excelovském listě s plány prodeje na příští rok, je snahou do databáze datového skladu umístit informace o zákaznících na jedno místo a vyloučit tak duplicity i případné dvojznačnosti. Současně je třeba vhodným způsobem pečovat o historii dat, v budoucnu můžeme chtít analyzovat prodej konkrétnímu zákazníkovi ale i do konkrétního regionu. Když se třeba zákazník Novák přestěhuje z Prahy do Plzně, pro každý výkaz se uplatní jiná skupina transakcí.

Databázových serverů je dnes k dispozici velké množství. Microsoft nabízí SQL server, v současnosti je nejaktuálnější verze 2000 se servisním balíčkem SP2 (verze 8.00.534). Z hlediska typických nároků datových skladů obsahuje zajímavé vlastnosti jako je partitioning tabulek, materializované (indexované) pohledy, bitmapové indexy, škálovatelnost až do 64GB operační paměti.

DTS - datová pumpa
Data v databázi datového skladu jsou většinou uložena ve třetí normální formě, na rozdíl od primární systémů však udržují historii a obsahují další metadata, např. o systému odkud pocházejí, o datu, kdy byla přenesena do datového skladu nebo o procesu, který tento přenos provedl. Pro plnění datového skladu se používají datové pumpy, nebo obecněji nástroje ETL (Extraction, Transaction, Loading). Těchto nástrojů je na trhu opět celá řada, v různých cenových kategoriích. Ve skutečnosti si takovou datovou pumpu může programátor napsat úplně sám, ale v reálných projektech je vždy lepší využít hotový produkt. A ve velkých projektech datových skladů to mohou být nástroje v ceně miliónů korun nebo dolarů.

Microsoft dodává jako součást SQL serveru ETL nástroj s označením Data Transformation Services. V něm pak datový "pumpař" vytváří jednotlivé "balíčky" (DTS packages). Každý balíček obsahuje definice připojení ke zdroji a k cíli, definice transformačních úloh a jejich pravidel (DTS tasks) a předpis toho, v jakém pořadí mají jednotlivé úlohy provádět (workflow). Právě workflow je velmi silná možnost balíčků DTS, neboť umožňuje nastavit logiku datové transformace. Například po úspěšném zkopírování nových dat z primárního systému do datového skladu chceme provést další operace nad těmito daty, ale když operace selže (je-li primární systém mimo provoz nebo jsou-lidata v jiné struktuře), systém bude informovat správce.

Datové pumpy jsou tím nejobtížnějším místem celého projektu datového skladu. Vybudování ETL vrstvy obvykle zabere 60-80 % času a nákladů celého projektu a výsledek této práce je bohužel viditelný obvykle pouze tehdy, když se v ní vyskytnou nějaké chyby.

Pro přenos dat z primárních systémů se někdy volí jakési "meziúložiště", další relační databáze, obvykle označovaná jako "staging" vrstva. To je vhodné zvláště tehdy, když primární systém je dostupný pro čtení dat pouze po omezenou dobu, nebo jsou data uložena v textových souborech a my je chceme co nejrychleji dostat do relační databáze, abychom s nimi mohli dál pracovat.

Datamarty
V linii, kterou sledujeme - primární zdroje, ETL, staging vrstva, ETL, datový sklad - je dalším okračování datamart. Je-li datový sklad místem, kde jsou data uspořádána a připravena k expedici, je datamart místem, kam si pro ně chodí "zákazníci". Tedy jakýmsi specializovaným tržištěm, kde si každý koupí přesně ta data, která pro své analýzy, reporty nebo otázky potřebuje. Datamart může být tvořen relační databází s tabulkami ve třetí normální formě, do které se přistupuje přímo z klientských aplikací, nebo tabulkami v dimenzionálním modelu (star schema nebo snow-flake schema), které slouží jako datový zdroj pro kostky OLAPu.

Microsoft SQL server 2000 nabízí velmi zajímavou možnost výstupu dat ve formátu XML. SQL dotaz, který posíláme vůči relační databázi, vrací výsledek nikoli ve formátu množiny řádků (rowset), ale jako výstup v textovém XML řetězci. V integraci s internetovým serverem IIS, pak lze velmi jednoduše realizovat výstup z relačního datamartu na firemní intranet, nebo i ven směrem na internet.

OLAP
Pro analýzy dat je hvězdicové schéma výhodnější než klasické E-R uspořádání. Při velkém množství dat však vyhodnocování dotazů trvá velmi dlouho, a je proto vhodné vytvořit agregace, tedy data nějakým způsobem připravit, aby odezva byla v odpovídající době. Podle průzkumů dotazy, na které odpověď přijde za více než dvacet sekund, vedou uživatele buď k tomu, že přejde k jiné činnosti, začne mačkat Ctrl-Alt-Delete v naději ve zlepšení, nebo, a to je stejně tak špatné, zapomene proč ten dotaz vlastně položil a ztratí nit své analýzy.

OLAP databáze (On Line Analytical Processing) ukládají data jiným způsobem než relační databáze, předpočítávají agregace a ukládají je do struktur, tzv. kostek. Takové struktury mohou mít formu agregačních tabulek přímo v relační databázi, pak mluvíme o tzv. ROLAPu (relational OLAP), nebo vlastních proprietárních souborů, pak se jedná o MOLAP (multidimensional OLAP). HOLAP (hybrid OLAP) je střední cestou, kdy data zůstávají v relační databázi a zvlášť jsou uloženy agregace a metadata.

Kromě agregace dat je obrovskou výhodou OLAP databází možnost definice tzv. vypočítaných ukazatelů (calculated measures). Představme si situaci, kdy chceme analyzovat průměrnou cenu prodejů a v datovém skladu uchováváme pro každou transakci dva ukazatele: cenu a množství. Hodnota, která nás zajímá je jejich podílem, ale to platí pouze u jednotlivé transakce. Budeme-li hledat průměrnou cenu pro jeden produkt za jeden měsíc, musíme sečíst cenu a množství pro všechny transakce, které tomuto produktu odpovídají za daný měsíc a tato dvě čísla potom vydělit. Budeme-li hledat průměr za celý rok, množství transakcí, které musíme vzít do úvahy, je větší. Vypočítané ukazatele takovou záležitost zjednodušují: definujeme průměrnou cenu jako podíl ceny a množství jenom jednou a o tom, jaké množství dat se při výpočtu použije, si rozhodne server OLAPu sám.

Microsoft Analysis Services jsou nástrojem OLAPu, který se dodává společně s SQL serverem. Jde o velmi dobrý nástroj podporující všechny tři režimy uložení dat: MOLAP, ROLAP i HOLAP. Pokud jde o škálovatelnost, výkon Analysis Services není špatný, na projektech pracujeme s kostkami o velikosti desítek GB, Microsoft v projektu T3 prokázal, že lze do uspořádání MOLAP umístit data, které v primárním systému zabírají 1 Terabyte. To je pozitivní zpráva pro firmy, jejichž data jsou v řádu daleko menším, i kdyby se jejich operace zdesetinásobily, firemní řešení využívající Analysis Services stále ještě bude stačit.

Klientské aplikace
Analysis Services i SQL server obsahují nástroje, kterými lze k datům přistupovat. Ale ať už to je Browser v Analysis Manageru, nebo Query Analyzer pro SQL server, jsou to nástroje, které vyžadují určitou znalost technologií, a jsou tedy určeny spíš programátorům než běžnému uživateli. Ten většinou chce jen ten "svůj" report, a jen málo z uživatelů provádí sofistikované analýzy. Pro obě skupiny však existují nástroje, ať už pro reporting nebo pro analýzu. Opět to mohou být nástroje třetích stran, které umějí přistupovat k SQL a Analysis Serveru, nebo lze použít standardní Excel, který od verze 2000 dokáže použít kostku OLAPu jako zdroj pro kontingenční tabulku. Nástrojem pro analýzu pak může být Microsoft Data Analyzer. Jiným velmi dobrým nástrojem optimalizovaným pro prostředí MS SQL je systém ProClarity stejnojmenné americké společnosti, ten však není přímo od společnosti Microsoft.

Nástroje
V tomto článku jsem pro každou z vrstev datového skladu uvedl, že nástrojů, které mohou pomoci je celá řada. Zde jsem uvedl především ty, které dodává Microsoft. Na našich projektech používáme široké portfolio databázových technologií a nástrojů. Jak již bylo, uvedeno jejich výběr je dán rozsahem a komplexností projektu, rozpočtem, ale i preferencí zákazníka. Informace o dalších produktech, stejně jako popis vlastností SQL serveru, čtenář najde na stránkách www.adastra.cz.

Co dál?
V článku, který pojednává o datových skladech, by neměla chybět otázka: K čemu to všechno? Odpověď není triviální - kdybychom měli neomezeně rychlé počítače, datové sklady vlastně nepotřebujeme. Data už totiž máme v primárních systémech, všechno to pumpování, agregování, filtrování a čištění dat, to vše se dá popsat nějakými metadaty, takže primární data a metadata popisující, co s nimi, nám musejí stačit. Tak to je, jenže naše počítače jsou konečné a v reálné situaci se bez toho všeho pumpování, čištění, filtrování a agregování neobejdeme. Zatím ne. Jak tomu bude v budoucnosti, o tom můžeme jen snít.

Pozn. red.: Autor článku pracuje ve společnosti Adastra, která patří mezi přední dodavatele řešení datových skladů a business intelligence.

CRM v Roche Diagnostics
Společnost Roche patří mezi 10 největších farmaceutických společností na světě. Zaměstnává více než 60 000 lidí a prodává své výrobky ve 150 zemích světa. Divize Roche Diagnostics se sídlem v Manheimu je světová jednička ve zdravotnické diagnostice. Poskytuje řešení pro bio-medicínský výzkum, laboratorní diagnostiku a monitorování zdravotního stavu.

V divizi Roche Diagnostics právě probíhá projekt budování komplexního systému CRM. Ten má několik modulů: hlavním je operativní část CRM, ve které se sledují aktivity spojené s poskytováním služeb zákazníkům. Jde o servis laboratorních přístrojů, od požadavků přicházejících na Call centrum až k evidenci času a nákladů, které spotřebuje zásah servisního technika přímo u zákazníka. Dalším je modul pro určování cen (Pricing and Configuration), v němž se stanovují a udržují ceny a slevy jednotlivých produktů pro konkrétní zákazníky. Posledním modulem je analytická část CRM. Ta umožňuje analýzu servisních nákladů, analýzu prodejních dat přicházejících z primárního ekonomického systému a komplexní pohled na zákazníka, společný pro všechny divize firmy.

Technickým garantem řešení posledně jmenované analytické části je společnost Adastra, která má na starosti metodický návrh řešení a zejména pak vlastní realizací na platformě Microsoft.

Jak řešení v Roche Diagnostics vypadá? Relační databáze jsou umístěny na Microsoft SQL serveru 2000, hlavní databáze datového skladu má velikost 18 GB, v dalších databázích jsou struktury datových tržišť pro kostky Analysis Services a relační datamart pro přímý výstup na intranet. Největší kostky mají velikost do 2 GB, pro jejich analýzu pokročilí uživatelé používají klienta ProClarity, standardní reporty jsou přístupné přes webovou aplikaci. K potřebným datům se tak obchodní zástupce může dostat odkudkoli, protože připojení k firemnímu intranetu mu zajišťuje mobilní telefon.

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

HPE přináší průlomové řešení pro ukládání dat a doplňuje tak služby HPE GreenLake

HPE GreenLakeSpolečnost Hewlett Packard Enterprise (HPE) představila inovace, které transformují úložiště HPE Storage v softwarově definovanou datovou službu. V rámci tohoto oznámení uvádí HPE platformu, jež naplňuje vizi Unified DataOps pro datová prostředí současnosti, přináší cloudový model provozu všude tam, kde se data nacházejí, a sjednocuje datové operace.

Časopis IT Systems / Odborná příloha Archiv časopisu IT Systems
IT Systems 4/
IT Systems 3/
IT Systems 1-2/
IT Systems 12/
Oborové a tematické přílohy
příloha #1 4/
příloha #1 3/
příloha #1 1-2/
příloha #1 12/
Kalendář akcí
Helios
- inzerce -