Принцип работы Azure Data Explorer

Azure Data Explorer обеспечивает непарабельную производительность для приема и запроса телеметрии, журналов, событий, трассировок и данных временных рядов. Он включает оптимизированные форматы хранилища, индексы и использует расширенную статистику данных для эффективного планирования запросов и JIT-компиляции запроса.

Хранилище и вычислительные ресурсы

Azure Data Explorer отделяет ресурсы хранилища и вычислительных ресурсов. Постоянные данные находятся в Хранилище BLOB-объектов Azure, а вычислительные ресурсы могут хранить временные данные или выступать в качестве кэша для постоянного хранилища.

Это разделение обеспечивает следующие преимущества:

  • Независимое масштабирование хранилища и вычислительных ресурсов.
  • Доступ к одним и тем же данным из нескольких вычислительных кластеров. Дополнительные сведения см. в разделе Общий доступ к данным.
  • Оптимизация SKU. Дополнительные сведения см. в разделе "Выбор номера SKU" для кластера.

Хранилище данных

Azure Data Explorer разделяет все принятые данные на экстенты, или сегменты данных, которые представляют собой горизонтальные срезы целевой таблицы. Экстент может состоять всего из одной записи. По мере того как данные накапливаются в таблице, Azure Data Explorer автоматически объединяет экстенты до тех пор, пока они не будут охватывать миллионы записей. Каждый экстент кодируется и индексируется независимо от других экстентов. Эта функция способствует линейному масштабированию в пропускной способности приема.

Экстенты распределяются равномерно между узлами кластера, где они кэшируются как на локальном SSD, так и в памяти. Это распределение повышает емкость для подготовки и выполнения высоко распределенных и параллельных запросов.

Дополнительные сведения о хранилище данных см. в разделе Обзор экстентов.

Примечание.

Azure Data Explorer также сохраняет основные метаданные, такие как схемы таблиц и объекты политики. Список политик см. в разделе "Общие сведения о политиках".

Кэш данных

Azure Data Explorer использует многоуровневую систему кэша данных для хранения наиболее важных данных как можно ближе к ЦП. Эта система кэша зависит от неизменяемости экстентов и полностью работает с сжатыми данными. Чтобы повысить производительность запросов, данные остаются сжатыми даже в ОЗУ и распакованы только при необходимости запроса.

Для получения дополнительной информации о кэшировании см. Политика кэширования.

Текстовые индексы

Azure Data Explorer предназначен для эффективного индексирования столбцов со свободным текстом (string) и JSON-подобных (dynamic) столбцов при приеме данных. Индексы поддерживают уровень детализации, который позволяет оценивать части запроса на основе индекса без сканирования данных.

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

Дополнительные сведения о слиянии экстентов и индексов см. в разделе Политика слияния.

Строчное хранилище

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

Дополнительные сведения см. в разделе Пакетный и потоковый прием данных.

Сжатие столбцов

Azure Data Explorer сохраняет данные в сжатом состоянии, уменьшая объем памяти, необходимый для хранения и обработки данных. Это приводит к повышению производительности запросов и более эффективному использованию системных ресурсов.

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

Дополнительные сведения о том, как указать порядок сортировки данных, см. в разделе Политика порядка строк.

Распределенный запрос данных

Azure Data Explorer использует технологию распределенных запросов к данным, предназначенную для быстрой аналитики больших неструктурированных наборов данных. К ключевым функциям этой технологии относятся:

  • Временные данные, созданные запросом, хранятся в агрегированной оперативной памяти.
  • Соответствующие экстенты помечаются в плане запроса, обеспечивая изоляцию моментальных снимков.
  • Быстрые и эффективные запросы задаются приоритетом с короткими тайм-аутами по умолчанию.
  • Встроенная поддержка запросов между кластерами , которые минимизирует обмен данными между кластерами.
  • Запросы компилируются точно в момент выполнения в высокоэффективный машинный код с использованием статистики данных со всех экстентов и с учётом особенностей кодирования столбцов.

Примечание.

Azure Data Explorer предназначен для работы с языком запросов Kusto (KQL), специально разработанным для Azure Data Explorer. Кроме того, поддерживается T-SQL .