Usos típicos de Integration Services
Integration Services proporciona un amplio conjunto de tareas, contenedores, transformaciones y adaptadores de datos integrados que permiten desarrollar aplicaciones de negocios. Sin escribir una sola línea de código, puede crear soluciones de SSIS para resolver problemas de negocios complejos mediante ETL y Business Intelligence, administrar bases de datos de SQL Server y copiar objetos de SQL Server entre instancias de SQL Server.
En los escenarios siguientes se describen usos típicos de los paquetes SSIS.
Combinar datos de almacenes de datos heterogéneos
Los datos suelen almacenarse en muchos sistemas de almacenamiento de datos distintos, por lo que extraer datos de todos los orígenes y combinarlos en un solo conjunto de datos coherente constituye un desafío. Esta situación puede producirse por diversas razones. Por ejemplo:
Muchas organizaciones archivan información que está almacenada en sistemas de almacenamiento de datos antiguos. Estos datos pueden no ser importantes para las operaciones diarias, pero pueden resultar útiles para el análisis de tendencias, que requiere datos recopilados a lo largo de un período prolongado de tiempo.
Las sucursales de una organización pueden usar distintas tecnologías de almacenamiento de datos para almacenar los datos operativos. Es posible que el paquete tenga que extraer datos de hojas de cálculo y de bases de datos relacionales para poder combinar los datos.
Los datos pueden estar almacenados en bases de datos que usan distintos esquemas para los mismos datos. Es posible que el paquete tenga que cambiar el tipo de datos de una columna o combinar datos de varias columnas en una sola columna para poder combinar los datos.
Integration Services puede conectarse a una gran variedad de orígenes de datos, incluso con varios orígenes en un solo paquete. Un paquete puede conectarse a bases de datos relacionales mediante proveedores .NET y DB OLE, y a muchas bases de datos antiguas mediante controladores ODBC. También puede conectarse con archivos planos, archivos de Excel y proyectos de Analysis Services.
Integration Services incluye componentes de origen que extraen datos de archivos planos, hojas de cálculo Excel, documentos XML y tablas y vistas de bases de datos relacionales desde el origen de datos al que se conecta el paquete.
A continuación, los datos se suelen transformar mediante las transformaciones incluidas en Integration Services. Cuando los datos se han transformado a formatos compatibles, pueden combinarse físicamente en un conjunto de datos.
Después de combinar correctamente los datos y aplicarles transformaciones, se suelen cargar en uno o varios destinos. Integration Services incluye un destino para cargar datos en archivos planos, archivos sin formato y bases de datos relacionales. Los datos también se pueden cargar en un conjunto de registros en memoria a los que tienen acceso otros elementos del paquete.
Llenar almacenamientos de datos y puestos de datos
Los datos de los almacenamientos de datos y los puestos de datos suelen actualizarse frecuentemente y normalmente las cargas de datos son muy grandes.
Integration Services incluye una tarea que realiza una carga masiva de datos directamente desde un archivo plano a tablas y vistas de SQL Server, y un componente de destino que realiza una carga masiva de datos en una base de datos de SQL Server como último paso de un proceso de transformación de datos.
Se puede configurar un paquete SSIS como reiniciable. Esto significa que podrá volver a ejecutar el paquete desde un punto de comprobación predeterminado (una tarea o un contenedor del paquete). La capacidad de reiniciar un paquete permite ahorrar mucho tiempo, especialmente si el paquete procesa datos de un gran número de orígenes.
Puede utilizar paquetes SSIS para cargar las tablas de dimensiones y hechos en la base de datos. Si los datos de origen de una tabla de dimensiones están almacenados en varios orígenes de datos, el paquete puede combinar los datos en un conjunto de datos y cargar la tabla de dimensiones en un solo proceso, en lugar de utilizar un proceso independiente para cada origen de datos.
La actualización de datos de almacenamientos de datos y puestos de datos puede ser compleja, ya que ambos tipos de almacenes de datos suelen incluir dimensiones variables lentas que pueden ser difíciles de administrar mediante un proceso de transformación de datos. El Asistente para dimensiones variables lentas automatiza la compatibilidad para las dimensiones variables lentas, creando dinámicamente las instrucciones SQL que insertan y actualizan registros, actualizan registros relacionados y agregan nuevas columnas a las tablas.
Además, las tareas y transformaciones de los paquetes de Integration Services pueden procesar cubos y dimensiones de Analysis Services. Cuando el paquete actualiza las tablas de la base de datos con las que se ha generado un cubo, puede utilizar tareas y transformaciones de Integration Services para procesar automáticamente el cubo y las dimensiones. El procesamiento de los cubos y las dimensiones ayuda automáticamente a mantener actualizados los datos de los usuarios de ambos entornos: los usuarios que tienen acceso a la información de cubos y dimensiones, y los usuarios que tienen acceso a datos de una base de datos relacional.
Integration Services también puede calcular funciones antes de que se carguen los datos en el destino. Si los almacenamientos de datos y los puestos de datos almacenan información agregada, el paquete SSIS puede calcular funciones como SUM, AVERAGE y COUNT. Una transformación de SSIS también puede cambiar datos relacionales y transformarlos a un formato menos normalizado pero más compatible con la estructura de las tablas del almacenamiento de datos.
Limpiar y normalizar datos
Independientemente de si los datos se van a cargar en una base de datos de procesamiento de transacciones en línea (OLTP) o de procesamiento analítico en línea (OLAP), una hoja de cálculo de Excel o un archivo, hay que limpiarlos y normalizarlos antes de cargarlos. Puede ser necesario actualizar los datos por las siguientes razones:
Los datos proceden de varias sucursales de una organización y en cada una de las sucursales se usan convenciones y estándares distintos. Para poder usar los datos, es posible que sea necesario cambiar su formato. Por ejemplo, es posible que tenga que combinar el nombre y el apellido en una columna.
Los datos pueden ser alquilados o comprados. Para poder usar los datos es posible que sea necesario normalizar y limpiar los datos de forma que satisfagan los estándares de negocios. Por ejemplo, una organización desea comprobar que todos los registros usan el mismo conjunto de abreviaturas de estado o el mismo conjunto de nombres de productos.
Los datos son específicos de la configuración regional. Por ejemplo, en los datos puede haber diversos formatos de fecha/hora o numéricos. Si se combinan datos de configuraciones regionales distintas, deben convertirse a una configuración regional antes de cargarse para evitar que los datos resulten dañados.
Integration Services incluye transformaciones integradas que se pueden agregar a paquetes para limpiar y normalizar datos, cambiar las mayúsculas y minúsculas de los datos, convertir datos a un tipo o formato distinto, o crear nuevos valores de columna basados en expresiones. Por ejemplo, el paquete podría concatenar las columnas de nombre y apellido en una sola columna y después convertir los caracteres a mayúsculas.
Un paquete Integration Services también puede limpiar datos reemplazando los valores de las columnas por valores de una tabla de referencia mediante una búsqueda exacta o aproximada, a fin de encontrar los valores en una tabla de referencia. Normalmente, un paquete realiza la búsqueda exacta primero y, en caso de que no devuelva resultados, realiza la búsqueda aproximada. Por ejemplo, el paquete primero intenta buscar un nombre de producto en la tabla de referencia utilizando el valor de la clave principal del producto. Si esta búsqueda no devuelve el nombre del producto, el paquete intenta la búsqueda de nuevo, pero esta vez realiza una coincidencia aproximada del nombre del producto.
Otra transformación limpia los datos agrupando los valores similares de un conjunto de datos. Esto es útil para identificar registros que pueden ser duplicados y, por tanto, no se deben insertar en la base de datos sin realizar más evaluaciones. Por ejemplo, comparar las direcciones de los registros de clientes puede ayudar a identificar varios clientes duplicados.
Generar Business Intelligence en un proceso de transformación de datos
Un proceso de transformación de datos requiere lógica integrada para responder dinámicamente a los datos que procesa y a los que tiene acceso.
Es posible que sea necesario resumir, convertir y distribuir los datos en función de valores de datos. Incluso es posible que el proceso tenga que rechazar datos en función de una evaluación de valores de columna.
Para satisfacer este requisito, la lógica del paquete SSIS puede tener que realizar los siguientes tipos de tareas:
Combinar datos de varios orígenes de datos.
Evaluar datos y aplicar conversiones de datos.
Dividir un conjunto de datos en múltiples conjuntos de datos en función de valores de datos.
Aplicar agregaciones diferentes a distintos subconjuntos de un conjunto de datos.
Cargar subconjuntos de los datos en destinos distintos o en varios destinos.
Integration Services proporciona contenedores, tareas y transformaciones para generar Business Intelligence en paquetes SSIS.
Los contenedores admiten la repetición de flujos de trabajo recorriendo archivos u objetos, y evaluando expresiones. Un paquete puede evaluar datos y repetir flujos de trabajo en función de los resultados. Por ejemplo, si la fecha pertenece al mes actual, el paquete realiza un conjunto de tareas; en caso contrario, realiza un conjunto de tareas alternativas.
Las tareas que usan parámetros de entrada también pueden generar Business Intelligence en paquetes. Por ejemplo, el valor de un parámetro de entrada puede filtrar los datos recuperados por una tarea.
Las transformaciones pueden evaluar expresiones y después, en función de los resultados, enviar filas de un conjunto de datos a diferentes destinos. Una vez divididos los datos, el paquete puede aplicar distintas transformaciones a cada subconjunto del conjunto de datos. Por ejemplo, una expresión puede evaluar una columna de fecha, agregar los datos de ventas del período correspondiente y después almacenar únicamente la información de resumen.
También es posible enviar un conjunto de datos a varios destinos y aplicar a continuación distintos conjuntos de transformaciones a los mismos datos. Por ejemplo, un conjunto de transformaciones puede resumir los datos mientras otro conjunto de transformaciones expande los datos buscando valores en tablas de referencia y agregando datos de otros orígenes.
Automatizar las funciones administrativas y la carga de datos
Normalmente, los administradores desean automatizar las funciones administrativas como la copia de seguridad y la restauración de bases de datos, la copia de bases de datos de SQL Server y los objetos que contienen, la copia de objetos de SQL Server y la carga de datos. Los paquetes de Integration Services pueden realizar estas funciones.
Integration Services incluye tareas diseñadas específicamente para copiar objetos de bases de datos de SQL Server como tablas, vistas y procedimientos almacenados, para copiar objetos de SQL Server como bases de datos, inicios de sesión y estadísticas, y para agregar, modificar y eliminar objetos y datos de SQL Server mediante instrucciones Transact-SQL.
La administración de un entorno de base de datos OLTP u OLAP suele incluir la carga de datos. Integration Services incluye varias tareas que facilitan la carga masiva de datos. Puede utilizar una tarea para cargar datos de archivos de texto directamente en tablas y vistas de SQL Server, o puede usar un componente de destino para cargar datos en tablas y vistas de SQL Server después de aplicar transformaciones a los datos de la columna.
Un paquete Integration Services puede ejecutar otros paquetes. Una solución de transformación de datos con muchas funciones administrativas puede separarse en varios paquetes de forma que resulte más sencillo administrar y reutilizar los paquetes.
Si necesita realizar las mismas funciones administrativas en distintos servidores, puede utilizar paquetes. Un paquete puede usar un bucle para recorrer los servidores y realizar las mismas funciones en varios equipos. Integration Services proporciona un enumerador que recorre los objetos de administración de SQL Server (SMO), como ayuda para la administración de SQL Server. Por ejemplo, un paquete puede usar el enumerador de SMO para realizar las mismas funciones administrativas en cada trabajo de la colección Jobs de una instalación de SQL Server.
Los paquetes de SSIS también pueden programarse con trabajos del Agente SQL Server.
|