Crear una réplica de solo lectura y casi en tiempo real de una Base de datos Azure SQL en Fabric sin afectar el origen.
→Utilizar Fabric Mirroring para Azure SQL Database.
Por qué: Mirroring proporciona replicación continua y de baja latencia de datos en OneLake como tablas Delta, ideal para análisis en tiempo real sin desarrollo ETL.
Compartir un conjunto de datos con otro espacio de trabajo o acceder a datos externos sin crear una copia.
→Crear un Shortcut que apunte a la tabla de lakehouse de origen o a la ubicación de datos externa.
Por qué: Los Shortcuts actúan como enlaces simbólicos, proporcionando una vista unificada de los datos en OneLake mientras evitan la duplicación de datos, los costos de almacenamiento y los problemas de sincronización.
Combinar datos de streaming de alta velocidad con datos históricos por lotes para un análisis unificado.
→Utilizar Eventstream para la ingesta en tiempo real y un Lakehouse con tablas Delta Lake para almacenamiento unificado.
Por qué: Eventstream maneja la ruta de streaming, mientras que las propiedades ACID de Delta Lake le permiten servir como objetivo tanto para anexos de streaming como para actualizaciones por lotes.
Habilitar tanto el análisis basado en T-SQL como la ciencia de datos basada en Python sobre los mismos datos de lakehouse.
→Aprovechar el punto final de análisis SQL generado automáticamente para el Lakehouse.
Por qué: Fabric proporciona acceso de doble motor a las mismas tablas Delta: un punto final SQL para consultas T-SQL y el motor Spark para notebooks, sin duplicación de datos.
Ingerir datos de una fuente de datos local (por ejemplo, Oracle, SQL Server) en Fabric.
→Instalar y configurar una puerta de enlace de datos local.
Por qué: La puerta de enlace actúa como un puente seguro, retransmitiendo datos entre la red local y el servicio en la nube de Fabric sin exponer la fuente a Internet.
Procesar automáticamente nuevos archivos tan pronto como lleguen a Azure Blob Storage.
→Utilizar un disparador de Evento de Almacenamiento para el pipeline de datos, configurado para activarse en eventos de creación de blobs.
Por qué: Los disparadores basados en eventos proporcionan menor latencia y son más eficientes que el sondeo programado, que puede perder datos o ejecutarse innecesariamente.
Implementar la lógica de Dimensión de Cambio Lento Tipo 2 o procesar flujos de Change Data Capture (CDC).
→Utilizar la operación MERGE de Delta Lake con las cláusulas `WHEN MATCHED` y `WHEN NOT MATCHED`.
Por qué: MERGE proporciona capacidades atómicas de upsert (actualización/inserción/eliminación), que es la operación fundamental para mantener registros históricos en patrones SCD2.
Transformar una columna de DataFrame que contiene arrays anidados de objetos en filas separadas.
→Aplicar la función `explode()` a la columna de array en un notebook de PySpark.
Por qué: `explode()` es la función estándar de Spark para desanidar arrays, creando una nueva fila para cada elemento en el array.
Manejar datos de llegada tardía en una agregación de streaming con estado (por ejemplo, recuentos en ventanas).
→Configurar una watermark en la columna de tiempo de evento en la consulta de Spark Structured Streaming.
Por qué: El watermarking define un umbral de tiempo para cuánto tiempo el motor esperará los datos tardíos, evitando que el estado crezca indefinidamente mientras asegura la corrección.
Realizar una carga de datos incremental desde un sistema de origen que tiene una columna de marca de tiempo pero no CDC.
→Implementar un patrón de high-watermark. Almacenar la marca de tiempo máxima de la última ejecución y usarla para filtrar el origen en la siguiente ejecución.
Por qué: Este es un patrón eficiente y común para extraer solo registros nuevos o actualizados sin la sobrecarga de escaneos completos de tabla o el requisito de CDC formal.
Una actividad de pipeline falla intermitentemente debido a problemas transitorios de red o carga del sistema de origen.
→Configurar la política de reintento de la actividad con un recuento especificado y un intervalo de retroceso exponencial.
Por qué: Construye resiliencia en el pipeline reintentando automáticamente las operaciones fallidas, a menudo resolviendo problemas transitorios sin intervención manual.
Ingerir y consultar telemetría o datos de registro de alto volumen y baja latencia para análisis exploratorio en tiempo real.
→Ingerir datos en un Eventhouse y consultarlos utilizando Kusto Query Language (KQL).
Por qué: Eventhouse (construido sobre Azure Data Explorer) y KQL están diseñados específicamente para análisis de series temporales y registros de alto rendimiento.
Crear un pipeline único y reutilizable para cargar docenas de tablas que comparten la misma lógica de transformación.
→Utilizar un enfoque basado en metadatos. Almacenar la información de origen/destino en una tabla de control y usar una actividad ForEach para iterar y pasar parámetros a un pipeline hijo genérico.
Por qué: Este patrón es altamente escalable y mantenible, evitando la duplicación y la sobrecarga de gestión de crear pipelines separados para cada tabla.
Optimizar el rendimiento de un Dataflow Gen2 que obtiene datos de una base de datos relacional como SQL Server.
→Diseñar transformaciones que puedan ser plegadas. Verificar el estado de query folding en el editor de Power Query.
Por qué: El query folding empuja la lógica de transformación al motor de la base de datos de origen, lo que es significativamente más eficiente que extraer todos los datos al motor Spark para la transformación.
Consultar una tabla tal como existía en un punto específico en el pasado para una auditoría o para recuperarse de una actualización accidental.
→Utilizar la función de viaje en el tiempo de Delta Lake con `VERSION AS OF` o `TIMESTAMP AS OF` en la consulta.
Por qué: Delta Lake versiona de forma nativa cada transacción, lo que permite consultas a un punto en el tiempo sin necesidad de instantáneas o copias de seguridad manuales.