Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Результаты запросов на панели мониторинга AI/BI кэшируются для улучшения времени загрузки. На этой странице объясняется, как работает кэширование панелей мониторинга и оптимизация набора данных, когда панели мониторинга используют кэшированные результаты и при повторном запуске запросов к хранилищу SQL.
Производительность запросов
Запросы и их производительность можно проверить в журнале запросов рабочей области. В журнале запросов показаны запросы SQL, выполняемые с помощью хранилищ SQL. Щелкните Журнал запросов на боковой панели для просмотра журнала запросов. См. журнал запросов.
Для наборов данных панели мониторинга Azure Databricks применяет оптимизацию производительности в зависимости от размера результата набора данных. Сведения о порогах производительности набора данных см. в разделе "Пороговые значения производительности набора данных".
Оптимизация набора данных
Панели мониторинга оптимизируют скорость, выполняя операции фильтрации и агрегирования, управляемые фильтрами или параметрами визуализации, непосредственно в браузере по возможности. Эти оптимизации производительности имеют следующие ограничения:
| Размер набора данных | Поведение обработки |
|---|---|
| Small (≤ 100K строк и ≤ 100 МБ) | Для оптимальной скорости панели мониторинга фильтрация и агрегирование выполняются в браузере после загрузки начального набора данных. Так как эти операции обрабатываются локально, они не будут взаимодействовать с хранилищем данных и не отображаются в журнале запросов. |
| Большие (> 100 000 строк или > 100 МБ) | Фильтрация и агрегирование обрабатываются на сервере серверной части, а не в браузере. Исходный запрос набора данных упаковывается в предложение SQL WITH , а результирующий запрос отображается в журнале запросов. |
| Объединенные запросы (большие наборы данных) | Для запросов визуализации, отправленных в серверную часть, отдельные запросы визуализации по одному и тому же набору данных, которые имеют одинаковые GROUP BY предложения и предикаты фильтрации, объединяются в один запрос для обработки. В этом случае пользователи могут видеть объединенный запрос в журнале запросов, который извлекает результаты для нескольких визуализаций или фильтров. |
Замечание
Параметры заменяют значения непосредственно в запрос во время выполнения, поэтому эти операции всегда отображаются в журнале запросов.
Замечание
Скачивание усечённой таблицы приводит к выполнению запроса. Если таблица отображает усеченные результаты, так как набор данных превышает 100 000 строк, скачивание данных в виде CSV выполняет запрос к хранилищу SQL. Этот запрос отображается в журнале запросов.
Кэширование и свежесть данных
Панели мониторинга используют 24-часовой кэш результатов для оптимизации времени начальной загрузки, работая на максимально возможной основе. Это означает, что в то время как система всегда пытается использовать исторические результаты запроса, связанные с учетными данными панели мониторинга для повышения производительности, существуют некоторые случаи, когда кэшированные результаты не могут быть созданы или сохранены. Кэшированные данные не имеют определенного ограничения памяти или фиксированного количества запросов.
Чтобы улучшить время загрузки, панели мониторинга сначала проверяют кэш панели мониторинга. Если результаты кэша недоступны, они проверяют универсальный кэш результатов запроса. Эти два кэша недействительны по-разному. Кэш результатов запроса никогда не возвращает устаревшие данные, так как изменение базовых данных делает недействительными все его записи. Кэш панели мониторинга имеет другое поведение недопустимости. Кэш панели мониторинга может возвращать результаты, которые могут быть устаревшими на срок до 24 часов, даже если исходные данные изменились, и изменение исходных данных не приводит к автоматической инвалидции или обновлению кэша панели мониторинга.
Чтобы надежно обновить кэш панели мониторинга, настройте расписание панели мониторинга. Изменение базовых данных не обновляет кэш панели мониторинга самостоятельно, а обновление данных в рамках шага конвейера не обновляет кэш панели мониторинга. Помимо планового обновления, кэш панели мониторинга обновляется только тогда, когда панель мониторинга выполняет запрос, который кэш не может обслужить.
Замечание
Обслуживание результатов из кэша панели мониторинга не запускает хранилище SQL. Когда панель мониторинга возвращает кэшированные результаты, Azure Databricks считывает данные из кэша без выполнения запроса, поэтому базовое SQL-хранилище не нужно запускать. Хранилище запускается только тогда, когда панель мониторинга выполняет запрос, который кэш не может обработать.
Для многостраничных панелей мониторинга применяются следующие действия.
- Редактирование черновика панели мониторинга загружает и кэширует все наборы данных.
- Когда средства просмотра открывают опубликованную панель мониторинга, выполняются и кэшируются только наборы данных, поддерживающие активную страницу.
- Если задано расписание, все наборы данных обновляются в соответствии с расписанием, и эти результаты кэшируются.
В следующей таблице объясняется, как кэширование зависит от состояния панели мониторинга и учетных данных:
| Тип панели мониторинга | Тип кэширования |
|---|---|
| Панель мониторинга, опубликованная с разрешениями общего доступа к данным | Общий кэш. Все зрители видят одинаковые результаты. |
| Черновик панели мониторинга или опубликованная панель мониторинга с индивидуальными разрешениями на данные | Кэш для пользователя. Зрители видят результаты на основе своих прав доступа к данным. |
Панели мониторинга автоматически используют кэшированные результаты запроса, если результаты были получены менее 24 часов назад, даже если базовые данные изменились после последнего запроса. Если устаревшие результаты существуют и параметры применяются к панели мониторинга, запросы будут выполняться повторно, если за последние 24 часа не использовались те же параметры. Аналогичным образом применение фильтров к наборам данных, превышающим 100 000 строк, запрашивает повторное выполнение запросов, если только те же фильтры не были применены ранее за последние 24 часа.
Текущие функции метки времени и недопустимое кэширование
Использование current_timestamp() или аналогичных функций в SQL-запросе не аннулирует кэш на уровне панели управления. Однако эти функции делают недействительным кэш результатов запроса, который проверяет SQL-запрос и активирует обновление кэша.
Запланированные запросы
Добавление расписания на панель мониторинга, опубликованную с общими разрешениями данных, может значительно ускорить начальный процесс загрузки для всех зрителей панелей мониторинга.
Для каждого запланированного обновления панели мониторинга происходит следующее:
- Все логики SQL, определяющие наборы данных, выполняются в заданном интервале времени.
- Результаты заполняют кэш результатов запроса и помогают улучшить начальное время загрузки панели мониторинга.