¿Qué es Dataverse?

Siempre me he preguntado que hay detrás de Dataverse, resumimos mucho diciendo que es un SQL en Azure haciendo referencia a que es una base de datos relacional. Realmente hay mucho más en este servicio pero... ¿Qué es? En este artículo pretendo mostrar que hay en esa enorme caja llamada Dataverse.


Dataverse es un servicio que se construye sobre Azure, aprovechando todos los recursos y la seguridad que nos ofrece esta plataforma.

En cuanto a la seguridad, el acceso está garantizado por nuestras identidades en Azure AD y los datos son encriptados en reposo y en transito.


Los datos dentro de Dataverse se almacenan en Azure SQL Elastic Pool, Azure storage, Cosmos DB o en Azure Data Lake.


Dado que en Dataverse podemos habilitar la auditoria, es decir, auditar aquellas operaciones que se realicen en la base de datos, estos logs se almacenan en Cosmos DB.


También disponemos de un Blob Storage para el almacenamiento de ficheros, es decir, cuando un fichero es adjuntado a un registro en Dataverse este irá a un Blob Storage en Azure.


Además, para poder realizar búsquedas en Dataverse se utiliza el motor de búsqueda de Azure search. De hecho, existe un conector dentro de Power Automate que nos permite hacer búsquedas por relevancia dentro de los registros de Dataverse, y para ello utiliza la AI de Azure Cognitive Search.


En definitiva, en función del tipo de información a almacenar se usan unos servicios u otros de Azure.


Adicionalmente a toda la parte de almacenamiento y modelado de datos, Dataverse dispone de una API que nos permite integrarla con otros sistemas o incluso hacer desarrollos en las soluciones de Power Apps utilizando esta API.



¿Cómo se gestiona la seguridad en Dataverse?


La seguridad en Dataverse funciona por roles, los roles son privilegios que pueden ser aplicables a usuarios, equipos y unidades de negocio. Estos roles son acumulativos y siempre prevalecerá la suma de los roles que conceda mayores privilegios de acceso.

El tipo de privilegios para cada una de las tablas o entidades es: crear, leer, escribir, eliminar, anexar, anexar a, asignar y compartir.


Los roles se aplican tanto a nivel de fila como a nivel de columna o campo, este ultimo nos ofrece una mayor granularidad de permisos. Además estos permisos pueden ser por jerarquía o por posición.


Roles de seguridad y privilegios - Power Platform | Microsoft Docs


¿Por que usar Dataverse?


Crear una estructura de servicios como la que disponemos en Dataverse es más costosa. Además, normalmente cuando disponemos de un muchas aplicaciones, sistemas y servicios, la estructura es menos homogénea en cuanto a que las APIs son diferentes y el modelo de seguridad es probable que sea diferente también.


Dataverse nos proporciona un modelo de datos común y una plataforma común para el desarrollo de nuestras aplicaciones. Una plataforma totalmente escalable y fácil de gestionar que requiere poco código lo que mejora los tiempos de desarrollo y permite a los citizen developers desarrollar con ella.