Fabric Mirroring

Estamos atravesando tiempos que avanzan muy rápido en materia de desarrollos de tecnología, software y datos. Especificamente, en el universo de datos podemos apreciarlo en el cambio constante que ocurre a las necesidades de cada empresa en construcciones analíticas.

Entre los más ocurrentes tenemos problemas que hablan de encontrar escalabilidad con menor costo, accesibilidad a todo tipo de usuario y reducir los data silos. Si están pensando en usar Fabric o ya lo usan. Mirroring puede ayudarnos en parte con estos problemas.

Contexto

Me gustaría comenzar recordando que las replicas o mirror no son algo nueva en industria tecnología. Veamos un concepto genérico en mirror de bases de datos que era algo bastante común.

"Mirroring en base de datos es una copia de seguridad completa de la base de datos que se puede usar si la base de datos principal falla. Las transacciones y cambios en la base de datos principal se transfieren directamente al espejo y se procesan de inmediato, por lo que el espejo siempre está actualizado y disponible como un 'standby' activo."

En tradicional desarrollo de software nacía como dar certeza que una falla no prevenga el acceso. Sin embargo, en materia de análisis de datos se consideraba crucial para evitar que el computo de grandes consultas analíticas no impactara directamente en la base de datos transaccional.

A mi modo de pensar ambos apuntan a un mismo foco indispensable. Disponibilidad. Que los accesos a datos siempre tengan certeza de consulta.

Fabric Mirror

Fabric Mirroring es una solución de bajo costo y baja latencia para unir datos de varios sistemas en una sola plataforma de análisis. Puedes replicar continuamente tu conjunto de datos existente directamente en OneLake de Fabric. Actualmente cuenta con tres posibles orígenes:

  • Azure SQL Database
  • Azure Cosmos DB
  • Snowflake.

Entre las características que me gustaría destacar estan:

  • Permite replicar bases de datos en Fabric sin necesidad de ETL
  • Los datos se replican en OneLake en formato Delta y se mantienen actualizados en tiempo casi real. (Mi favorita)
  • Todos los servicios de almacenamiento de Fabric funcionan instantáneamente con la réplica de OneLake, incluidas las experiencias de warehouse y lakehouse.
  • El almacenamiento y la replicación para el mirror están incluidos en tu capacidad de Fabric sin costo adicional.
  • Construido sobre CDC (Change data capture) para solo mover en el instante los cambios de datos.
  • Soporte para DDL (Data definition language): permitiendo que nuevas tablas sean instántaneamente agregadas (en caso que hagamos replica de todas las tablas)

Mi favorito y la principal diferencia con un caso convencional de mirror es que la replica se reguarda en formato abierto delta. Perfecto y listo para ser consultado en Fabric. Al igual que con Lakehouse y Warehouse, cuando creamos un mirror se generan la misma cantidad de contenidos. Un SQL endpoint para consultar datos y un modelo semántico por defecto para analizar datos con direct lake.

Para crear uno simplemente ponemos "Nuevo" y buscamos el contenido de mirror al origen deseado. Delimitamos la base de datos y nos aparecerá una guia para conectarnos tal como si estuvieramos agregando un conjunto de datos en gateway o dataflow gen2.

Luego podremos elegir si replicar toda la base de datos o simplemente una delimitada selección de tablas con objetivo de análisis de datos. Por defecto el recurso principal nos deja monitorear cada tabla:

Si nos dirigimos al SQL Analytics endpoint podremos tener vista previa de los datos e incluso encontrar su lugar puntual en el OneLake en su modo delta parquet.

De ese modo tenemos un excelente y simple proceso para tener al instante los datos que buscamos para construir proyectos de datos sin complejos ETL, disponible para consultar con computo de spark usando notebooks, sql o powerbi.

Pre requisitos

  • Necesitas tener una capacidad existente de Fabric. Si no la tienes, inicia una prueba de Fabric.
  • Habilita Fabric mirroring en tu configuración para inquilino de Microsoft Fabric (admin portal).
  • Si vas a trabajar con service principals, habilita la configuración de inquilinos de Fabric 'Permitir a los principales de servicio utilizar las API de Power BI'.
  • Requisitos de red para que Fabric acceda a la fuente de datos. Cada origen tiene configuración adicional en el origen. Puede verse en un tutorial de la doc de microsoft.

Espero que esta feature les resulte útil. Tiene un potencial inmenso que seguramente crecerá más y más a medida que pueda disponibilizar más orígenes. Hoy permitir snowflake es un bombazo y seguramente tendrá más.