Принцип работы 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 предназначен для эффективного индексирования свободных текстовых (строковых) и динамических столбцов JSON в виде приема данных. Индексы поддерживают уровень детализации, который позволяет оценивать части запроса на основе индекса без сканирования данных.
Непрерывная фоновая оптимизация экстентов путем объединения улучшает сжатие и индексирование, обеспечивая эффективное хранение и низкую задержку запросов. После достижения определенного размера только индексы объединяются для повышения производительности запросов без ущерба для эффективности.
Дополнительные сведения о слиянии экстентов и индексов см . в политике слияния.
Хранилище строк
Azure Data Explorer предлагает промежуточное решение хранилища, называемое хранилищем строк. Хранилище строк позволяет эффективно использовать небольшие части данных и гарантирует, что эти данные сразу же доступны для запроса. При включении приема потоковой передачи в кластере данные изначально передаются в хранилище строк, а затем перемещаются в экстенты хранилища столбцов.
Дополнительные сведения см. в разделе Пакетная обработка и прием потоковой передачи.
Сжатие столбцов
Azure Data Explorer сохраняет данные в сжатом состоянии, уменьшая объем памяти, необходимый для хранения и обработки данных. Это приводит к повышению производительности запросов и более эффективному использованию системных ресурсов.
Azure Data Explorer избегает вертикального сжатия, которое включает сортировку данных для улучшения сжатия, из-за высокой стоимости ЦП в сценариях с бесплатным текстом или полуструктурированных данных. Вместо этого можно указать предпочтительный порядок сортировки данных для сценариев с доминирующими шаблонами запросов. Этот компромисс определяет доступность быстрых данных для запросов.
Дополнительные сведения об указании порядка сортировки данных см . в политике порядка строк.
Распределенный запрос данных
Azure Data Explorer использует технологию распределенных запросов к данным, предназначенную для быстрой аналитики больших неструктурированных наборов данных. К ключевым функциям этой технологии относятся:
- Временные данные, созданные запросом, хранятся в агрегированной ОЗУ
- Соответствующие экстенты помечены в плане запроса, обеспечивая изоляцию моментальных снимков
- Быстрые и эффективные запросы задаются приоритетами с короткими тайм-аутами по умолчанию
- Встроенная поддержка запросов между кластерами , которые минимизирует обмен данными между кластерами
- Запросы компилируются в высокопроизводительный машинный код, используя статистику данных со всех экстентов и с учетом особенностей кодирования столбцов.
Примечание.
Azure Data Explorer предназначен для работы с язык запросов Kusto (KQL), созданным для Azure Data Explorer. Кроме того, поддерживается T-SQL .