Cachés de datos en un cálculo DAX

Cachés de datos en un cálculo DAX

En este tutorial, aprenderá qué hacen los cachés de datos en un cálculo DAX. Comprenderá cómo funcionan con la fórmula y los motores de almacenamiento para proporcionar respuestas a sus consultas.

Tabla de contenido

¿Qué son los cachés de datos?

El motor de almacenamiento interactúa con el motor de fórmulas en forma de caché de datos.

Si recuerda las publicaciones de blog anteriores sobre la estructura de consultas de DAX, sabrá que el motor de fórmulas solicita datos del motor de almacenamiento. Este último luego va a la base de datos, obtiene diferentes tipos de datos y luego los devuelve al motor de fórmulas en forma de caché de datos.

El motor de almacenamiento puede realizar operaciones matemáticas y agregaciones simples, lo que lo hace más rápido. También ofrece paralelismo que puede llenar múltiples cachés de datos a la vez. Una consulta del motor de almacenamiento puede tardar en generar una respuesta. Pero si suma todas las consultas diferentes del motor de almacenamiento, los resultados no serán los mismos porque está llenando más de un caché de datos.

El motor de fórmulas, por otro lado, funciona en consultas complejas. Dado que es un motor de subproceso único, solo puede usar un caché de datos consolidado final. Comienza a trabajar en la caché de datos una vez que el motor de almacenamiento completa todas las solicitudes.

Si la solicitud del motor de fórmulas es exactamente igual a la solicitud anterior, se volverá a utilizar la memoria caché que se devolvió previamente. El motor de almacenamiento es lo suficientemente inteligente como para devolver la misma caché de datos si recibe la misma solicitud. Esto hace que el rendimiento de DAX sea más rápido, ya que los datos ya están almacenados en caché.

Cuando ejecuta una medida, es importante ejecutarla contra un caché frío; siempre evite ejecutar sus consultas en el caché tibio. Una caché tibia significa que la caché de datos del motor de almacenamiento ya está formada y lista para ser devuelta.

¿Cuáles son las características clave?

Los cachés de datos son tablas materializadas en la memoria que lleva tiempo y consume memoria RAM. Siempre tenga en cuenta que la materialización debe ser lo más baja posible.

Otra característica clave es que estos cachés no están comprimidos . Una vez que sale del motor de almacenamiento y se envía al motor de fórmulas, la caché de datos se convierte en una tabla completa sin comprimir en la memoria. Esta ejecución es mucho más lenta que una solicitud de motor de almacenamiento del mismo nivel que está todo en la memoria y comprimido.

No hay problema con usar el motor de fórmulas; solo necesita hacer que el motor de almacenamiento haga el trabajo tanto como sea posible.

Los cachés de datos también son temporales. Existen por un tiempo y luego desaparecen. Aunque se materialicen en la memoria, no son persistentes, por lo que se borrarán.

¿Dónde encontrar cachés de datos?

Puede encontrar esta información en la columna de registros de los planes de consultas físicas y en los tiempos del servidor de DAX Studio en la columna de filas . Mostrará cuántas filas produce el motor de almacenamiento y se envían al motor de fórmula.

Si ejecuta ciertas pruebas en los tiempos del servidor, notará que el recuento de filas puede estar un poco desfasado. Esta es solo una guía de cuántas filas está levantando.

Lo principal a tener en cuenta con los cachés de datos es que la cantidad de filas materializadas debe ser igual a la cantidad de filas necesarias para que la salida sea lo más cercana posible. Si hay una gran diferencia en el número de filas, significa que la operación de orden está desactivada.

Si la cantidad de filas materializadas es igual a la cantidad de filas necesarias para la salida, se denomina materialización tardía . Sin embargo, si el número de filas materializadas es mayor que el número de filas necesarias, se denomina materialización temprana . Dado que estos son datos sin comprimir, no debe permitir que ambos motores los materialicen porque ralentizará el rendimiento de DAX.

Este es un ejemplo de una Materialización Temprana:

Cachés de datos en un cálculo DAX

En el Plan de consulta física, puede ver que se extraen 25 millones de filas en la columna de registros. Sin embargo, la consulta de muestra no necesita 25 millones de filas de salida. Esto significa que la consulta extrajo demasiadas filas de las necesarias.

Si observa los tiempos del servidor, verá la misma cantidad de filas extraídas en la columna Filas.

Cachés de datos en un cálculo DAX

En las imágenes de la CPU SE , verá un número si hay paralelismos en sus consultas. Como este ejemplo no tiene ninguno, mostró 0.

Cachés de datos en un cálculo DAX


Qué es DAX Studio en LuckyTemplates Desktop
DAX Tutorial: contexto y el motor de cálculo
VertiPaq Analyzer en DAX Studio | Tutorial de LuckyTemplates

Conclusión

Un DAX de rendimiento lento puede significar que su consulta está extrayendo cachés innecesarios para que sus motores funcionen. Los cachés de datos son responsables de la velocidad y la precisión de su DAX porque los motores funcionan con ellos para generar respuestas para diferentes solicitudes. Para un rendimiento DAX más rápido, puede resolver este problema creando correctamente su modelo de datos y medidas DAX.


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.