Caché de datos: qué es y cómo ayuda a optimizar las consultas

Caché de datos: qué es y cómo ayuda a optimizar las consultas

En este tutorial, aprenderá qué es un caché de datos y por qué es importante. Un caché de datos almacena fragmentos de datos que podrían volverse valiosos para uso futuro.

Si necesita la misma información en una medida o acción futura, la caché de datos le proporcionará la información que necesita. Elimina la necesidad de que el sistema obtenga de nuevo los mismos conjuntos de datos.

En este tutorial, revisará ocho cosas importantes que debe recordar cuando trabaje con cachés de datos en LuckyTemplates:

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Tabla de contenido

Definición y propósito de un caché de datos

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Una caché de datos es una tabla temporal creada en la memoria por el motor de almacenamiento . Esta tabla temporal se envía al motor de fórmulas, que luego itera sobre esta información y realiza diferentes operaciones después de la consulta.

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Toda la comunicación entre el motor de fórmulas y el motor de almacenamiento siempre ocurre en forma de caché de datos. El motor de fórmulas prepara los planes de consulta y luego envía las instrucciones al motor de almacenamiento. El motor de almacenamiento luego lo envía de vuelta al motor de fórmulas que devuelve el resultado al usuario.

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Dado que el motor de fórmulas no tiene acceso directo a los datos almacenados en DirectQuery y VertiPaq, depende del motor de almacenamiento para las cachés de datos.

Caché de datos: qué es y cómo ayuda a optimizar las consultas

La caché de datos enviada por el motor de almacenamiento está en un formato sin comprimir. Esto significa que se puede reducir el tamaño de los datos almacenados en la herramienta Vertipaq.

Pero cuando llega el momento de devolver la caché de datos al motor de fórmulas, no se puede comprimir porque el motor de fórmulas no funciona con conjuntos de datos comprimidos.

¿Cuál es el impacto de un caché de datos en la RAM?

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Si el motor de almacenamiento envía grandes cantidades de cachés de datos, ocupará mucho espacio en la memoria RAM del software. También va a consumir una cantidad significativa de tiempo para que el motor de fórmulas realice iteraciones y produzca un resultado.

Entonces, cuando escribe su código DAX, debe comprender que debe escribirse de una manera que minimice las filas en el caché de datos.

El mejor de los casos sería hacer coincidir la cantidad de filas que se muestran en el objeto visual con la cantidad de filas devueltas en la memoria caché de datos.

La mayoría de las veces, es difícil devolver la misma cantidad de filas. Si esto sucede, deberá revisar su código DAX y desglosarlo de una manera que optimice el caché de datos producido por el motor de almacenamiento.

Cómo una caché de datos optimiza las consultas

Funciones no optimizadas

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Algunas de las funciones del lenguaje DAX no están optimizadas para el motor de almacenamiento. Para entender mejor esto, veamos un ejemplo.

Por ejemplo, en su código, en lugar de usar SUMMARIZE, puede usar la función Las funciones SUMMARIZE y GROUPBY realizan la misma operación. Sin embargo, hay diferencias notables según el escenario.

La función GROUPBY no está optimizada para el motor de almacenamiento. Si usa la función GROUPBY en una tabla de hechos con 12 millones de filas, producirá un caché de datos con la misma cantidad de filas. Esto puede ser tan grande como 600 mb hasta 1 gb.

Este tamaño puede ejercer mucha presión sobre su RAM. Entonces, en lugar de usar GROUPBY, use . La función SUMMARIZE da como resultado un tamaño de caché de datos más pequeño. Puede emparejarlo con GROUPBY como una función de nivel superior.

Reiteraciones reducidas

Cuando escribe sus medidas o consultas DAX, debe asegurarse de que el código producido entre bastidores sea adecuado para el motor de almacenamiento.

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Debe escribir su código DAX de una manera que produzca un caché de datos que también se pueda usar en consultas posteriores. El beneficio de hacer esto es que, en lugar de realizar un escaneo por separado con VertiPaq , el motor de almacenamiento verificará si ya se recibió una consulta similar.

Si esto es cierto, significa que su caché de datos está disponible en la memoria. Entonces, en lugar de escanear la consulta nuevamente, VertiPaq simplemente la devolverá desde la memoria caché al motor de fórmulas.

Caché de datos: qué es y cómo ayuda a optimizar las consultas

Si ve un operador CALLBACKDATAID en su consulta del motor de almacenamiento, significa que esas consultas no se pueden almacenar en caché. Si en caso de que se envíe una consulta similar al motor de almacenamiento, realizará una reiteración.

Por lo tanto, VertiPaq tendrá que llamar al motor de fórmulas para resolver la consulta. Esto aumenta el tiempo de ejecución general porque la memoria caché no se puede usar en este caso.

Conclusión

El caché de datos es tu mejor amigo en el lenguaje DAX. Recuerde escribir su código DAX de manera que maximice el espacio de almacenamiento y reduzca el número de iteraciones de la herramienta VertiPaq. Puede reutilizar la memoria caché de datos ya producida por el motor de almacenamiento para reducir el tiempo de ejecución de la consulta.


Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber