Por fin velocidad en Dataverse gracias a Dataverse elastic tables.
Si has trabajado con Dataverse, ya sea con Power Platform o con Dynamics 365 te habrás dado cuenta que ofrece muchas cosas buenas, pero que la velocidad no sería una de ellas. Sobre todo si lo comparas con otras bases de datos. Vale, no es exactamente lo mismo, Dataverse es mas que simplemente persistir datos, pero a veces necesitas un poco de «chicha». En la operativa diaria de la aplicación no se nota tanto, pero cuando tenemos que hacer cargas de datos o trabajar con una volumetría alta donde has de responder en tiempos bajos, las velocidades que ofrece Dataverse nos hace sufrir como desarrolladores.
Las tablas elásticas (elastic tables) son un nuevo tipo de tabla que puedes crear en Dataverse, que se parecen mucho a las tablas estándar, con la diferencia de que por detrás funcionan con Azure Cosmos DB. Cuidado, que en el momento de escribir este artículo están en preview, por lo tanto, has de tener eso en consideración a la hora de usarlas.
Crear una tabla elástica es tan sencillo como crear las tablas estándar, con la única diferencia de seleccionar el tipo de tabla cuando la creamos:
Una vez creada la tabla, podremos usarla normalmente e incluso crear relaciones del tipo «one to many» y «many to one» con tablas estándar.
En la documentación oficial explican algunas limitaciones y casos de uso, así que directamente te recomiendo que la revises antes de usarla.
Como dato final, una carga de 500.000 registros se ha realizado en algo mas de un minuto (unos 80 segundos), números que comparados con tablas estándar son una autentica locura.