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


Экстенты (сегменты данных)

Область применения: ✅Microsoft Fabric✅Azure Data Explorer

Таблицы секционируются на экстенты или сегменты данных. Каждый экстент является горизонтальным сегментом таблицы, содержащей данные и метаданные, такие как время создания и необязательные теги. Объединение всех этих экстентов содержит весь набор данных таблицы. Экстенты равномерно распределяются по узлам в кластере, и они кэшируются как в локальном SSD, так и в памяти для оптимизированной производительности.

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

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

Общий жизненный цикл экстентов выглядит следующим образом:

  1. Экстент создается операцией приема.
  2. Экстент объединяется с другими экстентами.
  3. Объединенный экстент (возможно, отслеживающий его происхождение до других экстентов) в конечном итоге удаляется из-за политики хранения.

Время создания экстентов

Два значения даты и времени отслеживаются по экстенту: MinCreatedOn и MaxCreatedOn. Эти значения изначально совпадают, но могут изменяться при слиянии экстентов с другими экстентами. При слиянии экстентов с другими экстентами новые значения соответствуют исходным минимальным и максимальным значениям объединенных экстентов.

Время создания экстентов используется в следующих целях:

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

Чтобы перезаписать время создания экстента, укажите альтернативный creationTime вариант в свойствах приема данных. Это может быть полезно для целей хранения, таких как если вы хотите восстановить данные, но не хотите, чтобы он отображался, как если бы он прибыл поздно.

Примечание.

Вычисление для удаления экстентов на основе времени использует время создания новейшей экстенты в объединенной экстенте.