Tutorial de SQL Server Integration Services. Introducción.

Posted by Miguel Egea | Posted in SQL Server Integration Services | Posted on 02-02-2010

1

Introducción

SQL Server Integration services es un producto que viene incluido con la licencia de Microsoft SQL Server y que es la propuesta de Microsoft para lo que se llama Extracción, Transformación y Carga de datos, y yo me atrevería a decir que también para la limpieza de los mismos. Muchas veces creemos que el lenguaje obvio para hacer todas estas tareas es T-SQL, sin embargo, la experiencia me dice que cuando de lo que se trata es de consolidar información y de moverla muy rápido, nada como SSIS para resolver esa cuestión.

SQL Server Integration services es un producto en el que se desarrolla de forma muy visual, básicamente pinchando y arrastrando componentes desde la barra de herramientas hasta los lugares de diseño, cada uno de esos componentes admitirá parametrización para adaptarlo a nuestras necesidades. 

Un vistazo rápido

Para comenzar con SSIS, hemos de instalar las herramientas de Cliente de SQL Server, en ellas nos aparecera el BIDS (Bussiness Intelligence Developmen Studio),  dentro de los proyectos de Bussiness Intelligence tenemos los proyectos de Integration Services, como puede observarse en esta figura

Una vez que seleccionamos el proyecto de Integration services se nos abre un paquete en blanco. Los paquetes están separados en dos partes fundamentales, los flujos de control y los flujos de datos.

En el flujo de control especificaremos las tareas que se han de ir haciendo y las dependencias y restricciones. En esa superficie podemos colocar las tareas de flujo de datos, y dentro configurarlas para que muevan los datos de un sitio a otro.

Algunas de las tareas que podremos hacer con SQL Server Integration services de forma sencdilla serán:

  • Recorrer listas de ficheros para incorporarlos a nuestras bases de datos
  • Procesar cubos, dimensiones o ejecutar comandos XMLA
  • Insertar datos de forma masiva
  • Extraer, limpiar, transformar y cargar datos en datamarts o datawarehouses
  • Usar tareas para entender mejor como es la distribución de nuestros datos
  • Ejecutar comandos T-SQL
  • Mover, copiar o eliminar archivos
  • Obtener o poner datos en un servidor FTP
  • Leer o escribir datos en colas de Microsoft Message Queue
  • Enviar correos electrónicos con los resultados de las operaciones
  • Transferir objetos SQL
    • Logins
    • Jobs
    • Procedimientos de master
    • Objetos de servidor
  • Invocar a servicios Web XML
  • Leer datos WMI o suscribirse a eventos WMI
  • Tareas de mantenimiento de bases de datos
    • Backups
    • Chequeos de integridad
    • Tareas del agente SQL
    • Tareas TSQL
    • Limpieza de hisotircos
    • Tareas de limpieza de datos
    • Notificaciones a operadores
    • Reorganización y reconstrucción de índices
    • Purgado de bases de datos
    • Actualización de Estadisticas

Todas estas operaciones pueden realizarse en un servidor distinto de nuestros motores de bases de datos, usando al máximo los recursos de la máquina y por lo tanto con una gran capacidad de escalado y un altísimo rendimiento.

Dentro de las tareas que podremos hacer con datos en sí también podemos usar alguna de las siguientes:

  • Origenes de datos
    • Leer datos con proveedores  de datos .NET
    • Leer datos de archivos Excel
    • Leer datos de ficheros planos, estén formados practicamente como estén formados
    • Leer datos de cualquier fuente que ofrezca un proveedor OLEDB, (todos los fabricantes del mercado lo hacen)
    • Leer datos en formato “crudo” raw
    • Leer datos en formatos XML
  • Transformaciones de datos
    • Agregar información
    • Guardar y usar datos en caché para evitar leer la misma información más de una vez
    • Añadir información de traza a los datos (nombre del paquete, id de ejecución , versión, hora de comienzo…
    • Realizar transformaciones sencillas de textos (pasar a mayúsculas o minúsculas, cambiar a lenguajes chinos, disminuir tampaños,…)
    • Mandar datos a un lugar o a otro en función de valores
    • Copiar columnas
    • Convertir tipos de datos
    • Completar la información con consultas a modelos de minería de datos
    • Obtener columnas con cálculos complejos
    • Guardar o leer archivos BLOB convirtiendolos en ficheros y vicebersa
    • Usar ténicas de lógica difusa tanto para agrupados como para búsquedas
    • Combinar datos
    • Realizar Joins complejos
    • Crear copias en memoria de los datos para añadir comportamientos
    • Ejecutar comandos SQL contra conexiones oldb
    • Obtener muestreos de datos por porcenaje,
    • Conteos diversos
    • Trasposición de matrices (Pivot)
    • Ordenar
    • Extracción y busqueda de terminos
    • Asistentes para dimensiones lentamente cambiantes
  • Destino de datos
    • Escribir datos con proveedores de datos .NET
    • Escribir datos a archivos Excel
    • Escribir datos a ficheros planos
    • Entrenar modelos de mineria de datos
    • Escribir datos datos en cualquier destino que ofrezca un proveedor OLEDB, (todos los fabricantes del mercado lo hacen)
    • Escribir datos en formato crudo
    • Devolver Recorsets, y Datareaders
    • Mandar datos a SQL Server Compact

Todas estas funcionalidades se ven acompañadas además por un a gran versatilidad en la configuración, en la trazabilidad de las ejecuciones , en la firma digital de paquetes y en el uso y paso de variables para poder parametrizar adecuadamente el producto.

En resumen estamos ante un producto que ofrece un sin fín de posibilidades que iremos desgranando en los siguientes capítulos de este tutorial que nos llevará buena parte del año escribir por completo.

Comments (1)

Tres intiresno, gracias

Write a comment