SSIS | Integration Services pro začátečníky – Úvod, BIDS, Project, Package, SSIS Toolbox

Poslední aktualizace:

Tento článek slouží jako seznámení se SQL Server Integration Services (SSIS) pro SQL Server. Obsahuje úvodní představení této komponenty a budu zde udržovat odkazy na další články.

SQL Server je většinou obecně chápána zejména jako databázová platforma obsahující silný database engine a klienta – Management Studio pro práci s databázemi. Stejně jako u řady jiných SW existuje řada edic, z nichž některé jsou přístupné s určitými omezeními zdarma – SQL Server Express nebo Developer edice.

Pravdou však je, že SQL Server toho nabízí mnohem více. Kromě výše zmíněného podporuje Business Intelligence prostřednictvím komponent SQL Server Integration Services (SSIS) a SQL Reporting Services (SSRS).

K čemu se SSIS používá a proč vlastně existuje?

Jak jsem již zmínil, tak SSIS je jakousi nadstavbou databázové platformy v rámci SQL Server. Představme si prostředí typu datový sklad nebo datamart.

Datové sklady – připomenutí

Datový sklad je centralizované úložiště, ve kterém se nacházejí informace (data) z celé firmy a tyto informace jsou uloženy v takové formě, ve které se dají jednoduše a srozumitelně reportovat. Datové sklady obsahují většinou historický kontext.

Z toho vyplývá, že datové sklady maji oproti databázi pro aplikace významná specifika.

  • Zpracovávají data z mnoha podnikových systémů
  • Data jsou před uložením do Datového skladu transformována (konvence pojmenování, transformace do vhodného schématu, atp.)
  • Data jsou historizována – aplikace obsahuji aktuální stav, data warehouse obsahuje i historické verze daného záznamu
  • Řádově větší objemy dat
  • Data jsou procesovány do skladu hromadně mimo business hours – obvykle denně v noci

Vzhledem k výše popsanému je jasné, že abychom byli schopni všechna tato data automaticky a pravidelně (denně) efektivně zpracovávat, potřebujeme k tomu nástroj. A přesně za tímto účelem SSIS existuje.

SQL Server Integration Services (SSIS) – Představení, ETL procesy

SSIS je komponenta, která umožňuje vytvářet efektivně datové integrace. V rámci těchto integrací hovoříme o tzv. ETL procesech:

  • Extract – extrakce dat ze zdrojového systému
  • Transform (transformace dat) – Data v centrálním úložišti by měla mít striktní pravidla co se týče struktury objektů, pojmenování a archtektury
  • Load – Nahrání dat do cílového úložiště

Datové integrace vytváříme pomocí tzv. SSIS balíčků (packages). Tyto balíčky mají extension .dtsx a každý balíček obsahuje určitou logiku. Můžeme mít například zvláštní balíček pro jednotlivé fáze ETL procesu, anebo můžeme v rámci jednoho balíčku pokrýt fáze všechny. To je na nás jak si strukturu navrhneme tak, aby bylo co nejpřehlednější. Ve větších prostředích se udržují stovky SSIS balíčků a vhodná logická struktura a pojmenování je důležité klíčové pro přehlednost.

SSIS package vytváříme ve speciálním programu BIDS – Business Intelligence Development Studio. Pro tool nově existuje ekvivalentní název SSDS (SQL Server Data Tools)

BIDS/SSDS – Business Intelligence Data Studio (SQL Server Data Tools) a SSIS

Je software, který je podobný Visual studiu a jeho instalaci lze zvolit při instalaci SQL Server. Obsahuje sadu nástrojů pro vývoj reportů a SSIS balíčků. Vývoj s tímto programem je poměrně jednoduchý a intuitivní. Není potřeba programování, protože obsahuje grafický interface.

SSDS si můžete nainstalovat dodatečně (Visual studio není potřeba) – SQL Server Data Tools (SSDT) for Visual Studio

Pro vytvoření prvního SSIS balíčku stačí jen spustit program a založit si Integration Services Projekt. Pod projektem si založít nový package a začít tvořit.

Integration services new project

Po založení SSIS projektu je automaticky založen první balíček

ssis package

Co vidíme? Popis SSIS prostředí Business Intelligence Development Studia (BIDS)

Pokud vidíte takový obrázek po otevření prvního projektu poprvé, tak se vám asi může zatočit hlava, protože nevíte co a jak. Není to ale vůbec složité a je potřeba se s nástrojem jen seznámit.  Co vidíme na screenshotu si pojďme popsat.

Solution Explorer

V pravé horní části vidíme náš projekt, který jsem pojmenoval jako “ssis_test”. V rámci tohoto projektu vidíme i SSIS package, který se automaticky zakládá s pojmenováním “package” – lze jej přejmenovat. Vidíme tam toho ale více, takže postupně

  1. Project params – zatím v začátcích nebudeme potřebovat, ale jde o parametry, které můžeme definovat na úrovni projektu a následně si je přebrat do packages. Jedná se o globální parametr
  2. Project Connection managers – Zde si definujeme připojení na různé sources a destinations (např zdroj je Mysql databáze a destination SQL Server)
  3. SSIS Packages – Zde vidíme jednotlivé balíčky, většinou v rámci jednoho projektu združujeme desítky/stovky balíčků podobného charakteru

SSIS balíček a pracovní prostředí BIDS/SSDS

Opusťme nyní část Solution Explorera a soustřeďme se na prostřední část obrazovky. Stále máme otevřen automaticky založený SSIS balíček pojmenovaný “Package”.

  • Package Connection manager – Zkušenému oku neuniklo, že pokud máme otevřený package, tak nad balíčkem vidíme connection managera a variables. Je to z toho důvodu, že ne vždy chceme mít definovánu connection nad projektem, ale někdy připojení chceme mít nad balíčkem.
  • Package Variables – Proměnné, které mají scope pouze na balíček, projekt na ně nevidí. Do variables si můžeme ukládat různé pomocné vypočítané proměnné (lze si je přebrat i z externího zdroje) a tyto proměnné potom předat SSIS komponentám (viz dále).
  • SSIS Toolbox – v levé části pracovní plochy vidíme SSIS toolbox. Ten obsahuje sadu komponent, která slouží k vývoji samotného balíčku (stažení dat, transformace a nahrání dat do cílového úložiště). Jednotlivé komponenty potažením myší přetahujeme do části controll flow a následně je nastavíme jak potřebujeme. Komponenty lze skládat za sebe “špagetovým systémem”, to znamená že se pak pouští postupně za sebou. Pro zajímavost se můžete podívat na článek SSIS Connection Manager + Příklad Jednoduché Datové Pumpy (screenshot je z článku).

Data flow task SSIS

Pokud se chcete s SSIS toolboxem seznámit podrobněji, tak doporučuji článek – SSIS Toolbox – Seznam všech komponent a tasků. V článku najdete seznam toho, co toolbox obsahuje a přejetím myši nad nějakou komponentu se s ní můžete seznámit.

Poté co je SSIS balíček vytvořen jen můžeme nahrát přímo na SQL server a prostřednictvím SQL agenta jej automaticky spouštět (třeba každý den). Tím docílíme automatizace celého procesu o který se již dále nemusíme starat.

Do budoucna bych chtěl jednotlivé komponenty rozpracovat formou SSIS tutoriálů i s příklady.

SSIS | Integration Services pro začátečníky – Úvod, BIDS, Project, Package, SSIS Toolbox
5 (100%) 1 vote[s]

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Category: SSIS - Integration Services

About Ing. Jan Zedníček - BI Developer, Finance controller

Jmenuji se Honza Zedníček a nejčastěji se se mnou v civilu můžete potkat v kancelářích Kentico Software v Brně, kde působím jako BI Developer. Částečně pracuji také jako freelancer. Tuto práci dělám pro různé firmy již přes 5 let, ale Kentico je moje srdcovka ♡. Před tím jsem pracoval jako finanční controller třeba v Aero Vodochody a Sberbank nebo jako manažer dluhopisového programu v investiční skupině Unicapital. Po práci si rád zahraju tenis, volejbal, šachy, zajdu do posilovny a rád ochutnávám dobré rumy. Svoje znalosti se snažím zapisovat na tento web - abych je nezapomněl (působením rumu ^^) a sloužily i někomu dalšímu. Nebojte se položit dotaz nebo reagovat do komentáře. Přihlašte se do naší nové Excel facebook skupiny Excel CZ/SK diskuse »

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.