数据集优化和缓存
AI/BI 仪表板是有价值的数据分析和决策工具,高效的加载时间可以显著提高用户体验。 本文介绍缓存和数据集优化如何提高仪表板的性能和效率。
查询性能
可以在工作区查询历史记录中检查查询及其性能。 查询历史记录显示了使用 SQL 仓库执行的 SQL 查询。 单击边栏中的 “查询历史记录”可查看查询历史记录。 请参阅查询历史记录。
对于仪表板数据集,Azure Databricks 根据数据集的结果大小应用性能优化。
数据集优化
AI/BI 仪表板数据集包括以下性能优化:
- 如果数据集结果大小较小(小于 100K 行或 100MB,以较小者为准),则会将数据集结果拉取到客户端,并在浏览器上执行特定于可视化效果的筛选和聚合。 筛选和聚合小型数据集的数据非常快,并且确保数据集较小有助于优化仪表板性能。 对于小型数据集,只有数据集查询会出现查询历史记录中。
- 如果数据集结果大小较大(大于 100K 行或者 100MB),数据集查询文本将包装在 SQL
WITH
子句中,并且特定于可视化效果的筛选和聚合将在后端(而不是浏览器)的查询中执行。 对于大型数据集,可视化查询将出现在查询历史记录中。 - 对于发送到后端的可视化查询,针对共享相同
GROUP BY
子句和筛选谓词的同一数据集的多个单独可视化查询将组合为单个查询以供处理。 在这种情况下,用户可能会在查询历史记录中看到一个组合查询,该查询将提取多个可视化效果的结果。
缓存和数据刷新
仪表板维护 24 小时的结果缓存,以优化初始加载时间,并尽最大努力运行。 这意味着,虽然系统总是尝试使用与仪表板凭据相关联的历史查询结果来提高性能,但在某些情况下无法创建或维护缓存结果。
下表说明缓存如何因仪表板状态和凭据而异:
仪表板类型 | 缓存类型 |
---|---|
带有嵌入凭据的已发布仪表板 | 共享缓存。 所有查看者都看到相同的结果。 |
不带有嵌入凭据的草稿仪表板或已发布仪表板 | 每个用户缓存。 查看者根据其数据权限查看结果。 |
如果基础数据在上次查询后保持不变,或者结果在 24 小时前被检索,仪表板会自动使用缓存的查询结果。 如果存在过时的结果并且参数应用于仪表板,则除非在过去 24 小时内使用相同的参数,否则查询将重新运行。 同样,向超过 100,000 行的数据集应用筛选器会提示查询重新运行,除非过去 24 小时内应用了相同的筛选器。
计划的查询
将计划添加到具有嵌入式凭据的已发布仪表板可以显著加快所有仪表板查看者的初始加载过程。
对于每个计划的仪表板更新,将发生以下情况:
- 定义数据集的所有 SQL 逻辑都以指定的时间间隔运行。
- 结果会填充查询结果缓存,并帮助改进初始仪表板加载时间。