Параметры хранилища SQL для рабочих нагрузок бизнес-аналитики

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

Анализ рабочей нагрузки и требования соглашения об уровне обслуживания

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

  • Миграция или новая реализация: Перенос этой рабочей нагрузки с другой платформы или новая реализация? Перенесенные рабочие нагрузки могут иметь установленные соглашения об уровне обслуживания и базовые показатели.
  • Соглашения об уровне обслуживания (SLA): Каковы ваши требования к задержке, пропускной способности и доступности? Документируйте как технические, так и бизнес-соглашения об уровне обслуживания.
  • Шаблоны доступа: Как пользователи взаимодействуют с данными? Понимание типичных шаблонов запросов помогает оптимально настроить конфигурацию хранилища и оптимизировать слой данных для конкретной рабочей нагрузки.

Типичные шаблоны доступа к бизнес-аналитике

Рабочие нагрузки бизнес-аналитики обычно делятся на две отдельные категории шаблонов доступа, каждый из которых требует различных конфигураций хранилища SQL.

Шаблон DirectQuery / LiveQuery

Шаблоны DirectQuery запрашивают данные в режиме реального времени, требуя ответов с низкой задержкой для интерактивной аналитики:

Характеристики.

  • Большое количество запросов
  • Запросы обычно возвращают небольшие результирующие наборы (менее 1000 записей)
  • Обычно выполняется в рабочие часы
  • Строгие требования соглашения об уровне обслуживания с минимальными ожиданиями задержки
  • Непредсказуемые шаблоны запросов (панели мониторинга, отчеты)
  • Доступ к данным для каждого запроса обычно меньше 5 ГБ
  • Требуются вычислительные ресурсы с высокой масштабируемостью для удовлетворения резких колебаний.

Ожидания производительности:

  • Время ответа запроса: секунды (обычно менее 5 секунд для интерактивных панелей мониторинга)
  • Свежесть данных: актуальность, отражающая последние данные

Профиль рабочей нагрузки:

  • Частые пики в рабочие часы
  • Непредсказуемые изменения нагрузки, вызванные пользователями
  • Может расшириться до 24x7 для глобальных организаций

Шаблон импорта и извлечения

Шаблоны импорта извлекают данные для нижестоящих систем, уделяя приоритет пропускной способности над задержкой.

Характеристики.

  • Низкое количество запросов (запланированных обновлений)
  • Обычно большие результирующие наборы (более 1000 000 записей)
  • Обычно запланировано в нерабочие часы
  • Прогнозируемые шаблоны запросов (часто управляемые детализацией)
  • Доступ к данным для каждого запроса: до десятков ГБ

Ожидания производительности:

  • Время отклика запроса: от минут до часов (пакетная обработка)
  • Свежесть данных: моментальный снимок дня или предыдущий день

Профиль рабочей нагрузки:

  • Запланированные, прогнозируемые окна выполнения
  • Известные характеристики рабочей нагрузки и требования к ресурсам
  • Пакетная обработка

Сочетание запросов в рабочих нагрузках DirectQuery

При использовании шаблонов DirectQuery с моделью данных схемы звезды ожидается следующее распределение запросов:

  • Запросы измерений: Многие небольшие запросы сканируют таблицы измерений (клиент, продукт, время)
  • Запросы фактов: Многие большие запросы сканируют таблицы фактов с соединениями и агрегациями
  • Запросы на извлечение данных: Некоторые простые, но длительные запросы для извлечения крупных объемов данных

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

Стратегия с несколькими хранилищами для изоляции рабочей нагрузки

Databricks рекомендует подготовить несколько хранилищ SQL для достижения следующих целей:

Оптимизация размеров и оптимальные расходы

  • Определите размер каждого хранилища соответствующим образом для конкретного характера рабочего потока.
  • Избегайте избыточного предоставления ресурсов, разделяя рабочие нагрузки с различными требованиями к ресурсам
  • Используйте небольшие хранилища для разработки и тестирования, большие для производственной среды.
  • Использование масштабируемости хранилища для поиска идеального баланса между производительностью и затратами

Повышение общей производительности

  • Предотвращение конфликта ресурсов между моделями DirectQuery и импортом/извлечением
  • Изоляция интерактивных панелей мониторинга от операций пакетного обновления
  • Включение независимого масштабирования на основе требований рабочей нагрузки

Перекрестная зарядка и распределение затрат

  • Отслеживание использования и затрат по бизнес-единицам, проектам или команде
  • Включение точных моделей обратной оплаты
  • Повышение видимости затрат и подотчетности

Более эффективное администрирование и управление

  • Назначение обязанностей владения и управления командой или проектом
  • Применение различных политик автоматической остановки на основе шаблонов использования
  • Настройка отдельных элементов управления доступом и мониторинга

Рабочие нагрузки для DirectQuery / LiveQuery

  • Использование бессерверных хранилищ SQL для автоматического управления ресурсами
  • Настройка агрессивной автоматической остановки (15–30 минут) для оптимизации затрат
  • Задайте размер кластера на основе сложности запросов и объема данных (начните с размера Средний, масштабируйте при необходимости)
  • Установка минимального и максимального количества кластеров на основе ожидаемой рабочей нагрузки
  • Отслеживайте метрику пиковых запросов и настраивайте максимальные кластеры соответствующим образом.

Для импорта и извлечения рабочих нагрузок

  • Использование хранилищ Pro или Classic SQL для прогнозируемых запланированных заданий
  • Настройка более длительного времени автоматической остановки (1–2 часа) при выполнении нескольких заданий в последовательности
  • Используйте большие размеры кластера (Большой, Очень большой) для сложных агрегаций
  • Рассмотрите возможность фиксированного планирования для согласования с окнами пакетной обработки
  • Отслеживание длительности запроса и корректировка размера на основе требований SLA

Дополнительные сведения о поведении размера и масштабирования хранилища SQL см. в статье о поведении размера, масштабирования и очередей хранилища SQL.

Для быстрого справочника по лучшим практикам предоставления BI см. памятку по предоставлению бизнес-аналитики.