Introducción a SSIS con Biml

Post on 07-Dec-2014

162 views 2 download

description

¿Te encuentras repitiendo los mismos pasos una y otra vez durante el proceso de desarrollo de ETL? BIML nos ayuda a automatizar patrones de Inteligencia de negocio y reduce la repetición manual que consume la mayor parte de su tiempo de desarrollo. En esta sesión aprenderemos los fundamentos del BIMLScript y mostraremos los beneficios de la creación de patrones de diseño para la automatización de los procesos de SSIS.

transcript

Introducción a SSIS con Biml15 de Octubre (12 pm GMT -

5)Guillermo CaicedoResúmen:

En esta sesión aprenderemos los fundamentos del BimlScript y mostraremos los beneficios de la creación de patrones de diseño para la automatización de los procesos de SSIS.

Próximos Eventos

Escalando con SQL Server hasta la nube, un trayecto necesario29 de OctubreAdrián Miranda Cordero

Recuperación de desastres y soluciones de alta disponibilidad con SQL Server

12 de NoviembreMichelle Gutzait

Creando Reportes personalizados en ERP - MS Dynamics AX 2012 y SQL Server 201222 de Octubre

Juan Manuel Rafael Fabián

Está por comenzar:

Introducción a SSIS con Biml</>

15 de octubre de 2014

Guillermo CaicedoConsultor | Nagnoi, LLCPresidente, Puerto Rico PASSguillermo.caicedo@sqltitan.com@sqltitan

www.prpass.orgwww.facebook.com/prpasswww.twitter.com/prpass

Agenda

- Introducción- ¿Biml?- Sintaxis Básico- BimlScript

Introducción

“Gran porcentaje de los proyectos de inteligencia de negocios fracasan.”

Gartner - http://www.gartner.com/newsroom/id/492112

“Existe frustración en el lado del negocio que no obtenemos valor lo suficientemente rápido.”

David Stodder (TDWI)

http://www.searchdatamanagement.techtarget.com/news/2240225751/Agile-data-warehousing-casts-business-light-on-dark-process

“Una de las razones es el entendimiento de los esfuerzos de la etapa de ETL.”

Kimball: 70% del tiempo de construir un DW esta en el ETLhttp://www.informationweek.com/the-38-subsystems-of-etl/55300422

Flujo de datos en un DW

Data Sources

Staging Area

Manual Cleansing

Data Marts

Data Warehouse

Client Access

Iterativo

Introducción

Una gran cantidad de paquetes de SSIS son muy similares• paquetes para carga de archivos planos• paquetes para actualización de dimensiones• paquetes para carga de fact tables• …

• … pero toman una gran cantidad de tiempo para crear

¿Que soluciones tenemos?

reutilización de código• SSIS básicamente solo soporta copy/paste• copy/paste a mejorado grandemente desde SQL 2012

• patrones de diseño• ejemplo: paquete de carga incremental• SQL Server 2012 Integration Services Design Patterns

• creación de plantillas• construcción de un paquete que sirva como plantilla• sálvalo en C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\

PrivateAssemblies\ProjectItems\DataTransformationProject\DataTransformationItems

• pero sigue siendo requerido el editar cada uno de los paquetes• (q pasaría si se nos olvida editar una parte crucial del proceso?)

Desarrollo basado en metadata

primera opción: paquete de SSIS dinámico1. lee la metadata de unas tablas2. genera el código• usualmente genera T-SQL o comandos bcp• utiliza T-SQL o C#• ejemplo: SELECT … INTO

3. itera sobre el código generado4. ejecuta cada consulta

desventajas• complejidad de los proyectos• no se utiliza el poder de SSIS• no hay paralelismo• dificultad para el manejo de errores• dificultad para incorporar “lógica de negocio”

¿Biml?

segunda opción: • Biml es un lenguaje basado en XML (lenguaje de marcas

extensible) y un compilador• Traduce metadata a soluciones de inteligencia de negocio para SQL Server• soporta objetos de SSIS y SSAS• Desarrollado por Varigence• http://www.varigence.com• http://www.bimlscript.com• MIST: versión completa y comercial de Biml

BIDS Helper

BIDS Helper contiene la versión open source de Biml• add-on gratis! para Visual Studio• esta disponible para las versiones SSIS 2005, 2008, 2008R2, 2012 (y 2014?)• soporta funcionalidades limitadas a la creación de paquetes de SSIS

¿que nos ofrece Biml?• poderosa herramienta de generación de código• reutiliza patrones y componentes de BI• crea tu patrón en Biml y genera todos tus paquetes con la misma estructura y consistencia

• lenguaje de programación basado en .NET• código de C# puede incorporarse a un script de Biml para generar objetos basado en metadata

• ¿No le gusta Biml?• Los paquetes generados son paquetes de SSIS comunes, pueden editarse con las misma

herramientas BIDS/SSDT/SSDTBI

Estructura básica de un script de Biml

Biml

Connections

FileFormats

Packages

Tasks

Containers

Tasks

Dataflow

Precedence constraintsTransformations

Sintaxis Básica

BIML Tags (Root Node)<Biml xmlns="http://schemas.varigence.com/biml.xsd"></Biml>

Add Connections<Biml xmlns="http://schemas.varigence.com/biml.xsd"><Connections><Connection Name=“DataConnection" ConnectionString="Data Source=.\sql2012;Initial Catalog=Northwind;Provider=SQLNCLI10.1;Integrated Security=SSPI; " /></Connections></Biml>

Add Packages<Biml xmlns="http://schemas.varigence.com/biml.xsd"><Connections><Connection Name=“DataConnection" ConnectionString="Data Source=.\sql2012;InitialCatalog=Northwind;Provider=SQLNCLI10.1;Integrated Security=SSPI; " /></Connections><Packages><Package Name=“BIMLIntroduction" ConstraintMode=“Parallel” ProtectionLevel=“DontSaveSensitive“/></Packages></Biml>

13

Modos de restricción (Constraint Modes)

Paralelo (Parallel)• No crea restricciones de precedencia• Todos los elementos tienen que conectarse utilizando el Tag de

PrecedenceConstraints

Lineal (Linear) • Automáticamente conecta todos los componentes en el orden de

creación• Todos los elementos se conectan a su precedencia con el tipo de

conexión “SuccessFull”

demo

Paquete de Carga Incremental

Source

Correlate

Filter

Updates Stage

Destination

Fuente - Stairway to BIML: http://www.sqlservercentral.com/articles/BIML/101330/

demo

BimlScript

Permite insertar código de C# o VB.Net en los scripts de Biml

Automatiza el trabajo repetitivo en scripts reutilizables

Sintaxis:Directivas

Template – indica que el archivo de BimlScript utiliza C# como lenguaje de programación.<#@ template language="C#">

Import – especifica los namespaces de .Net que se deben importar para el archivo.<#@ import namespace="System.Data" #>

Delimitadores

Delimitador

Descripción

<# Define bloques de código de .NET y provee el control del flujo de un archivo de Biml.

<#= Evalúa un bloque de código de .NET, convierte el resultado en un string, y lo inserta en el archivo de Biml.

<#+ Define propiedades, métodos y archivos que están excluidos del archivo de Biml pero pueden accederse por otros bloques de código BimlScript.

demo

Referencias

Biml• Varigence

http://www.varigence.com/Products/Biml/Capabilities• BimlScript

http://bimlscript.com/• BIDS Helper on Codeplex

http://bidshelper.codeplex.com/

Blogs• Stairway to Biml by Andy Leonard

http://www.sqlservercentral.com/stairway/100550/• BIML articles by Joost van Rossum

http://microsoft-ssis.blogspot.be/search/label/BIML• BIML articles by Marco Schreuder

http://blog.in2bi.eu/tags/biml/• BIML articles by John Welch

http://agilebi.com/jwelch/tag/biml/• Introduction to Biml part I by Koen Verbeeck

http://www.mssqltips.com/sqlservertip/3094/introduction-to-business-intelligence-markup-language-biml-for-ssis/

Manténgase conectado a nosotros!

Visítenos en http://globalspanish.sqlpass.org

/SpanishPASSVC

lnkd.in/dtYBzev

/user/SpanishPASSVC

/SpanishPASSVC

Planning on attending PASS Summit 2014?

• The world’s largest gathering of SQL Server & BI professionals

• Take your SQL Server skills to the next level by learning from the world’s SQL Server experts, in 190+ technical sessions

• Over 5000 attendees, representing 2000 companies, from 52 countries, ready to network & learn

When registering use the code VCSUM17 to save $150 off registration!

$2,095UNTIL OCTOBER 31,

2014

Outstanding Volunteer Award

Do you know a volunteer that has gone above and beyond recently?

Nominate them for the monthly OVA.

VolunteerRecognition@sqlpass.org

PASS Volunteer Awards

PASSion AwardThe highest of PASS accolades

presented yearly to a volunteer.

Manténgase involucrado!• Registrate HOY en sqlpass.org para una membresia gratuita

• Linked In: http://www.sqlpass.org/linkedin• Facebook: http://www.sqlpass.org/facebook• Twitter: @SQLPASS• PASS: http://www.sqlpass.org

Creando Reportes personalizados en ERP - MS Dynamics AX 2012 y SQL Server 2012

22 de Octubre (12 pm GMT -5)

Juan Manuel Rafael FabiánResúmen:En esta sesión se mostrara como podemos maximizar las bondades de SSRS de SQL Server 2012 para obtener reportes para las empresas a través de un ERP de clase mundial.

Próximo Evento