Funktionsweise von Azure Data Explorer

Azure Data Explorer bietet eine beispiellose Leistung zum Erfassen und Abfragen von Telemetriedaten, Protokollen, Ereignissen, Ablaufverfolgungen und Zeitreihendaten. Sie bietet optimierte Speicherformate, Indizes und verwendet erweiterte Datenstatistiken für eine effiziente Abfrageplanung und just-in-time kompilierte Abfrageausführung.

Speicher im Vergleich zu Compute

Azure Data Explorer trennt Speicher- und Computeressourcen. Persistente Daten befinden sich in Azure Blob Storage, während Computeressourcen temporäre Daten speichern oder als Cache für beständigen Speicher fungieren können.

Diese Trennung bietet die folgenden Vorteile:

  • Unabhängiges Horizontales Hochskalieren von Speicher- und Computeressourcen.
  • Zugriff auf identische Daten über mehrere Computecluster hinweg. Weitere Informationen finden Sie unter Datenfreigabe.
  • SKU-Optimierung. Weitere Informationen finden Sie unter Auswählen einer SKU für Ihren Cluster.

Datenspeicher

Azure Data Explorer partitioniert alle erfassten Daten in Blöcke oder Datenshards, bei denen es sich um horizontale Slices der Zieltabelle handelt. Ein Umfang kann so klein wie ein einzelner Datensatz beginnen. Wenn sich Daten in der Tabelle ansammeln, führt Azure Data Explorer Blöcke automatisch zusammen, bis sie auf Millionen von Datensätzen anwachsen. Jede Blöcke wird unabhängig von anderen Blöcken codiert und indiziert. Diese Funktionalität trägt zur linearen Skalierung des Erfassungsdurchsatzes bei.

Blöcke werden gleichmäßig auf Clusterknoten verteilt, wo sie sowohl auf der lokalen SSD als auch im Arbeitsspeicher zwischengespeichert werden. Diese Verteilung verbessert die Kapazität zum Vorbereiten und Ausführen von hoch verteilten und parallelen Abfragen.

Weitere Informationen zur Datenspeicherung finden Sie unter Übersicht über Blöcke.

Hinweis

Azure Data Explorer behält auch wichtige Metadaten wie Tabellenschemas und Richtlinienobjekte bei. Eine Liste der Richtlinien finden Sie unter Übersicht über Richtlinien.

Datencache

Azure Data Explorer verfügt über ein Datencachesystem mit mehreren Hierarchien, um sicherzustellen, dass die relevantesten Daten so nah wie möglich an der CPU zwischengespeichert werden. Das Cachesystem hängt von der Unveränderlichkeit von Blöcken ab und arbeitet vollständig mit komprimierten Daten. Um die Abfrageleistung zu verbessern, bleiben Die Daten auch im RAM komprimiert und werden nur dekomprimiert, wenn dies für eine Abfrage erforderlich ist.

Weitere Informationen zum Zwischenspeichern finden Sie unter Cacherichtlinie.

Textindizierung

Azure Data Explorer ist für die effiziente Indizierung von Freitextspalten (Zeichenfolgen) und JSON-ähnlichen (dynamischen) Spalten konzipiert, während Daten erfasst werden. Die Indizes behalten eine Granularitätsstufe bei, die die Auswertung von Teilen der Abfrage basierend auf dem Index ermöglicht, ohne die Daten zu scannen.

Die kontinuierliche Optimierung von Ausdehnungen durch Zusammenführung verbessert die Komprimierung und Indizierung und sorgt so für effizienten Speicher und eine geringe Abfragelatenz. Sobald Blöcke eine bestimmte Größe erreichen, werden nur die Indizes zusammengeführt, um die Abfrageleistung zu verbessern, ohne die Effizienz zu beeinträchtigen.

Weitere Informationen zum Zusammenführen von Blöcken und Indizes finden Sie unter Mergerichtlinie.

Zeilenspeicher

Azure Data Explorer bietet eine Zwischenspeicherlösung namens Zeilenspeicher. Der Zeilenspeicher ermöglicht die effiziente Erfassung kleiner Datenteile und stellt sicher, dass diese Daten sofort für Abfragen verfügbar sind. Wenn Sie die Streamingerfassung in Ihrem Cluster aktivieren, werden Daten zunächst in den Zeilenspeicher erfasst und dann in Spaltenspeicherblöcke verschoben.

Weitere Informationen finden Sie unter Batchverarbeitung im Vergleich zur Streamingerfassung.

Spaltenkomprimierung

Azure Data Explorer verwaltet Daten in einem komprimierten Zustand, wodurch der zum Speichern und Verarbeiten von Daten erforderliche Arbeitsspeicher verringert wird. Dieses Verhalten führt zu einer schnelleren Abfrageleistung und einer effizienteren Nutzung der Systemressourcen.

Azure Data Explorer vermeidet die vertikale Komprimierung, bei der Daten sortiert werden, um die Komprimierung zu verbessern, da die CPU-Kosten in Freitext- oder teilweise strukturierten Datenszenarien hoch sind. Stattdessen können Sie die bevorzugte Datensortierreihenfolge für Szenarien mit dominanten Abfragemustern angeben. Dieser Kompromiss priorisiert die schnelle Datenverfügbarkeit für Abfragen.

Weitere Informationen zum Angeben der Datensortierreihenfolge finden Sie unter Zeilenreihenfolgerichtlinie.

Abfrage verteilter Daten

Azure Data Explorer verwendet verteilte Datenabfragetechnologie für schnelle Ad-hoc-Analysen für große unstrukturierte Datasets. Zu den wichtigsten Features dieser Technologie gehören:

  • Abfragegenerierte temporäre Daten werden im aggregierten RAM gespeichert.
  • Relevante Blöcke werden in einem Abfrageplan markiert, wodurch Momentaufnahme Isolation bereitgestellt wird.
  • Schnelle und effiziente Abfragen werden mit kurzen Standardtimeouts priorisiert
  • Native Unterstützung für clusterübergreifende Abfragen zur Minimierung des datenaustauschübergreifenden Clusters
  • Abfragen werden just-in-time in hocheffizienten Computercode kompiliert, wobei Datenstatistiken aus allen Ausdehnungen verwendet und auf spaltencodierungsspezifische Besonderheiten zugeschnitten sind.

Hinweis

Azure Data Explorer ist für die Arbeit mit dem benutzerdefinierten Kusto-Abfragesprache (KQL) konzipiert, der für Azure Data Explorer erstellt wurde. Darüber hinaus wird T-SQL unterstützt.