introducción a ssis con biml

24
Introducción a SSIS con Biml 15 de Octubre (12 pm GMT - 5) Guillermo Caicedo Resú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 necesario 29 de Octubre Adrián Miranda Cordero Recuperación de desastres y soluciones de alta disponibilidad con SQL Server 12 de Noviembre Michelle Gutzait Creando Reportes personalizados en ERP - MS Dynamics AX 2012 y SQL Server 2012 22 de Octubre Juan Manuel Rafael Fabián Está por comenzar:

Upload: spanishpassvc

Post on 07-Dec-2014

162 views

Category:

Technology


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

Page 1: Introducción a SSIS con Biml

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:

Page 2: Introducción a SSIS con Biml

Introducción a SSIS con Biml</>

15 de octubre de 2014

Guillermo CaicedoConsultor | Nagnoi, LLCPresidente, Puerto Rico [email protected]@sqltitan

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

Page 3: Introducción a SSIS con Biml

Agenda

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

Page 4: Introducción a SSIS con Biml

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

Page 5: Introducción a SSIS con Biml

Flujo de datos en un DW

Data Sources

Staging Area

Manual Cleansing

Data Marts

Data Warehouse

Client Access

Iterativo

Page 6: Introducción a SSIS con Biml

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

Page 7: Introducción a SSIS con Biml

¿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?)

Page 8: Introducción a SSIS con Biml

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”

Page 9: Introducción a SSIS con Biml

¿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

Page 10: Introducción a SSIS con 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

Page 11: Introducción a SSIS con Biml

Estructura básica de un script de Biml

Biml

Connections

FileFormats

Packages

Tasks

Containers

Tasks

Dataflow

Precedence constraintsTransformations

Page 12: Introducción a SSIS con Biml

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>

Page 13: Introducción a SSIS con 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”

Page 14: Introducción a SSIS con Biml

demo

Page 15: Introducción a SSIS con Biml

Paquete de Carga Incremental

Source

Correlate

Filter

Updates Stage

Destination

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

Page 16: Introducción a SSIS con Biml

demo

Page 17: Introducción a SSIS con Biml

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.

Page 18: Introducción a SSIS con Biml

demo

Page 19: Introducción a SSIS con Biml

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/

Page 20: Introducción a SSIS con Biml

Manténgase conectado a nosotros!

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

/SpanishPASSVC

lnkd.in/dtYBzev

/user/SpanishPASSVC

/SpanishPASSVC

Page 21: Introducción a SSIS con Biml

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

Page 22: Introducción a SSIS con Biml

Outstanding Volunteer Award

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

Nominate them for the monthly OVA.

[email protected]

PASS Volunteer Awards

PASSion AwardThe highest of PASS accolades

presented yearly to a volunteer.

Page 23: Introducción a SSIS con Biml

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

Page 24: Introducción a SSIS con Biml

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