Procedure consigliate per la libreria Di inserimento Kusto

Questo articolo illustra le procedure consigliate per l'inserimento dei dati con la libreria Di inserimento Kusto.

Preferisce accodare l'inserimento diretto

Per gli scenari di produzione, usare il client di inserimento in coda. Per altre informazioni, vedere Inserimento in coda e inserimento diretto.

Usare un'unica istanza client di inserimento

Le implementazioni client di Inserimento kusto sono thread-safe e riutilizzabili. Per ogni cluster di destinazione, usare una singola istanza di un client accodato o diretto per ogni processo. L'esecuzione di più istanze può eseguire l'overload del cluster, causando la mancata risposta o la lentezza alla risposta alle richieste valide.

Limitare lo stato dell'operazione di rilevamento

Per i flussi di dati di volume di grandi dimensioni, limitare l'uso di notifiche positive per le richieste di inserimento. Il rilevamento eccessivo può causare un aumento della latenza di inserimento e anche la velocità di risposta del cluster completa. Per altre informazioni, vedere Stato dell'operazione.

Ottimizzare la velocità effettiva

Quando si pianifica la pipeline di inserimento, considerare i fattori seguenti in quanto possono avere implicazioni significative sulla velocità effettiva di inserimento.

Fattore Descrizione
Dimensioni dei dati L'inserimento è più efficiente quando viene eseguito in blocchi di grandi dimensioni. È consigliabile inviare dati in batch di 100 MB a 1 GB (non compressi).
Formato dati CSV è il formato più veloce da inserire. Per lo stesso volume di dati, JSON può richiedere più tempo 2x o 3x. Per altre informazioni, vedere Formati di dati supportati per l'inserimento.
Larghezza tabella Inserire solo dati essenziali. Ogni colonna deve essere codificata e indicizzata, il che significa che le tabelle più ampie potrebbero avere una velocità effettiva inferiore. Controllare quali campi vengono inseriti fornendo un mapping di inserimento.
Percorso dati di origine Evitare letture tra aree per velocizzare l'inserimento.
Caricare nel cluster Quando un cluster sperimenta un carico elevato di query, l'inserimento richiede più tempo per il completamento.

Nota

Il client di inserimento in coda suddivide i set di dati di grandi dimensioni in blocchi e li aggrega, che è utile quando i dati non possono essere in batch prima dell'inserimento.

Ottimizzare in base ai costi

L'uso delle librerie client Kusto per inserire i dati nel cluster rimane più economico e l'opzione più affidabile. Invitiamo i clienti a rivedere i metodi di inserimento per ottimizzare i costi e a sfruttare i prezzi di Archiviazione di Azure che renderanno le transazioni BLOB significativamente convenienti.

Per l'inserimento conveniente:

  • Limitare il numero di blocchi di dati inseriti, ad esempio file, BLOB e flussi.
  • Inserire blocchi di grandi dimensioni fino a 1 GB di dati non compressi.
  • Opta per l'invio in batch.
  • Specificare dimensioni dei dati esatte e non compresse per evitare transazioni di archiviazione aggiuntive.
  • Evitare di impostare FlushImmediately su true.
  • Evitare di inviare piccole quantità di dati con ingest-bydrop-byo tag extent.

Nota

L'overusing degli ultimi due metodi può interrompere l'aggregazione dei dati, causare transazioni di archiviazione aggiuntive e danneggiare l'inserimento e le prestazioni delle query.