Procedimientos recomendados para la biblioteca de ingesta de Kusto

En este artículo se explican los procedimientos recomendados para la ingesta de datos con la biblioteca de ingesta de Kusto.

Preferir la ingesta directa en cola

En escenarios de producción, use el cliente de ingesta en cola. Para obtener más información, vea Ingesta en cola y Ingesta directa.

Uso de una única instancia de cliente de ingesta

Las implementaciones de cliente de ingesta de Kusto son seguras para subprocesos y son reutilizables. Para cada clúster de destino, use una única instancia de un cliente de ingesta directa o en cola por proceso. La ejecución de varias instancias puede sobrecargar el clúster, lo que hace que deje de responder a solicitudes válidas o lentas.

Limitar el estado de la operación de seguimiento

En el caso de flujos de datos de gran volumen, limite el uso de notificaciones positivas para las solicitudes de ingesta. El seguimiento excesivo puede provocar una mayor latencia de ingesta e incluso la falta de capacidad de respuesta del clúster. Para obtener más información, consulte Estado de la operación.

Optimización del rendimiento

Al planear la canalización de ingesta, tenga en cuenta los siguientes factores, ya que pueden tener implicaciones significativas en el rendimiento de la ingesta.

Factor Descripción
Tamaño de los datos La ingesta es más eficaz cuando se realiza en fragmentos grandes. Se recomienda enviar datos en lotes de 100 MB a 1 GB (sin comprimir).
Formato de datos CSV es el formato más rápido para ingerir. Para el mismo volumen de datos, JSON puede tardar 2 o 3 veces más. Para obtener más información, consulte Formatos de datos admitidos para la ingesta.
Ancho de tabla Solo ingiere datos esenciales. Cada columna debe codificarse e indizarse, lo que significa que las tablas más anchas pueden tener un menor rendimiento. Controlar qué campos se ingieren proporcionando una asignación de ingesta.
Ubicación de datos de origen Evite las lecturas entre regiones para acelerar la ingesta.
Carga en el clúster Cuando un clúster experimenta una carga de consulta alta, la ingesta tarda más tiempo en completarse.

Nota:

El cliente de ingesta en cola divide grandes conjuntos de datos en fragmentos y los agrega, lo que resulta útil cuando los datos no se pueden procesar por lotes antes de la ingesta.

Optimizar el costo

El uso de bibliotecas cliente de Kusto para ingerir datos en el clúster sigue siendo la opción más barata y sólida. Recomendamos a nuestros clientes que revisen sus métodos de ingesta para optimizar el costo y aprovechar los precios de Azure Storage que harán que las transacciones de blobs sean significativamente rentables.

Para la ingesta rentable:

  • Limite el número de fragmentos de datos ingeridos, como archivos, blobs y secuencias.
  • Ingerir fragmentos grandes de hasta 1 GB de datos sin comprimir.
  • Opte por el procesamiento por lotes.
  • Proporcione un tamaño de datos exacto y sin comprimir para evitar transacciones de almacenamiento adicionales.
  • Evite establecer en FlushImmediatelytrue.
  • Evite enviar pequeñas cantidades de datos con ingest-byetiquetas de extensión o drop-by .

Nota:

El uso excesivo de los dos últimos métodos puede interrumpir la agregación de datos, provocar transacciones de almacenamiento adicionales y dañar la ingesta y el rendimiento de las consultas.