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


Рекомендации по библиотеке Kusto Ingest

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

В этой статье описаны рекомендации по приему данных с помощью библиотеки Kusto Ingest.

Предпочитать очередь по прямой приему

В рабочих сценариях используйте клиент приема в очереди. Дополнительные сведения см. в разделе "Прием в очереди" и "Прямая прием".

Использование одного экземпляра клиента приема

Реализации клиента Kusto Ingest являются потокобезопасными и многократно используемыми. Для каждой целевой базы данных используйте один экземпляр очереди или прямого приема клиента на каждый процесс. Выполнение нескольких экземпляров может перегружать базу данных, что приводит к тому, что она не отвечает или медленно отвечает на допустимые запросы.

Ограничение состояния операции отслеживания

Для потоков больших объемов данных ограничьте использование положительных уведомлений для запросов приема. Чрезмерное отслеживание может привести к увеличению задержки приема и даже полной неотключаемой реакции. Дополнительные сведения см. в разделе "Состояние операции".

Оптимизация пропускной способности

При планировании конвейера приема следует учитывать следующие факторы, так как они могут иметь значительные последствия для приема пропускной способности.

Множитель Description
Размер данных Прием более эффективен при выполнении в больших блоках. Мы рекомендуем отправлять данные в пакетах размером от 100 МБ до 1 ГБ (несжато).
Формат данных Предпочитайте форматы данных, такие как CSV или любой формат текста с разделителями, например PSV или TSV, а также Parquet, JSON или AVRO, оптимизированные для максимальной пропускной способности. Дополнительные сведения см. в разделе "Форматы данных", поддерживаемые для приема.
Ширина таблицы Только прием необходимых данных. Каждый столбец должен быть закодирован и индексирован, что означает, что более широкие таблицы могут снизить пропускную способность. Управление приемом полей путем предоставления сопоставления приема.
Расположение исходных данных Избегайте операций чтения между регионами, чтобы ускорить прием.
Загрузка базы данных Когда база данных испытывает высокую нагрузку запросов, прием занимает больше времени.

Примечание.

Клиент приема в очередь разбивает большие наборы данных на блоки и агрегирует их, что полезно, если данные не могут быть пакетированы до приема.

Оптимизация затрат

Использование клиентских библиотек Kusto для приема данных в базу данных остается самым дешевым и самым надежным вариантом. Мы настоятельно призываем наших клиентов проверить методы приема, чтобы оптимизировать затраты и воспользоваться преимуществами служба хранилища Azure ценообразования, которые будут значительно стоить транзакциям BLOB-объектов.

Для эффективного приема:

  • Ограничить количество блоков данных приема, таких как файлы, большие двоичные объекты и потоки.
  • Прием больших блоков до 1 ГБ несжатых данных.
  • Выберите пакетную обработку.
  • Укажите точный, несжатый размер данных, чтобы избежать дополнительных транзакций хранилища.
  • Избегайте настройки FlushImmediately true.
  • Избегайте отправки небольших объемов данных с ingest-by тегами экстентов.drop-by

Примечание.

Чрезмерное использование последних двух методов может нарушить агрегирование данных, привести к дополнительным транзакциям хранилища и причинить вред приему и производительности запросов.