¿Hay más paquetes SSIS en su empresa que personas capaces de entenderlos?

Cientos de paquetes .dtsx, uno por cada tabla, construidos en Visual Studio por quien tuviera la tarea asignada en cada momento, con flujos de control y flujos de datos que solo se abren de uno en uno. Añadir una columna obliga a abrir los paquetes uno a uno. La solución no es una plantilla de paquetes, sino un modelo que genere las cargas, de forma nativa en SQL Server, Azure SQL o Fabric.

¿Hay más paquetes SSIS en su empresa que personas capaces de entenderlos?

La plataforma de automatización de data warehouse en la que confían equipos de datos de todos los sectores

¿Le suena familiar?

  • Una nueva columna de origen obliga a abrir en Visual Studio cada paquete que toca la tabla, uno a uno.
  • Existe un paquete por tabla, y los construidos antes de que existieran los parámetros de proyecto todavía contienen sus propias cadenas de conexión.
  • Nadie sabe con certeza qué paquetes siguen programados, y nadie se atreve a eliminar ninguno para averiguarlo.
  • Añadir columnas de auditoría al almacén se estimó en semanas, porque implica la misma edición en cientos de flujos de datos.

SSIS fue la respuesta idónea durante dos décadas de almacenes sobre SQL Server, y un parque maduro lo refleja fielmente: cientos de paquetes construidos por muchas manos a lo largo de muchos años, abriéndose de uno en uno en Visual Studio. Los paquetes aún funcionan. El problema es modificarlos.

Por qué el parque existente es difícil de modificar

  • Un paquete por tabla, cada uno construido a mano. El mismo flujo de control y flujo de datos, ensamblado de nuevo para cada origen según el criterio de quien tuviera la tarea esa semana.
  • Los paquetes antiguos conservan su propia configuración. Los parámetros de proyecto y los administradores de conexiones compartidos existen desde 2012; los paquetes heredados creados antes o sin ellos todavía contienen cadenas de conexión y rutas fijas en su interior.
  • Un cambio de esquema es un recorrido por los paquetes. Añadir una columna al data warehouse implica abrir cada paquete que interactúe con ella. La estimación se mide en semanas porque la edición se repite en cientos de flujos de datos.
  • Una columna más ancha rompe el flujo de datos. Los metadatos de los flujos de datos tienen tipos fijos asignados en tiempo de diseño, por lo que una columna de origen que crezca o cambie de tipo hace fallar el componente hasta que alguien la reasigne en Visual Studio.
  • Nadie sabe exactamente qué está en producción. Los paquetes se programan desde el Agente SQL, desde SSISDB o desde otros paquetes, y nadie quiere ser quien borre el equivocado.

Nada de esto es culpa de SSIS. Un paquete es una forma adecuada de construir una carga individual, pero una forma deficiente de mantener un almacén de datos completo.

Dónde debe residir la estructura

  • En un modelo, no en paquetes. Claves de negocio, relaciones y atributos declarados una sola vez, con las cargas derivadas a partir de ellos.
  • Generada, para que cada carga tenga un formato idéntico. Sin variaciones según el desarrollador, sin paquetes que solo su autor sepa interpretar.
  • En la plataforma que ya utiliza. SQL Server y Azure SQL son destinos de primera clase, y Fabric está disponible cuando decida dar el paso.

Qué cambia con Datavault Builder

Datavault Builder mantiene el data warehouse en un modelo visual y genera a partir de él las cargas de staging, historización y entrega, de forma nativa para SQL Server, Azure SQL y Fabric.

  • El paquete por tabla desaparece. Los hubs, links, satélites y sus respectivas cargas se generan desde el modelo. No hay nada que abrir en Visual Studio.
  • Una columna es solo un cambio de mapeo. Se mapea, se regenera y cada estructura dependiente se actualiza de forma coherente. Las columnas que faltan se cargan como null con una advertencia; las columnas ampliadas se ensanchan.
  • Cada carga comparte exactamente la misma estructura. El generador escribe el código, evitando desviaciones de estilo y paquetes crípticos.
  • El modelo es el inventario central. Qué se carga, desde dónde, hacia dónde y con qué linaje es visible en un único lugar. Se acabaron las búsquedas manuales entre trabajos del Agente SQL.
  • Nada tiene que abandonar SQL Server. El almacén generado se ejecuta donde ya corrían los paquetes, y la transición a Fabric se realiza simplemente cambiando el motor de destino cuando usted lo decida.

Qué decidir

Audite el parque de paquetes y cuente cuántos existen exclusivamente para cargar una tabla desde un origen hacia el staging o el almacén. Ese recuento define el tamaño de la capa que un modelo debería generar. Ordenada por fuente de origen, esa misma lista proporciona el orden exacto para ir retirando los paquetes de forma progresiva.

Véalo funcionando con una de sus fuentes de datos

Reserve una demo gratuita y traiga el conector que más le cuesta, en dinero o en tiempo.

Tres pasos hacia un pipeline que usted controla

  1. Contar los paquetes que solo cargan una tabla

    La mayor parte de un parque maduro de SSIS es un paquete por tabla de origen que hace exactamente lo mismo. Eso es estructura, no lógica.

  2. Modelar las fuentes en su lugar

    Las claves de negocio, relaciones y atributos se definen en el modelo de Datavault Builder. Las cargas se generan de forma nativa para SQL Server, Azure SQL o Fabric.

  3. Retirar paquetes mediante mapeo

    Cada fuente mapeada en el modelo es un paquete que ya no es necesario abrir. El parque disminuye a medida que el modelo crece.

Cómo Datavault Builder elimina las fricciones en la ingesta

  • La ingesta viene integrada

    Cargas batch, delta y CDC desde bases de datos, archivos, APIs REST, fuentes NoSQL y Python, recibiendo flujos como Kafka en micro-batches. La misma plataforma que genera el warehouse, sin una segunda factura.

  • Su propio esquema, no el del proveedor

    Las tablas de origen se mapean a un modelo Data Vault 2.0 diseñado por usted. Una nueva columna o una tabla renombrada modifica un mapeo, no una cadena de scripts post-carga.

  • Solo se mueven los deltas

    Los hubs, links y satélites cargan lo que ha cambiado. Las recargas completas permanecen en staging en lugar de reprocesarse aguas abajo cada noche.

  • El historial se conserva por diseño

    Cada cambio se retiene según llega, por lo que el reporting histórico funciona incluso cuando el origen sobrescribe sus propios registros.

  • Código que nunca tendrá que escribir a mano

    La carga, historización y linaje se generan desde el modelo en tiempo real y se ejecutan de forma nativa en Snowflake, Databricks, BigQuery, SQL Server, Fabric, Oracle o PostgreSQL.

  • Una plataforma, hasta nueve herramientas menos

    Modelado, ETL, CI/CD, documentación y linaje en un solo lugar. Eso es lo que hace posible pasar del requerimiento a producción en 14,7 minutos.

Reconocido por BARC en The Data Fabric Survey 26

Hable con nuestro experto

Veinte minutos con nuestro Sales Director y una respuesta honesta sobre si esto encaja con su arquitectura.

Matt Collett

Matt Collett

Sales Director

¿Qué está buscando?

Al enviar acepta nuestra Política de Privacidad.

Otros problemas que cubre esta serie

  • Lift and shift

    ¿Está pensando en migrar sus paquetes SSIS a la nube mediante lift-and-shift?

    Los proyectos heredados de SSIS arrastran tres problemas que una máquina virtual en la nube no resuelve: un paquete por tabla que nadie quiere tocar, releases ajenas a DevOps y un diseño ligado a SQL Server. Azure-SSIS Integration Runtime traslada los tres intactos a la nube. Un modelo que genere el data warehouse los hace innecesarios.

  • Más allá de SQL Server

    ¿Sigue ejecutando SSIS sobre una máquina con licencia de SQL Server solo para cargar datos en Snowflake o en la nube?

    SQL Server Integration Services (SSIS) se diseñó para el ecosistema on-premises de Microsoft. Utilizarlo para alimentar data warehouses en la nube como Snowflake, Databricks o Fabric implica servidores intermedios dedicados, conectores de terceros y licencias innecesarias de SQL Server. La solución es generar cargas nativas en el motor de destino.

  • Despliegue y CI/CD

    ¿Es SSIS la única pieza de su stack técnico que sigue sin poder integrarse en CI/CD?

    Un archivo .dtsx es código XML que se compara mal y se fusiona peor en Git; si dos ingenieros tocan el mismo paquete, suele terminar en reconstrucción manual. Los entornos residen en mapeos de variables de SSISDB que se mantienen a mano. Las releases deberían generarse a partir de un modelo, entorno por entorno, con rollback incluido.

Preguntas y respuestas