Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe la funcionalidad de captura de datos modificados (CDC) en el trabajo de copia y cómo usarla.
¿Qué es la captura de datos modificados (CDC) en el trabajo de copia?
La captura de datos modificados (CDC) en el trabajo de copia es una funcionalidad eficaz en Fabric Data Factory que permite la replicación eficaz y automatizada de datos modificados, incluidos los registros insertados, actualizados y eliminados de un origen a un destino. Esto garantiza que los datos de destino permanezcan actualizados sin esfuerzo manual, lo que mejora la eficacia en la integración de datos al tiempo que reduce la carga en el sistema de origen.
Principales ventajas de CDC en el trabajo de copia
- Intervención manual cero: captura automáticamente los cambios incrementales (inserciones, actualizaciones, eliminaciones) directamente desde el origen.
- Replicación automática: mantiene los datos de destino sincronizados continuamente con los cambios de origen.
- Rendimiento optimizado: procesa solo los datos modificados, lo que reduce el tiempo de procesamiento y minimiza la carga en el origen.
- Copia incremental más inteligente: detecta automáticamente las tablas de origen habilitadas para CDC y permite seleccionar una copia incremental basada en CDC o basada en marcas de agua para cada tabla.
Métodos de lectura: copia incremental basada en CDC frente a copia incremental basada en marcas de agua
- Copia incremental basada en CDC: si la base de datos de origen tiene CDC habilitado, el trabajo de copia captura y replica automáticamente inserciones, actualizaciones y eliminaciones en el destino, aplicando los cambios exactos.
- Copia incremental basada en marcas de agua: si CDC no está habilitado en la base de datos de origen, el trabajo de copia detecta los cambios comparando una columna incremental (por ejemplo, marca de tiempo o identificador) con la última ejecución, anexa o combina los datos modificados en función de la configuración.
Métodos de escritura: Tipo de SCD 1 (Fusión) versus Tipo de SCD 2
Al utilizar CDC en la tarea de copia, es importante comprender cómo se aplican los cambios al destino. El método de actualización que elija se asigna a los patrones de dimensión de cambio lento (SCD) comúnmente usados en el almacenamiento de datos.
Tipo 1 de SCD (combinar)
El tipo 1 de SCD, también conocido como el método de actualización Merge, es el comportamiento predeterminado para CDC en trabajos de copia. Con este enfoque, el destino siempre refleja el estado actual de los datos de origen:
- Inserciones: se agregan nuevas filas del origen al destino.
- Actualizaciones: las filas modificadas en el origen sobrescriben las filas correspondientes en el destino.
- Eliminaciones: Se quitan del destino las filas que fueron eliminadas del origen.
Este método mantiene solo la versión más reciente de cada registro. No se conservan datos históricos. Es ideal cuando necesita que el destino sea una réplica exacta y actualizada del origen.
SCD tipo 2 (seguimiento histórico)
SCD Type 2 conserva los datos históricos mediante la creación de nuevas filas para los cambios, a la vez que mantiene las versiones anteriores de registros. Cuando se detecta un registro de origen como actualizado desde la última ejecución, el registro actual existente en el destino expira estableciendo su Valid_To valor y cambiando Is_Current a false. A continuación, se inserta un nuevo registro con los valores de atributo actualizados, un nuevo Valid_Fromy Is_Current = true. Cuando se elimina un registro en el origen, la versión actual se elimina temporalmente; no se quita físicamente, pero su Valid_To fecha se establece y Is_Current se marca como false. Este enfoque conserva el ciclo de vida completo de cada registro al escribir en el destino, incluidos los registros que ya no existen en el origen.
CDC en una tarea de copia proporciona compatibilidad integrada con SCD Type 2 como método de escritura. Para habilitar el tipo 2 de SCD, selecciónelo como método de escritura al configurar el trabajo de copia; no se requiere código personalizado ni lógica adicional. Tanto el seguimiento del historial como el control de eliminación temporal se habilitan conjuntamente y se aplican de forma coherente en todas las tablas seleccionadas.
SCD Type 2 en el trabajo de copia agrega las siguientes columnas al destino:
-
Valid_From: La marca de tiempo en que la versión del registro se hizo efectiva. -
Valid_To: marca de tiempo en la que se reemplazó o eliminó la versión del registro. Los registros activos usan el valor NULL. -
Is_Current: marca que indica si el registro es la versión activa actual.
Por ejemplo, si un cliente pasa de California a Nueva York, ambas versiones se conservan:
| Clave de cliente | Id. de cliente | Nombre | Estado | Válido_Desde | Válido_Hasta | Es_Actual |
|---|---|---|---|---|---|---|
| 1001 | C-123 | Compañía | CA | 2023-01-15 | 2026-02-20 | No |
| 1002 | C-123 | Compañía | Nueva York | 2026-02-20 | NULO | Sí |
Elección entre el tipo 1 de SCD y el tipo 2 de SCD
| Feature | Tipo 1 de SCD (combinar) | Tipo 2 de SCD (versión preliminar) |
|---|---|---|
| Compatible con el trabajo de copia CDC | Sí | Sí |
| Datos históricos | No conservado | Se conserva con filas versionadas |
| Estado de destino | Siempre refleja el origen actual | Contiene todas las versiones de registros que se comparan con la última ejecución |
| Eliminar | Las filas se retiran físicamente | Eliminación lógica: las filas se marcan como inactivas |
| Caso de uso | Informes operativos, sincronización en tiempo real | Análisis histórico, seguimientos de auditoría, cumplimiento |
| Esfuerzo de implementación | Integrada, sin configuración adicional | Integrado, seleccione SCD Type 2 como método de escritura. |
Conectores compatibles
Actualmente, el CDC en la tarea de copia admite los siguientes almacenes de datos de origen y destino:
| Conector | origen de CDC | Destino de CDC | Escribir - SCD Tipo 2 |
|---|---|---|---|
| base de datos de Azure SQL |
|
|
|
| Azure SQL Managed Instance (Instancia Administrada de Azure SQL) |
|
|
|
| Almacenamiento de datos de tejido |
|
|
|
| tabla Fabric Lakehouse (versión preliminar) |
|
|
|
| Google BigQuery (versión preliminar) |
|
|
|
| SQL Server en las instalaciones |
|
|
|
| Oracle (versión preliminar) |
|
|
|
| Salida de SAP Datasphere para ADLS Gen2 |
|
|
|
| Exportación de SAP Datasphere para AWS S3 |
|
|
|
| Salida de SAP Datasphere para Google Cloud Storage |
|
|
|
| Snowflake (versión preliminar) |
|
|
|
| Base de datos SQL en Fabric |
|
|
|
Note
El Tipo 2 de SCD en el trabajo de copia está actualmente en fase de vista previa. Al realizar la replicación CDC desde orígenes de Oracle, todavía no se admite SCD de tipo 2. Si crea el esquema en la base de datos de destino, SCD2 no es compatible.
Para la salida de SAP Datasphere, vaya a Captura de cambios de datos desde SAP a través de SAP Datasphere Outbound en la tarea de copia para obtener más información.
Cambios de esquema y cambios de tipo de datos de origen
El trabajo de copia gestiona los cambios en el esquema de origen en función de si la asignación de columnas está configurada.
Cuando se configura la asignación de columnas
Cuando se configura una asignación de columnas, el trabajo de Copy siempre la respeta y la aplica.
- Nueva columna agregada en el origen: el trabajo de copia omite la nueva columna porque no forma parte de la asignación de columnas. Las ejecuciones siguen teniendo éxito y la nueva columna no se sincroniza con el destino.
- Columna eliminada en el origen: si se elimina una columna de origen que nunca formaba parte de la asignación de columnas, no hay ningún impacto. Las ejecuciones continúan funcionando correctamente porque la columna quitada nunca se sincronizó. Si se elimina o cambia el nombre de una columna de origen definida en la asignación de columnas, se produce un error en la ejecución porque ya no se encuentra la columna de origen asignada.
- Cambios en el tipo de datos de origen: el trabajo de copia respeta los tipos de datos especificados en la asignación de columnas y se aplica el control de compatibilidad de tipos en tiempo de ejecución. El tipo de datos de origen debe ser convertible al tipo de datos de destino. Si el tipo de origen actualizado no se puede convertir al tipo de destino, se produce un error en la ejecución.
Cuando la asignación de columnas no está configurada
Cuando no se configura ninguna asignación de columnas, el trabajo de copia sigue lo siguiente.
- Nueva columna añadida en el origen: las ejecuciones siguen teniendo éxito y la nueva columna no se sincroniza con el destino.
- Columna eliminada en el origen: la columna eliminada ya no se sincroniza. Los datos existentes para esa columna en el destino no se quitan y las ejecuciones continúan funcionando correctamente sin transferir datos nuevos para esa columna.
- Cambios en el tipo de datos de origen: se aplica la gestión de la compatibilidad de tipos en tiempo de ejecución. El tipo de datos de origen debe ser convertible al tipo de datos de destino. Si el tipo de origen actualizado no se puede convertir al tipo de destino, se produce un error en la ejecución.
Cómo comenzar
Para empezar a trabajar con CDC en el trabajo de copia, consulte los siguientes tutoriales para obtener instrucciones paso a paso sobre orígenes específicos:
- Captura de cambios de datos desde Azure SQL DB utilizando el trabajo de copia
- Captura de cambios de datos de SAP a través de SAP Datasphere Outbound en el trabajo de copia
- Captura de cambios de datos de Snowflake utilizando un trabajo de copia
- Captura de datos de cambios de la base de datos de Oracle mediante la tarea de copia
Limitaciones conocidas
- Cuando se seleccionan tablas de origen habilitadas para CDC y no habilitadas para CDC en un trabajo de copia, trata todas las tablas como copia incremental basada en marcas de agua.
- Captura de cambios netos solo (captura de cambios completa próximamente).
- No se admiten instancias de captura personalizadas; solo se admite la instancia de captura predeterminada.
- Si CDF está habilitado o no en tablas de Fabric Lakehouse no se puede detectar automáticamente.