Elastic-Entwicklung: ESQL als Abfragesprache für iterative Datenanalysen

Das Elastic-Entwicklerteam hat die kommende Elasticsearch Query Language nun in einem ausführlichen Blogbeitrag mit ihren Funktionen vorgestellt.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen

(Bild: whiteMocca/Shutterstock.com)

Von
  • Frank-Michael Schlede

Die Benutzer und Benutzerinnen des Datenanalysewerkzeugs Elastic sollen mit der Sprache Elasticsearch Query Language (ESQL) – die sich aktuell noch in der Entwicklung befindet – eine flexible und robuste Abfragesprache zum Abrufen der Daten erhalten. Das Elastic-Team ist überzeugt, dass sie die Analyse- und Datenverarbeitungsmöglichkeiten von Elasticsearch entscheidend verbessert und eine flexiblere Schnittstelle für die Abfragen zur Verfügung stellt.

Die Entwicklerinnen und Entwickler von Elastic bezeichnen in ihrem Blogeintrag ESQL als eine wichtige Erweiterung der Berechnungsmöglichkeiten innerhalb von Elasticsearch. Erst Anfang November hatten sie zahlreiche neue Features und Möglichkeiten für die Version 8.5 von Elastic Enterprise Search vorgestellt.

Nun bauen sie mit ESQL eine völlig neue Rechenarchitektur auf. Dabei werden die Such-, Aggregations- und Transformationsfunktionen von ESQL direkt in Elasticsearch selbst ausgeführt. Abfrageausdrücke werden zur Ausführung nicht nach QueryDSL transpiliert, sondern dafür steht nun eine native Unterstützung für ESQL-Funktionen direkt in Elasticsearch bereit. Transpiler sind sprachspezifische Werkzeuge, die eine Syntax in eine andere überführen können und häufig in der Webentwicklung zum Einsatz kommen.

Die Sprache ESQL bietet verteilte Rechenfunktionen für Benutzer und Benutzerinnen in unterschiedlichen Rollen und mit verschiedenen Qualifikationsniveaus an. Diese Funktionen ermöglichen es, die Arbeitsabläufe der Benutzer auf verschiedene Arten zu vereinfachen:

  • So unterstützen ESQL-Abfrageausdrücke komplexe Analysen und Datenverarbeitung und sollen dabei einfach zu erlernen, zu lesen und zu teilen sein.
  • Neue Elasticsearch-Rechen- und -Datenverarbeitungsfunktionen ermöglichen nun den Einsatz von Filter-, Aggregations- und Transformationsfunktionen von Elasticsearch mit Unterabfragen und Lookups.
  • Anwender und Anwenderinnen können ESQL in Kibana in Discover, Kibana Lens und Elastic Solutions nutzen. Sie sollen dadurch die Möglichkeit erhalten, ESQL-Abfragen zu visualisieren, sie mit Teams auf Dashboards oder als Abfragen zu teilen und Abfragen zu verwenden, um auf diese Weise benutzerdefinierte Warnungen zu erstellen.

ESQL ist eine Abfragesprache, mit deren Hilfe Benutzer und Benutzerinnen Elasticsearch-Daten über eine Folge von Befehlen verarbeiten können.

(Bild: Elasticsearch)

Das Entwicklerteam bezeichnet ESQL als eine Abfragesprache, die Benutzerinnen und Benutzern erlaubt, Elasticsearch-Daten über eine Abfolge von Befehlen zu verarbeiten, die durch Pipes voneinander getrennt sind. Dabei wird die Ausgabe eines Befehls zur Eingabe für den nächsten, um so wie üblich eine logische Datenpipeline zu definieren. Die ESQL-Ausdrücke sollen dabei linear, logisch und leicht lesbar sein. Ihre Einfachheit soll erlauben, dass Analysten aller Erfahrungsstufen sie verfassen, verwenden und ändern können. Im folgenden einfachen Beispiel ruft der Ausdruck alle Daten aus dem Index ab und erstellt für jeden Datensatz ein neues field_c, das die Summe von field_a und field_b ist. Schließlich werden die Ergebnisse dann noch nach field_c sortiert.

search index_name
| eval field_c = (field_a + field_b)
| sort field_c desc

Die Entwickler und Entwicklerinnen heben aber auch hervor, dass die Suchfunktionen in Elasticsearch weiterhin ein sehr wichtiger Teil sein werden. Deshalb unterstützt ESQL die Such-, Relevanz- und Ranking-Funktionen, die seit langem Teil von Elasticsearch sind. Aber auch für die Ad-hoc-Bedrohungssuche von Sicherheitsanalysten beispielsweise in Zusammenarbeit mit der PowerShell soll sich diese Abfragesprache als besonders nützlich erweisen. Ein detaillierter Blogartikel beschreibt sowohl für diese als auch für weitere umfangreiche Einsatzzwecke entsprechende Beispiele. Das Team gibt allerdings noch kein konkretes Release-Datum bekannt, sondern verweist im Blog darauf, dass interessierte Entwickler und Entwicklerinnen, die ESQL selbst testen wollen, über das Diskussionsforum Kontakt zu ihm aufnehmen können.

(fms)