Comparteix via


Optimización y almacenamiento en caché del conjunto de datos

Los paneles de IA/BI son valiosos análisis de datos y herramientas de toma de decisiones, y los tiempos de carga eficientes pueden mejorar significativamente la experiencia del usuario. En este artículo se explica cómo el almacenamiento en caché y las optimizaciones de conjuntos de datos hacen que los paneles sean más eficaces y eficientes.

Rendimiento de las consultas

Puede inspeccionar las consultas y su rendimiento en el historial de consultas del área de trabajo. El historial de consultas muestra consultas SQL realizadas mediante almacenes de SQL. Haga clic en el icono Historial.Historial de consultas en la barra lateral para ver el historial de consultas. Consulte historial de consultas.

En el caso de los conjuntos de datos de panel, Azure Databricks aplica optimizaciones de rendimiento en función del tamaño del resultado del conjunto de datos. Para obtener información sobre los umbrales de rendimiento del conjunto de datos, consulte Umbrales de rendimiento del conjunto de datos.

Optimizaciones de conjunto de datos

Los paneles se optimizan para la velocidad realizando operaciones de filtrado y agregación, controladas por filtros o configuraciones de visualización, directamente en el explorador cuando sea posible. Estas optimizaciones de rendimiento tienen los límites siguientes:

Tamaño del conjunto de datos Comportamiento de procesamiento
Pequeño (≤ 100 000 filas y ≤ 100 MB) Para obtener una velocidad óptima del panel, el filtrado y la agregación se ejecutan en el explorador después de que se cargue el conjunto de datos inicial. Dado que estas operaciones se procesan localmente, evitan la interacción adicional con el almacenamiento de datos y no aparecen en el historial de consultas.
Grande (> 100 000 filas o > 100 MB) El filtrado y la agregación se controlan en el servidor back-end en lugar de en el explorador. La consulta inicial del conjunto de datos se ajusta en una cláusula SQL WITH y la consulta resultante aparece en el historial de consultas.
Consultas combinadas (conjuntos de datos grandes) Para las consultas de visualización enviadas al backend, se combinan consultas de visualización independientes en el mismo conjunto de datos que comparten las mismas cláusulas de GROUP BY y predicados de filtro en una sola consulta para su procesamiento. En este caso, los usuarios pueden ver una consulta combinada en el historial de consultas que captura los resultados de varias visualizaciones o filtros.

Nota:

Los parámetros sustituyen los valores directamente en una consulta en tiempo de ejecución, por lo que estas operaciones siempre aparecen en el historial de consultas.

Almacenamiento en caché y actualización de datos

Los paneles mantienen una caché de resultados de 24 horas para optimizar los tiempos de carga iniciales, funcionando con el máximo esfuerzo. Esto significa que, aunque el sistema siempre intenta usar los resultados históricos de la consulta vinculados a las credenciales del panel para mejorar el rendimiento, hay algunos casos en los que los resultados almacenados en caché no se pueden crear ni mantener. Los datos almacenados en caché no tienen límite de memoria específico ni recuento fijo de consultas.

Para mejorar los tiempos de carga, los paneles comprueban primero la caché del panel. Si no hay ningún resultado de caché disponible, comprueban la caché de resultados de la consulta genérica. Aunque la caché del panel puede devolver resultados obsoletos durante hasta 24 horas, la caché de resultados de la consulta nunca devuelve datos obsoletos. Cuando cambian los datos subyacentes, se invalidan todas las entradas de caché de resultados de consulta.

En el caso de los paneles de varias páginas, se aplica lo siguiente:

  • La edición de un panel de borrador carga y almacena en caché todos los conjuntos de datos.
  • Cuando los visores abren un panel publicado, solo se ejecutan y almacenan en caché los conjuntos de datos que admiten la página activa.
  • Si se establece una programación, todos los conjuntos de datos se actualizan según la programación y esos resultados se almacenan en caché.

En la tabla siguiente se explica cómo el almacenamiento en caché varía según el estado del panel y las credenciales:

Tipo de panel Tipo de almacenamiento en caché
Tablero de control publicado con permisos para compartir datos Caché compartida. Todos los espectadores ven los mismos resultados.
Borrador de cuadro de mando o cuadro de mando publicado con permisos individuales de datos Por caché de usuario. Los visores ven los resultados en función de sus permisos de datos.

Los paneles de control utilizan automáticamente los resultados de las consultas almacenados en caché si los datos subyacentes permanecen inalterados tras la última consulta o si los resultados se recuperaron hace menos de 24 horas. Si existen resultados obsoletos y se aplican parámetros al panel, las consultas se volverán a ejecutar a menos que se usaran los mismos parámetros en las últimas 24 horas. Del mismo modo, la aplicación de filtros a conjuntos de datos que superen 100 000 filas solicita que las consultas se vuelvan a ejecutar a menos que los mismos filtros se aplicaran anteriormente en las últimas 24 horas.

Funciones de marca de tiempo actuales y invalidación de caché

El uso current_timestamp() de funciones similares en la consulta SQL no invalida la caché de nivel de panel. Sin embargo, estas funciones invalidan la caché de resultados de la consulta, que inspecciona la consulta SQL y desencadenan una actualización de caché.

Consultas programadas

Agregar un cronograma a un panel publicado con permisos de datos compartidos puede acelerar significativamente el proceso de carga inicial para todos los usuarios del panel.

Para cada actualización programada del panel, se produce lo siguiente:

  • Toda la lógica SQL que define los conjuntos de datos se ejecuta en el intervalo de tiempo designado.
  • Los resultados rellenan la caché de resultados de la consulta y ayudan a mejorar el tiempo de carga del panel inicial.