Freigeben über


Bewährte Methoden für die Kusto Ingest-Bibliothek

Gilt für: ✅Microsoft Fabric✅Azure Data Explorer

In diesem Artikel werden die bewährten Methoden für die Datenaufnahme mit der Kusto Ingest-Bibliothek erläutert.

Ziehen Sie die Warteschlange über die direkte Aufnahme in die Warteschlange

Verwenden Sie für Produktionsszenarien den in die Warteschlange eingereihten Client. Weitere Informationen finden Sie unter "In die Warteschlange aufgenommen" und "Direkte Aufnahme".

Verwenden einer einzelnen Aufnahmeclientinstanz

Kusto Ingest-Clientimplementierungen sind threadsicher und wiederverwendbar. Verwenden Sie für jede Zieldatenbank eine einzelne Instanz einer Warteschlange oder eines direkten Aufnahmeclients pro Prozess. Das Ausführen mehrerer Instanzen kann die Datenbank überladen, was dazu führt, dass sie nicht mehr reagiert oder langsam auf gültige Anforderungen reagiert.

Status des Tracking-Vorgangs einschränken

Beschränken Sie für Datenströme mit großen Mengen die Verwendung positiver Benachrichtigungen für Aufnahmeanforderungen. Übermäßige Nachverfolgung kann zu einer erhöhten Aufnahmelatenz und sogar zu einer vollständigen Reaktionsfähigkeit führen. Weitere Informationen finden Sie unter Vorgangsstatus.

Optimieren des Durchsatzes

Berücksichtigen Sie bei der Planung der Aufnahmepipeline die folgenden Faktoren, da sie erhebliche Auswirkungen auf den Aufnahmedurchsatz haben können.

Faktor Beschreibung
Datengröße Die Aufnahme ist effizienter, wenn sie in großen Blöcken durchgeführt werden. Es wird empfohlen, Daten in Batches von 100 MB auf 1 GB (nicht komprimiert) zu senden.
Datenformat Bevorzugen Sie Datenformate wie CSV oder beliebige durch Trennzeichen getrennte Textformate wie PSV oder TSV sowie Parkett, JSON oder AVRO, die für den maximalen Durchsatz optimiert sind. Weitere Informationen finden Sie unter Datenformate, die für die Aufnahme unterstützt werden.
Tabellenbreite Nur wichtige Daten aufnehmen. Jede Spalte muss codiert und indiziert werden, was bedeutet, dass breitere Tabellen möglicherweise den Durchsatz senken. Steuern Sie, welche Felder aufgenommen werden, indem Sie eine Aufnahmezuordnung bereitstellen.
Quelldatenspeicherort Vermeiden Sie regionsübergreifende Lesevorgänge, um die Aufnahme zu beschleunigen.
Laden der Datenbank Wenn eine Datenbank eine hohe Abfragelast aufweist, dauert die Aufnahme länger.

Hinweis

Der in die Warteschlange eingereihte Client teilt große Datasets in Blöcke auf und aggregiert sie, was nützlich ist, wenn die Daten vor der Erfassung nicht batchweise verarbeitet werden können.

Optimieren für Kosten

Die Verwendung von Kusto-Clientbibliotheken zum Aufnehmen von Daten in Ihre Datenbank bleibt die kostengünstigste und robusteste Option. Wir fordern unsere Kunden auf, ihre Aufnahmemethoden zu überprüfen, um die Kosten zu optimieren und die Azure Storage-Preise zu nutzen, die Blob-Transaktionen erheblich kosteneffektiv machen.

Für kostenwirksame Aufnahme:

  • Beschränken Sie die Anzahl der erfassten Datenblöcke, z. B. Dateien, Blobs und Datenströme.
  • Nehmen Sie große Blöcke von bis zu 1 GB nicht komprimierter Daten an.
  • Entscheiden Sie sich für die Batchverarbeitung.
  • Stellen Sie die genaue, nicht komprimierte Datengröße bereit, um zusätzliche Speichertransaktionen zu vermeiden.
  • Vermeiden Sie die Einstellung FlushImmediately auf true.
  • Vermeiden Sie das Senden kleiner Datenmengen mit ingest-by Tags oder drop-by Umfangskategorien.

Hinweis

Die Überlastung der letzten beiden Methoden kann die Datenaggregation unterbrechen, zu zusätzlichen Speichertransaktionen führen und die Erfassung und Abfrageleistung beeinträchtigen.