Поделиться через


Оптимизация набора данных и кэширование

Панели мониторинга ИИ/BI являются ценными средствами анализа данных и принятия решений, а эффективное время загрузки может значительно улучшить взаимодействие с пользователем. В этой статье объясняется, как оптимизация кэширования и набора данных делают панели мониторинга более эффективными и эффективными.

Производительность запросов

Запросы и их производительность можно проверить в журнале запросов рабочей области. В журнале запросов отображаются все SQL-запросы, выполняемые через хранилища SQL. Щелкните журнал Значок журнала запросов на боковой панели, чтобы просмотреть журнал запросов. См . журнал запросов.

Для наборов данных панели мониторинга Azure Databricks применяет оптимизацию производительности в зависимости от размера результата набора данных.

Оптимизация набора данных

Наборы данных панели мониторинга AI/BI включают следующие оптимизации производительности:

  • Если размер результата набора данных мал (меньше или равен 100K строкам или 100 МБ, что меньше), результат набора данных извлекается клиенту, а фильтрация и агрегирование для визуализации выполняются в браузере. Фильтрация и агрегирование данных для небольших наборов данных очень быстра и гарантирует, что набор данных небольшой, может помочь оптимизировать производительность панели мониторинга. При использовании небольших наборов данных в журнале запросов отображается только запрос набора данных.
  • Если размер результата набора данных велик (больше 100K строк или 100 МБ), текст запроса набора данных упаковывается в предложение SQL WITH , а фильтрация и агрегирование для визуализации выполняется в запросе на серверной части, а не в браузере. При использовании больших наборов данных запрос визуализации отображается в журнале запросов.
  • Для запросов визуализации, отправленных в серверную часть, отдельные запросы визуализации для одного набора данных, совместного с одинаковыми GROUP BY предложениями и предикатами фильтров, объединяются в один запрос для обработки. В этом случае пользователи могут видеть один объединенный запрос в журнале запросов, который извлекает результаты для нескольких визуализаций.

Кэширование и свежесть данных

Панели мониторинга поддерживают 24-часовой кэш результатов для оптимизации времени начальной загрузки, работая на основе лучших усилий. Это означает, что в то время как система всегда пытается использовать исторические результаты запроса, связанные с учетными данными панели мониторинга для повышения производительности, существуют некоторые случаи, когда кэшированные результаты не могут быть созданы или сохранены.

В следующей таблице объясняется, как кэширование зависит от состояния панели мониторинга и учетных данных:

Тип панели мониторинга Тип кэширования
Опубликованная панель мониторинга с внедренными учетными данными Общий кэш. Все зрители видят одинаковые результаты.
Черновик панели мониторинга или опубликованная панель мониторинга без внедренных учетных данных Кэш пользователя. Зрители видят результаты на основе их разрешений на данные.

Панели мониторинга автоматически используют кэшированные результаты запроса, если базовые данные остаются неизменными после последнего запроса или если результаты были получены менее 24 часов назад. Если устаревшие результаты существуют и параметры применяются к панели мониторинга, запросы будут выполняться повторно, если за последние 24 часа не использовались те же параметры. Аналогичным образом применение фильтров к наборам данных, превышающим 100 000 строк, запрашивает повторное выполнение запросов, если только те же фильтры не были применены ранее за последние 24 часа.

Запланированные запросы

Добавление расписания на опубликованную панель мониторинга с внедренными учетными данными может значительно ускорить начальный процесс загрузки для всех зрителей панелей мониторинга.

Для каждого запланированного обновления панели мониторинга происходит следующее:

  • Все логики SQL, определяющие наборы данных, выполняются в заданном интервале времени.
  • Результаты заполняют кэш результатов запроса и помогают улучшить начальное время загрузки панели мониторинга.