Seleccionar página
18 de noviembre de 2024

Microsoft Fabric Databases

Una de las características que estaban en Private Preview, y que han visto la luz en MIcrosoft Ignite, es la posibilidad de crear Bases de Datos en Microsoft Fabric. Se trata de un motor de base de datos basado en el motor de SQL Server, al igual que Azure SQL, que nos va a permitir disponer de una plataforma de datos realmente unificada, al posibilitarnos que alberguemos cargas de trabajo operacionales también en MIcrosoft Fabric, extendiendo el concepto SaaS de Microsoft Fabric, a los sistemas de bases de datos transaccionales.

microsoft-fabric-databases

La creación de una base de datos, es tan sencilla, como la de cualquier otro item de Fabric. Una vez activada la opción a nivel de tenant de Fabric, puesto que se trata de una opción todavía en preview, nos aparecerá la posibilidad de crear una nueva base de datos, a la que únicamente tenemos que proporcionarle un nombre.

new-database

Una vez, creada la base de datos, se nos abre el Editor en el que podemos ver todas las opciones disponibles para la carga de datos y el desarrollo de soluciones.

editor-database

Podemos cargar scripts para la creación de objetos, o podemos cargar datos utilizando dataflows o pipelines de Data Factory, además de poder conectarnos con herramientas externas como SQL Server Management Studio o Azure Data Studio, además de disponer de un API GraphQL que podemos configurar para el acceso a los objetos que tenemos dentro de nuestra base de datos. Para el resto del artículo, en este caso hemos cargado los datos de ejemplo, que nos carga un esquema SalesLT con un subconjunto de tablas y datos de AdventureWorks.

salesLT-tables

Desde un punto de “desarrollo” con T-SQL, podemos crear consultas, o basarnos en plantillas para la creación de los objetos más comunes.

puntos-desarrollo-tsql

Almacenamiento de Datos

Al igual que ocurre con el resto de opciones de almacenamiento, tendremos también un Modelo Semántico y un endpoint de SQL Analytics para analizar y explotar los datos ahí almacenados:

almacenamiento-datos

¿Pero… Y esto por qué? ¿Por qué necesito un SQL analytics endpoint cuando ya puedo lanzar consultas SQL nativas a mi motor SQL?.

Seguro que los que sois curiosos ya os fijasteis que el Editor de base de datos, hay un menú Replicación en el que si revisamos vemos:

editor-base-datos-menu-replicacion

Es decir, los datos se están replicando a tablas Delta que voy a poder consultar desde ese SQL Analytics endpoint, por lo tanto, disponemos, sin necesidad de configurar nada:

• De la posibilidad de lanzar consultas T-SQL al motor SQL para una respuesta en tiempo-real de los datos, y obviamente, realizar modificaciones sobre los mismos si lo necesitamos.

• Un SQL Analytics Endpoint, pensado para consultas más analíticas, que es posible que no tengan el último dato en tiempo real, y que nos habilita la posibilidad de tener un Modelo Semántico en formato Direct Lake contra esos datos replicados.

Todo esto queda patente, si revisamos el Onalake Explorer y vemos la estructura que se crea para cada base de datos:

onalake-explorer

Configurando las Bases de Datos

Si vemos las opciones disponibles a nivel de item, además de las ya comentadas, vemos que tenemos opción para sincronizar el estado de Git, puesto que tenemos soporte automático para CI/CD a través de los proyectos de base de datos, para poder automatizar los pases entre entornos en los que dispongamos de bases de datos.

configurando-bases-datos

Otro aspecto relevante, es el “Performance Summary”.  A través de esta opción, podremos ver los datos de rendimiento de nuestra base de datos, así como el consumo que está realizando de recursos.

performance-summary

Pero no solo eso, sino que también disponemos de un Dashboard de rendimiento desde el que podemos ver todo el detalle.

dashboard-rendimiento

El motor SQL, incorpora todas las capacidades de autoescalado y autoindexación, disponibles en el motor SQL Server, pero siempre es conveniente, poder revisar el rendimiento de nuestras soluciones.

Seguridad

Como cualquier otro item de Microsoft Fabric, tenemos opciones para compartir el acceso a las bases de datos y configurar una serie de permisos, que como se puede apreciar, están orientados al acceso a través de los diferentes endpoints que se exponen, además del acceso al Modelo Semántico que se crea de forma predeterminada.

grant-people-access

Obviamente, tenemos a nuestra disposición toda la gestión de roles, permisos de lectura, escritura, etc.. Que podemos gestionar a través de los comandos T-SQL, como en cualquier base de datos con motor SQL Server.
Adicionalmente, los datos se almacenan cifrados, asegurando la privacidad de los mismos, además de poder utilizar las etiquetas disponibles en Fabric para catalogar nuestros datos.

Escenarios

Más allá de las previsiones de las grandes consultoras, que dicen que para 2028, las plataformas de datos serán unificadas (transaccional y analítica) y que serán gobernadas por la IA, esta posibilidad de disponer de base de datos SQL en Fabric, abre la puerta a diferentes escenarios, como pueden ser:

• Gestionar datos maestros para soluciones analíticas, de un modo completamente integrado y sencillo, en lugar de tener que cargar maestros en Excel o similares.

• Disponibilizar soluciones de ETL-inverso, en las que posibilitamos la modificación de datos analíticos y podemos concentrar esos datos en endpoints SQL.

• Desarrollo de aplicaciones departamentales, orientadas a procesos con un gran componente analítico, y no muchos requerimientos.

Realmente, se trata de una integración que puede abrir la puerta a otros muchos escenarios y simplificar la gestión de datos en compañías de todos los tamaños.

antonio-soto

Antonio Soto

Director Verne Tech