Las tablas elásticas son un nuevo tipo de estructura que Microsoft ha añadido para mantener grandes cantidades de datos en los entornos de Power Platform sin que estos hagan tanto uso de la capacidad del entorno. En cuanto al uso y apariencia, la experiencia es la misma que con una tabla estándar, pero si tienen unas características únicas que facilitan la gestión de millones de registros sin sacrificar el rendimiento del entorno y sin tener que gestionar continuamente el almacenamiento y borrado de datos de un histórico.

En este artículo, se expondrá de una forma clara y resumida las ventajas que pueden aportar este nuevo tipo de tablas en los entornos.

Más registros, menos espacio ocupado y potencial ahorro

Esto es el cambio más evidente que podremos encontrarnos con el uso de las tablas elásticas. Su forma de organizar los registros en estas tablas causa que no ocupen tanto como en las tablas estándar. Al distribuir automáticamente sus datos en múltiples nodos, garantizan una utilización eficiente de los recursos y permiten escalar fácilmente adaptándose a las fluctuaciones del volumen de datos sin comprometer el rendimiento.

Esto se traduce también en eficiencia de coste por almacenamiento, ya que las tablas elásticas ajustan dinámicamente sus recursos según demanda. En casos en los que la cantidad de registros que contienen dichas tablas elásticas sea fluctuante, el modelo de precios minimiza los gastos de almacenamiento al no necesitar de un almacenamiento fijo en el tiempo, como si pasa con una estructura basada solo en tablas estándar. Esto se puede entender mejor con un ejemplo:

Consideremos un escenario hipotético en el que una empresa, llamémosla compañía Watermelon, está utilizando Dynamics 365 para gestionar sus datos de clientes. La compañía Watermelon ha experimentado fluctuaciones en el volumen de sus datos debido a variaciones estacionales en la actividad de los clientes. Están considerando si migrar su almacenamiento de datos a Tablas Elásticas dentro de Dynamics 365 para optimizar los costos.
Antes de implementar Tablas Elásticas, la compañía Watermelon pagaba una tarifa mensual fija por su almacenamiento de datos, independientemente del uso real. Digamos que su costo mensual fijo por almacenamiento era de 1000 €.
Ahora, comparemos este modelo de costo fijo con el potencial de ahorro de costos que la compañía Watermelon podría lograr al cambiar a Tablas Elásticas.
Modelo de Coste Fijo:

Coste mensual de almacenamiento: 1000 € (independientemente del uso)
Coste anual total: 1000 € * 12 = 12 000 €

Modelo de Tablas Elásticas:

Con Tablas Elásticas, la compañía Watermelon paga solo por el almacenamiento real utilizado, que varía según el volumen de sus datos. Durante los meses pico, el volumen de datos de la compañía Watermelon alcanza los 500 GB, mientras que, durante los meses de baja actividad, desciende a 200 GB. Teniendo en cuenta que el coste del GB por mes con Tablas Elásticas es de 0,10 €, podemos obtener el coste de ambos tipos de mes.

Coste del Mes Pico:

Almacenamiento utilizado: 500 GB

Coste: 500 GB * 0,10 € = 50 €

Coste del Mes de Baja Actividad:

Almacenamiento utilizado: 200 GB

Coste: 200 GB * 0,10 € = 20 €

Y con ambos costes, si tenemos una estimación en la que se cumple que medio año están en meses pico de volumen de datos y el resto del año están en meses de baja actividad, podemos sacar el siguiente coste anual.

Coste Anual Total con Tablas Elásticas:

(Coste del Mes Pico * 6 meses) + (Coste del Mes de Baja Actividad * 6 meses)

(50 € * 6) + (20 € * 6) = 300 € + 120 € = 420 €

En este ejemplo, al migrar a Tablas Elásticas, la compañía Watermelon podría potencialmente ahorrar:

Ahorro de Coste Anual = Coste Anual Total (Modelo de Coste Fijo) – Coste Anual Total (Modelo de Tablas Elásticas)

Ahorro de Coste Anual = 12 000 € – 420 € = 11 580 €

 

*(Datos no reales, solo ilustrativos)

Como se señaló antes del ejemplo, estos datos son solo orientativos y habría que estudiar la casuística de cada cliente y sus entornos. Pero esto demuestra que existe un potencial ahorro al pasar el modelo de datos del entorno a Tablas elásticas.

Registros con fecha de caducidad

En cada tabla elástica que haya sido creada, el sistema se genera automáticamente una columna de enteros que se llama Periodo de vida, que sirve para poder establecer el tiempo de vida que tendrán esos registros en la tabla. Este tiempo se establece en segundos y cuando este número de segundos se acabe, el registro será eliminado de la base de datos de forma automática.

Todos los registros no tendrán porque tener este periodo de vida establecido. De hecho, si no se establece ningún valor, el registro seguirá indefinidamente en la tabla elástica, al igual que los registros de una tabla estándar.

Esto puede ser muy útil para datos que deben tener una persistencia en el tiempo pero que por definición dejan de servir tras unos años en el sistema. Ahorrando así el preparar periódicamente borrados masivos de estas tablas.

Si se volviera a modificar cualquier columna del registro o la propia columna Periodo de vida, el registro tomará como referencia la fecha de última modificación para aplicar ese tiempo en segundos que debe permanecer el registro en la base de datos. Es decir, cualquier registro creado se puede retrasar su fecha de eliminación o incluso evitar que este sea borrado al dejar en blanco la columna Periodo de vida.

Operaciones masivas de gran volumen con mejor rendimiento

Entre otras virtudes que nos ofrecen estas tablas, Microsoft indica que se consiguen mejoras de 10 veces el rendimiento con los mismos límites de limitación de la API de Dataverse. Es decir, se pueden realizar operaciones de creación, actualización y borrado de registros en muchos más registros y en menos tiempo de lo que se tardaría en tablas estándar.

Esto es debido también a la forma de estructurarse los datos en múltiples nodos, ya que esta estructura distribuida permite el procesamiento en paralelo, acelerando la recuperación y análisis de datos, mejorando así la capacidad de respuesta del sistema en general. Por lo tanto, la información no solo ocupa menos en el sistema, sino que también mejora el rendimiento de este

Facilidad de creación y de uso de las tablas elásticas

En cuanto al uso y creación de tablas elásticas en un entorno, no hay cambios significativos ya que solo se pueden distinguir internamente. Cuando estas delante de una tabla elástica ves e interactúas igual que con una tabla estándar.

Usos y ventajas de las tablas elásticas Axazure

Navegar entre los registros de los dos tipos de tablas se hace exactamente igual, por lo que no hay ningún paso previo al que preparase si se decide crear tablas elásticas en un entorno.

Usos y ventajas de las tablas elásticas Axazure

En cuanto a lo que cambia para realizar la creación de una tabla elástica con respecto a una estándar, lo que hay que tener en consideración es que hay que entrar desde «Establecer propiedades avanzadas»:

Usos y ventajas de las tablas elásticas Axazure

Ya que haciendo esto, se nos abrirá un panel en el que, si desplegamos con la opción de «Opciones avanzadas», podremos hacer el cambio que es necesario para diferenciar la tabla como elástica. Simplemente consiste en poner en el desplegable de «Tipo» como «Elástico».

Usos y ventajas de las tablas elásticas Axazure

Con esto, el sistema al crear la tabla ya realizará una serie de pasos distintos a cuando genera una tabla estándar. Creará columnas que no aparecen en el otro tipo de tabla y viceversa:

  • Creación de columna Periodo de vida
  • No generará las columnas Statuscode y Statecode que son característicos de las tablas estándar
  • Tampoco se genera la columna Código de zona horaria de conversión UTC ni la columna Unmero de versión de regla de zona horaria.
  • Se genera el campo Id de partición. Este puede servir para especificar que diversos registros queden bajo una misma partición lógica para que así si realizan operaciones de escritura o de recuperación de datos, al estar trabajando bajo la misma partición, el rendimiento será mayor. Este valor no es obligatorio asignarlo, se puede dejar vacío y es el propio sistema el que se encargará de gestionar de forma transparente y automática las particiones.

Adicionalmente a estos cambios, las tablas elásticas tienen una serie de funciones que actualmente no están admitidas y hay que tenerlo en consideración antes de crear una tabla de este tipo.

  • Reglas de negocio
  • Gráficos
  • Flujos de proceso de negocio
  • Un conector de Dataverse para Power BI
  • Relaciones N:N (varios a varios) con tablas estándar
  • Clave alternativa
  • Detección de duplicados
  • Columnas calculadas y consolidadas
  • Columnas de moneda
  • Comparación de columnas en consultas mediante FetchXML, Web API o SDK API
  • Uso compartido de tablas
  • Índices compuestos
  • Operaciones en cascada: Eliminar, Reparentar, Asignar, Compartir, Dejar de compartir
  • Ordenación en columnas de búsqueda
  • Consultas agregadas:
    • Valor distinto de attribute1 cuando orderby es según el valor attribute2
    • Paginación cuando se tienen múltiples valores distintos
    • Distinto con múltiples ordenar por
    • Ordenar por y Agrupar por juntos
    • Agrupar por según entidad de enlace (combinación externa izquierda)
    • Distinto con tablas propiedad del usuario
  • Conexiones de tabla
  • Equipos de acceso
  • Colas
  • Adjuntos

También hay que tener en cuenta que hay 4 tipos de datos de columna que actualmente no están disponibles con tablas elásticas:

  • Moneda
  • Fórmula
  • Formato de número entero distinto de Ninguno (Duración, Código de idioma y Zona horaria)
  • Búsqueda basada en la opción Cliente

Por último, hay que mencionar que por ahora no hay ninguna manera que facilite el convertir una tabla estándar a una elástica. Esta estructura interna se establece en el momento de creación, por lo que, si se desea transformar una tabla ya existente en elástica, habrá que generar una nueva tabla elástica y hacer migración de los datos de la tabla estándar existente a la nueva tabla elástica.

Conclusiones

Las tablas elásticas son un nuevo tipo de tabla que ofrecen los entornos de Power Platform para escenarios en los que se existen gran volumetría de datos. Estos podrán fluctuar en el tiempo con un escalado y ajuste dinámico de recursos que hará que el rendimiento y la latencia del entorno no se vea perjudicado. A la vez, ofrece una solución para recudir la capacidad que tenemos almacenada en el entorno e incluso un sistema de expiración de la vida de los registros para poder despreocuparnos de la limpieza de los datos desde el momento en el que estos son creados. Además, todo esto aporta mejoras de rendimiento y tiempos en cuanto a la realización de operaciones en los datos a través de la misma API de Dataverse que se usa para las tablas estándar ya existentes.

Espero que os sirva de ayuda. Nos vemos en el siguiente #blog : )

About the Author: Antonio Rodríguez

Usos y ventajas de las tablas elásticas Axazure
Senior Tech Consultant Dynamics 365 CE & PP

¿Quieres compartir?