Descargue un PDF de este Artículo
El entorno de administración de Microsoft SQL Server Integration Services (SSIS) fue desarrollado para hacer frente a una multitud de problemas de gestión y desarrollo de SSIS. Este marco fue diseñado para optimizar, no sólo desarrollo, sino también las prácticas de desarrollo y sus normas. Instituye una metodología que pone las normas y prácticas en primer plano, para que el proceso de desarrollo se estructure en torno a un conjunto de principios, y se minimicen así las grandes diferencias en los estilos de desarrollo.
El marco también implementa una estructura organizada para administrar SSIS, los paquetes de ejecución de SSIS y las mediciones de rendimiento. Proporciona información detallada que se puede usar para realizar un seguimiento y generar informes amplios e informativos. Las piezas clave de la parte de presentación de informes del marco de gestión proporcionan información detallada de alertas e identifican áreas de posibles problemas o paquetes problemáticos, además de suministrar estadísticas para mediciones de rendimiento. Además, los informes del marco de gestión de SSIS proporcionan planes detallados para la solución de problemas, así como un mecanismo para estandarizar el conjunto de pasos a seguir en el proceso de la solución de esos problemas.
Hemos identificado los siguientes problemas al trabajar con SSIS en diferentes clientes:
1. Varios estilos de desarrollo. Muchas organizaciones tienen varios
desarrolladores, equipos y divisiones de creación de paquetes SSIS. SSIS no
sólo se utiliza para desarrollar paquetes ETL, sino que también puede
utilizarse para diferentes tipos de movimiento de datos o para automatizar
procesos repetitivos en la administración de datos. La existencia de tantas
variables con diferentes estilos, así como la falta de estándares de desarrollo
(dentro de una empresa), a menudo resulta en muchos estilos distintos de
paquetes a través de las distintas divisiones y a veces dentro de un solo
equipo o proyecto.
2. Administración de configuración incoherente. Una vez más, a menudo varía
según el desarrollador, los equipos y los departamentos. Algunos equipos
utilizan procedimientos de administración de la configuración, mientras que
otros equipos no lo hacen. El reto que aparece no es poder administrar
claramente los cambios en el entorno, como puede ser una base de datos
trasladada a otro servidor, sino garantizar que todos los paquetes que tienen
acceso a esa base de datos automáticamente apuntan a la nueva ubicación.
3. Varias ubicaciones de configuración. No es raro tener más de un archivo
dtsconfig en un único servidor o un archivo de dtsconfig por paquete SSIS.
Las múltiples ubicaciones de configuración hacen sumamente difícil
administrar los cambios de configuración. El objetivo de la administración de
la configuración es centralizar y estandarizar la administración de paquetes
SSIS en equipos, departamentos, divisiones y organizaciones.
4. No hay auditoría centralizada. No es raro que una organización tenga varios
paquetes SSIS que se ejecuten diariamente, a menudo en diferentes
servidores. Cuando se produce un error en un paquete, por lo general es muy
difícil identificar lo que provocó el fracaso del paquete debido a controles
inconsistentes de auditoría. Es incluso posible que un paquete haya fallado
muchas veces y más de un mes, pero si los controles adecuados del error y la
auditoría no estaban en su sitio (en el paquete) no se habrá notificado del
error al personal adecuado. Obviamente, estos escenarios ponen en riesgo al
Departamento y a las personas responsables de manejar SSIS.
5. Reactivos notificación de problemas. En ausencia de una buena supervisión,
los problemas a menudo son ignorados o no se descubren hasta que los
usuarios finales los encuentran y lo notifican. A veces, esta notificación
puede ser demasiado tarde para recuperar algunos cambios en los datos.
6. Métodos incoherentes de solución de problemas. Los métodos dependerán de
la persona que trate de resolver el problema. El desarrollador de un paquete
bien podría saber cómo identificar rápidamente donde ha fallado el paquete.
Sin embargo, no es raro que las empresas gestionen paquetes que fueron
escritos por consultores externos. Esto deja espacio para el riesgo al no
tener métodos predefinidos o normas para resolver los problemas.
7. La falta de información apropiada y adecuada. No es raro que un paquete
falle y no se indiquen específicamente las razones para el fracaso. La falta
de estándares en el desarrollo y la administración, genera escenarios aún
peores al intentar resolver los problemas de del paquete.
Áreas de normalización en SSIS
Para evitar problemas, pueden ser normalizadas las siguientes áreas en toda la organización para su uso más consistente con SSIS:
1. Administración configuraciones. La identificación de estándares de
configuración generará consistencia en toda la organización respecto al
proceso de desarrollo. Esta normalización hará más fácil la administración de
objetos configurables en paquetes SISS.
2. Auditorías de paquetes y procesos.
a. Auditoría de paquetes: implementa el uso de la información de versión
y tiempo de ejecución de un paquete para identificar y realizar un
seguimiento de las modificaciones de la versión y la ejecución del
paquete.
-
b. Auditoría de gestión de procesos: implementa la auditoría a nivel de
procesos, que proporciona información relativa a un conjunto de
paquetes que implementan un proceso, como puede ser un proceso ETL.
Organizar y estandarizar esta información proporcionará un nivel de
proceso de auditoría, como el éxito o fracaso de un proceso y la
evolución de los paquetes dentro del proceso. Sabiendo que un proceso
ETL no ha demorado significativamente su tiempo de ejecución puede
proporcionar información valiosa para el proceso de administración.
-
c. Infraestructura común de registro (Logging): identifica un conjunto
común de reglas de estandarización con las que registrar los detalles de
ejecución del paquete. Esta información proporciona hojas de ruta para
la solución de problemas, análisis de tendencias de rendimiento y
análisis de tiempo de ejecución de paquetes.
-
d. Administración común de Errores: identifica las normas dentro del
diseño del paquete sobre cómo administrar y manejar los errores de los
paquetes. Este tipo de estandarización garantiza la captura de errores,
proporcionando así un marco para organizar e notificar esta
información.
-
3. Seguimiento y solución de problemas de rendimiento. Implementar la
administración de configuraciones y paquetes y la auditoría de procesos,
proporcionará una estructura rica en información para monitorizar mejor el
rendimiento de los paquetes SSIS que se ejecutan en el entorno. También
proporcionará planes altamente visibles y normalizados para la solución de
problemas.
Los estándares nos ofrecerán un importante conjunto de beneficios:
1. Simplificar la supervisión. El marco de la gestión de SSIS proporciona una
racionalización acerca de la administración y la supervisión de la ejecución
de paquetes SSIS.
-
2. Fácil acceso a información sobre la solución de problemas. Entre otros datos,
la estructura proporciona tiempos de ejecución de los paquetes SSIS para
tendencias de rendimiento y cambios de información de versión a nivel de
paquete. La estructura también proporciona un enfoque estándar para
identificar fallos, permitiendo un plan fácil de seguir para localizar la raíz
del problema o del error.
-
3. Mayor productividad en los desarrolladores. La creación de plantillas SSIS con
procedimientos y normas incorporadas simplifica el proceso de desarrollo.
Las funciones de auditoría y administración de paquetes se integran en cada
paquete SSIS mediante la utilización de plantillas prediseñadas. Todas las
cadenas de conexión necesarias y la funcionalidad estándar están
prefabricadas, dejando a la aplicación solamente el paquete de
construcción. Se garantizan las mejores prácticas para la organización
mediante la implementación y utilización de un conjunto global de
estándares, sin tener que depender de cada programador para crear el
mismo conjunto de normas dentro de sus paquetes. La utilización de
plantillas, aumenta automáticamente la productividad del desarrollador y
disminuye la diferenciación en los estilos y enfoques de programación.
-
4. Administración de configuración simplificada. El marco elimina la duplicación
de la información de configuración y proporciona una estructura fácil de
mover los paquetes de desarrollo para el aseguramiento de la calidad a la
producción.
Consideraciones
1. Personalización. Para optimizar el entorno de una organización, es
importante identificar todos los detalles requeridos por la organización y
configuración actuales, y determinar cómo puede mejorarse mediante la
utilización de las características del marco de gestión de SSIS.
-
Los temas específicos de la organización incluyen los tipos de sistemas, los
tipos de usuarios y el tipo de seguridad implementado. Hay muchos pasos
implicados en la personalización de un marco de gestión organizativo de
SSIS. La identificación y planificación de estos pasos son cruciales para una
implementación exitosa.
2. Implementación del entorno en la organización. El siguiente paso es
considerar en qué nivel de la organización es aplicable el marco de la gestión
de SSIS.
a. Aplicación – el marco se puede implementar a nivel de aplicación para
estandarizar el desarrollo de un proyecto determinado. Sin embargo, no
es recomendable porque va contra la idea de tener políticas y
estándares en la organización.
b. Departamento: el marco puede aplicarse a nivel de departamento
para estandarizar el desarrollo dentro de un departamento. Esto
puede ser beneficioso para un departamento porque crea las
políticas y normas del departamento.
-
También puede ser útil en entornos donde hay datos confidenciales
de un departamento respecto a otro, por lo que requiere la
instalación de diferentes instancias del marco de gestión de SSIS en
los distintos departamentos.
-
c. Organización – La aplicación del marco de gestión de SSIS a nivel de
organización proporcionará la instantánea más concluyente para el
rendimiento de los paquetes SSIS y proporcionará información
importante sobre las métricas de rendimiento y la solución de
problemas.
-
3. Implementación de un marco de procesos ETL. Esto puede considerarse como
un complemento para el marco de la gestión de SSIS. El marco de procesos
ETL proporciona una mayor capacidad para utilizar los metadatos cuando se
cargan dimensiones y tablas “fact”, así como en la extracción incremental
de datos. Se construye con el mismo concepto de la utilización de plantillas.
-
4. Incorporación de alertas. Uno de los principales aspectos del marco de
gestión de SSIS es proporcionar un enfoque proactivo para la administración
y monitorización de SSIS. Proporciona información que puede señalar
posibles problemas de rendimiento futuro y proporciona hojas de ruta para
resolver rápidamente los problemas con paquetes rotos o fallidos. Estas
alertas pueden ser programadas en el marco para actuar como pre-
notificaciones de posibles problemas.
Comenzar el proceso
1. Determinar el propietario de proceso. Es importante determinar la persona
que va a ser el propietario del proceso de principio a fin.
-
2. Determinar las necesidades.
-
a. Componentes: ¿qué componentes del marco se necesitarán en la
organización?
-
b. Personalización: ¿cómo se personalizarán esos componentes en la
organización?
-
c. Políticas de Organización: ¿Cuáles son las políticas de seguridad dentro
de la organización? ¿Por ejemplo, el uso de variables de entorno o
configuraciones de archivos XML es admisible en el entorno de la
organización?
-
3. Diseño de una base de datos común para la administración. Diseñar las bases
de datos del marco de gestión de SSIS, personalizándolo para la
organización.
-
4. Desarrollar el paquete de plantillas y los informes de gestión. Desarrolle el
paquete de plantillas. Incluya en el mismo los objetos adicionales del
administrador de conexión y otros objetos específicos de la organización,
tales como las variables. Elabore los informes de gestión que proporcionarán
información detallada sobre el marco personalizado.
-
5. Desarrollar la documentación de uso del marco. En primer lugar, deben de
crearse las plantillas de documento para los desarrolladores, para
comprender bien el marco y cómo utilizar las plantillas. A continuación, el
documento del marco desde el punto de vista del personal que gestiona y
controla el sistema. Esto incluiría cómo supervisar, cómo analizar, cómo
solucionar problemas y cómo utilizar todas las herramientas de marco de
gestión de SSIS.
-
6. Desarrollar una estrategia de implantación. Identificar las estrategias de
implementación desde un punto de vista de organización a nivel
departamental.
-
7. implementación del marco. Comience a utilizar el marco en el entorno de
desarrollo directo, utilizando las características de la plantilla y las
herramientas de la versión personalizada.
-
8. Crear un Plan de migración para los paquetes existentes. Desarrollar un plan
para migrar los paquetes existentes. Identificar los paquetes prioritarios para
migrar y, a continuación, trabajar en una lista de prioridades con los más
paquetes más importantes a migrar.
-
9. Formar a los desarrolladores y a los administradores. Capacitar a los
desarrolladores y los administradores para utilizar la documentación.
Conclusión
Fácilmente podemos identificar todas las áreas en que debemos centrarnos para asegurarnos de que tenemos un desarrollo coherente de ETL en todos nuestros proyectos de BI. Nos ayudará a acelerar el desarrollo de nuevos paquetes y facilitará las tareas de mantenimiento para proyectos existentes. En los artículos siguientes, mostraremos cómo hemos estandarizado estas áreas.
Sobre el Autor

Rushabh Mehta (twitter) es Director Ejecutivo de Solid Quality India, Microsoft MVP en SQL Server, y es globalmente reconocido como un experto en BI. Posee un MBA en Gestión y Administración de Sistemas de Financieros y una amplia experiencia en gestión de negocios, habiendo ocupado puestos directivos en los pasados 15 años, incluyendo la Vice Presidencia y Operaciones para un grupo de compañías químicas en la India. Rushab es actualmente Presidente de la Asociación Profesional de SQL Server (PASS).