|
Datový sklad není statické úložiště dat. Data do něho přicházejí z různých zdrojů, transformují a ukládají se. ETL (Extract Transform and Load) nástroje jsou hnacím motorem těchto procesů. Zajímavá a důležitá data ve firmě bývají uložena v různých formátech: v Excelu, textovém souboru, databázi, CRM, …. Efektivní integrace dat, která leží „všude možně“, je základem systémů pro podporu rozhodování. Schopnost získat z takto různorodého a rozsáhlého množství dat důležité informace, na které se dá spolehnout, je stále důležitější.
SQL Server 2005 Integration Services jsou nástrojem, který vám umožní tato heterogenní data napříč společností získat, transformovat je do potřebné podoby, zkontrolovat a nahrát do nějaké databáze (datového skladu).
SSIS obsahují komponenty pro čtení a čištění dat ze známých datových zdrojů (SQL Server, ORACLE,…), podporu vlastních datových zdrojů (pokud k nim existuje OLE DB, ADO.NET driver), komponenty text miningu. S takto různě získanými daty pak lze pracovat nezávisle na tom, odkud pochází, spojovat je a transformovat dle potřeby a ukládat do různých cílů. SSIS eliminují (nebo alespoň minimalizují) nutnost meziukládání dat (stagingu).
SQL Server 2005 Integration Services (zdroj: Microsoft)
Datové zdroje a cíle
SSIS podporují veliké množství datových zdrojů, ze kterých jsou schopny čerpat data, a cílů, kam tato data umí nahrávat. SSIS podporují datové zdroje od textových souborů (CSV, konstantní délka sloupečků), souborů Excelu, XML až po libovolné OLE DB či .NET Framework datové zdroje.
Podpora datových zdrojů a cílů je tak široká, že se dá říci, že SSIS jsou schopny integrovat téměř všechna vaše data. Načtená data z různých datových zdrojů jsou převedena do stejného formátu okamžitě po načtení a je jedno, z jakého datového zdroje pochází.
Transformace
Data tečou z datového zdroje, po cestě na nich mohou být vykonávány různé kontroly či transformace a na závěr jsou data uložena do datového cíle. SSIS se snaží tam, kde je to možné, provést v paměti všechny transformace a eliminovat tak potřebu meziukládání dat.
SSIS jsou vybaveny (oproti DTS) širokou paletou možných transformací dat. Například:
- Podmíněné rozdělení dat - Na základě definované podmínky (podmínek) lze příchozí data rozdělovat na skupiny a každou z nich třeba ukládat do jiné tabulky.
- Konverze dat - Na datech lze provádět různé konverze. (řetězec -> číslo, změna kódové stránky řetězce, …)
- Třídění dat
- Spojování dat -Data z různých zdrojů lze spojovat (JOIN, UNION)
- Odvozené sloupce -Na základě hodnot některých sloupců lze vytvářet dopočítávané nové sloupce
- Agregace
- Lookup
- Fuzzy lookup, Fuzzy grouping - „Nepřesné“ vyhledávání nebo seskupování vhodné například k seskupování dat zadaných z formulářů na WWW, kdy jednou uživatel zadá „Novak“, jindy „Novák“, „novak“, „NOVAK“, …
Příklad toku dat v SSIS balíčku:
Integration Services: příklad toku dat v balíčku SSIS
V textovém souboru se nacházejí nějaké informace o knihách (23 záznamů). Textový soubor je psán ručně a mohou se v něm vyskytovat překlepy. Zkusíme vyhledat, zda název knihy již máme v DB (3 odpovídající záznamy). Těm přiřadíme nový sloupec důvěryhodnost: 100%.
Na zbylých 20 záznamů použijeme „nepřesné vyhledávání“, které nám ke každé knize přiřadí existující název knihy, který je nejvíce podobný uvedenému, a úroveň shody. V dalším kroku podle úrovně shody rozdělíme data na „nejspíše neexistující v DB“ (ta jsou uložena do zvláštní tabulky) a na „velmi pravděpodobně existující v DB“ (ta jsou spojena s 3mi 100% správnými záznamy) a dále zpracována.
Balíček je právě debugován. Zelené úkoly již úspěšně proběhly, žluté jsou právě prováděny, bílé stále na provedení čekají.
Načítáním dat z datových zdrojů, jejich transformace a ukládání do cílů výčet možných úkonů SQL Server Integration Services zdaleka nekončí. Pomocí SSIS lze dále například:
- Spouštět ActiveX skripty
- Spouštět procesy systému
- Dotazovat se do data miningového modelu
- Stahovat a nahrávat soubory z FTP serveru
- Posílat emaily pomocí SMTP serveru
- Procesovat OLAP databáze (i části)
- Spouštět metody nějaké webové služby
- Přenášet objekty SQL serveru mezi SQL servery
- Kopírovat, přesunovat a mazat soubory a adresáře
Dále Integration Services podporují vytváření cyklů typu for a foreach.
Všechny tyto úkoly pak lze spojovat do komplikovanějších workflow.
Plán údržby
SSIS obsahují dále úlohy pro správu a údržbu databází SQL Serveru. Umožňují například:
- spouštět libovolný SQL kód
- zálohovat databáze
- kontrolovat integritu databází
- znovuvytvoření nebo reorganizaci indexů
- shrink databáze
- update statistik
Lze vytvářet balíčky, které se starají o kompletní údržbu databázového serveru.
Závěr
SQL Server 2005 Integration Services (SSIS) jsou nástupcem služby SQL Server 2000 Data Transformation Services (DTS). Integration Services byly kompletně přepracovány a výrazně rozšířeny. SSIS jsou velmi silným nástrojem srovnatelným s ostatními ETL nástroji a jsou vhodné pro nasazení do téměř jakékoliv situace, kdy je třeba netriviálním způsobem pracovat s daty.
Ne všechny úkony starších DTS balíčků lze plnohodnotně převést do SSIS. Zpětná kompatibilita je zajištěna tím, že SSIS obsahují i starý engine pro DTS balíčky, a to, co nelze převést, lze spustit pomocí tohoto engine. Je tedy možné spouštět staré DTS balíčky, ale obecně se doporučuje jejich redesign.
http://www.microsoft.com/technet/prodtechnol/sql/2005/intro2is.mspx
http://msdn2.microsoft.com/en-us/library/ms170843.aspx
(zdroj: Microsoft)
|