Aké novinky prináša SQL Server 2008 v oblasti Business Intelligence?

V predchádzajúcom článku sme si priblížili niektoré z noviniek, ktoré prináša nová verzia SQL Server 2008 v oblasti klasického relačného databázového stroja. Dnes sa pozrieme na novinky Business Intelligence.

SQL Server 2008
Väčšina analytických riešení obsahuje aj relačnú časť – tzv. relačný dátový sklad, kde sú dáta zvyčajne uložené v hviezdicovej topológii (jedna – prípadne aj viac – tabuľka faktov a viacero tabuliek dimenzií). Takáto forma usporiadania údajov je síce výhodná pre analýzu dát, ale z pohľadu efekivity ukladania dát tento spôsob nepatrí medzi najefektívnejšie, nakoľko sú údaje ukladané duplicitne. V takomto prípade nám prídu vhod dve nové vlastnosti SQL 2008 – kompresia záloh a dát v tabuľkách a optimalizácia join dotazov pri hviezdicovej topológii. Kompresia záloh je vlastnosť, ktorú môžeme samozrejme využiť aj pri klasických OLTP aplikáciach. Nielenže nám ušetrí miesto na diskoch, ale aj skráti dobu zálohovania – to všetko vďaka menšiemu počtu potrebných I/O operácií. Pri kompresii údajov v tabuľkách sa využívajú dve stratégie – kompresia na úrovni riadku a kompresia na úrovni databázovej stránky. Aj v tomto prípade je sprievodným znakom zníženia nárokov na úložný priestor skrátenie odozvy dotazov. Podpora optimalizácia join dotazov v hviezdicovom usporiadaní tabuliek (tabuľky faktov a dimenzií) je zapracovaná priamo do databázového stroja a zlepšuje výkonnosť takýchto dotazov.

Relačný dátový sklad obsahuje historické informácie spravidla niekoľko rokov dozadu, čo kladie nároky na diskový priestor a na administráciu veľkého množstva dát (zálohovanie, obnova, výkonnosť query a pod.). Jedným z najvhodnejších spôsobov riešenia takéhoto scenára je využívanie tzv. table partitioningu. SQL 2008 ide v tomto smere ešte ďalej a rozširuje table partitioning o podporu paralelných query v jednej partícii rozdelenej tabuľky.

Ďalšou novinkou, ktorú môžeme využiť pri práci s relačným dátovým skladom, je rozšírenie funkcionality klasického príkazu GROUP BY o tzv. grouping sets, čím nám vývojári Microsoft-u umožnili využívanie viacnásobného zoskupovania údajov v rámci jedného dotazu. Rovnaký výsledok síce môžeme dosiahnuť aj spojením viacerých result setov príkazom UNION ALL, ale využívanie príkazu GROUP BY a grouping sets je jednoduchšie a rýchlejšie.

Integration Services 2008
Súčasťou každého riešenia dátového skladu býva časť importovania údajov zo zdrojových transakčných systémov. SQL Server túto časť pozná ako SQL Server Integration Services (od verzie SQL Server 2005) a verzia SQL Server 2008 prináša nasledovné novinky:

Change Data Capture je úplne nová vlastnosť SQL 2008, ktorá umožňuje vývojárom jednoducho integrovať najnovšie zmeny z produkčných systémov do dátového skladu. Zmeny v dátach v produkčných systémoch sú priebežne zaznamenávané do tzv. zmenových tabuliek, odkiaľ je možné tieto údaje počas procesu importovania dát načítať. Zjednodušuje sa tým identifikácia aktualizovaných údajov a vďaka tomu, že importovací proces pristupuje k fyzicky iným tabuľkám, minimalizuje ovplyvňovanie užívateľov zdrojových systémov.

Pomocou nového SQL príkazu MERGE môžu vývojári efektívnejšie ošetriť existenciu konkrétneho záznamu z produkčného systému v relačnom dátovom sklade a na základe výsledku sa rozhodnúť, či sa daný záznam z produkčného systému vloží ako nový do dátového skladu alebo sa v dátovom sklade aktualizuje už existujúci záznam. Jedným príkazom tak nahradíme doteraz používané spôsoby používania viacerých príkazov (INSERT, UPDATE, DELETE).

Nová verzia SSIS 2008 sa vyznačuje aj zlepšenou výkonnosťou a škálovateľnosťou, čo bolo dosiahnuté zapracovaním podpory viacerých procesorov pre dátovú pipeline, čo významne urýchli proces loadovania údajov do dátového skladu. Ďalšou novinkou zlepšujúcou výkonnosť importovania dát je vlastnosť SSIS Persistent lookup. Lookup proces patrí medzi najviac využívané procesy počas importovania dát do dátových skladov, kedy sa tzv. business keys mapujú na tzv. surrogate keys. Vlastnosť SSIS Persistent lookup umožní v prípade veľkých tabuliek toto mapovanie urýchliť využívaním cache.

Počas vývoja balíkov SSIS je možné využívať aj debugger integrovaný do Business Intelligence Development Studia, pomocou ktorého je možné visualizovať práve spracovávané údaje tak, ako je to znázornené na nasledujúcom obrázku:

image1
Visualizácia importovaných údajov

Analysis Services 2008
Rovnako ako v predchádzajúcom prípade, aj Analysis Services 2008 prinášajú zaujímavé novinky v oblasti zlepšenia výkonnosti. Zrejme najväčší prínos pre užívateľov bude mať spôsob počítania agregovaných údajov – vo verzii AS 2008 sa pri spracovaní MDX skriptov vynechávajú bunky, ktorých výsledná hodnota agregácie má byť NULL. Túto optimalizačnú techniku Microsoft nazýva Block computation a užívateľom prináša možnosť rýchlejšieho analyzovania business údajov v kocke a zároveň umožňuje vytvárať hierarchie s viacerýcmi urovňami a zložitejšími výpočtami.

Aj užívatelia, ktorí využívajú možnosť úpravy údajov v kocke (tzv. Writeback), sa môžu tešiť na výrazné zlepšenie výkonnosti – v novej vezii je možné využívať MOLAP Writeback a vyhnúť sa tak potrebe zapisovať/čítať upravené údaje z ROLAP partície, čo výrazne spomaľovalo užívateľské dotazy.

Vývojárov iste zaujme aj možnosť grafického definovania vzťahov medzi atribútmi prostredníctvom nového dizajnéra:

image2 
Attribute Relationships Designer

Reporting Services 2008
Medzi novinky Reporting Services, ktoré so sebou prináša verzia 2008 a ktoré zrejme najviac potešia užívateľov, bude patriť vytváranie atraktívnejších reportov (dôsledok akvizície firmy Dundas), výrazne vylepšená integrácia reportov s aplikáciami Microsoft Office (vylepšené exporty reportov do formátu Word a Excel a ich ďalšie spracovanie), prepracovaný Report Designer (vzhľadom pripomínajúci Office aplikácie) a v neposlednom rade nový prvok na zobrazovanie dát – tzv. Tablix, čo je hybrid medzi tabuľkou a maticou. Využívaním Tablixu je možné formátovať reporty s doteraz ťažko realizovateľnými spôsobmi. Pre administrátorov sú určené ďalšie novinky – pri nasadzovaní Reporting Services do firemnej infraštruktúry už nie je nutné využívať Internet Information Services, vylepšená správu a administráciu pamäte, jednoduchšia a centralizovaná konfigurácia infraštruktúry Reporting Services, nasadzovanie reportov s využítím Internetu – to sú len niektoré vlastnosti, ktoré umožnia konsolidáciu Reporting Services infraštruktúry. Reporting Services 2008 sa vyznačujú kompletne prepracovanou architektúrou, ktorá umožňuje lepšiu škálovateľnosť a výkonnosť aj v tých najnáročnejších prostrediach – vo firemných prostrediach so stovkami používateľov a reportov so stovkami strán.

image3
Konfigurácia inštancie Report Servera

Spomínané novinky ani zďaleka nie sú jedinými, ktoré so sebou prináša nová verzia SQL Server 2008 – tých noviniek je samozrejme ďaleko viacej a dúfam, že sa s nimi budeme môcť zoznámiť bližšie neskôr v našom seriáli.

Karol Papaj
(spracované podľa www.microsoft.com/sql )