Definition Was ist Yedalog?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Yedalog ist der Name einer von Google entwickelten deklarativen Programmiersprache. Sie lässt sich für Aufgaben der Verarbeitung und Manipulation semistrukturierter Daten sowie für parallele Datenpipelines einsetzen. Yedalog basiert auf Datalog. Yedalog-Programme können auf einzelnen Rechnern oder in verteilten Umgebungen ausgeführt werden. Die Nachfolgesprache von Yedalog ist die ebenfalls von Google entwickelte freie Open-Source-Programmiersprache Logica.

Firmen zum Thema

(Bild: © aga7ta - stock.adobe.com)

Yedalog ist der Name einer von Google entwickelten deklarativen Programmiersprache für Datenverarbeitungsaufgaben. Sie lässt sich zur Analyse und Verarbeitung großer Datenmengen einsetzen, wie sie beispielsweise im Big-Data-Umfeld üblich sind. Programmierer müssen sich nicht mehr mit mehreren Programmiersprachen beschäftigen und erhalten mit Yedalog eine einzige Sprache, die sich gleichzeitig für parallele Datenpipelines und die Datenprozessierung semistrukturierter Daten eignet.

Yedalog basiert auf der Datenbankprogrammiersprache Datalog und erweitert deren Möglichkeiten und Funktionsumfang. Yedalog-Programme können auf Einzelrechnern oder verteilt in einer Cluster-Umgebung ausgeführt werden und arbeiten sowohl im Batch- als auch im interaktiven Modus. Mit Yedalog lässt sich nahtlos zwischen lokaler Prozessierung und verteilter Prozessierung wechseln. Im Jahr 2021 veröffentlichte Google die freie Open-Source-Programmiersprache Logica. Sie ist Nachfolger der Sprache Yedalog und löst sie ab.

Googles Motive für die Entwicklung

Sollen in heutigen Big-Data-Umgebungen und mit modernen Datenverarbeitungs-Frameworks wie Spark oder MapReduce große Datenmengen analysiert werden, stellt die Arbeit der Programmierer häufig einen Engpass dar. Sie müssen sich für die verschiedenen Aufgaben in der Regel mit mehreren Programmiersprachen wie SQL oder Java abmühen. Der Wechsel zwischen den Programmiersprachen und den Tools kostet viel Zeit und Aufwand. Die Programme werden unnötig komplex und sind nur schwer zu lesen oder zu debuggen. Dazu kommt, dass sich die in verschiedenen Sprachen geschriebenen Einzeltasks nur mit zusätzlichem Aufwand auf lokalen Rechnern und in verteilten Umgebungen in der gewünschten Form ausführen lassen.

Die Datenmanipulationssprache SQL bietet zwar umfangreiche Möglichkeiten für die Arbeit mit relationalen Datenbankmanagementsystemen, der Sprache fehlt es aber an Fähigkeiten zum Erstellen von komplexen logischen Ausdrücken. Zudem sind komplexe SQL-Abfragen im Vergleich zu logischen Programmcodes nur noch schwer zu lesen. Mit Yedalog bietet Google den Programmierern eine einzige Sprache, die sich gleichzeitig für parallele Datenpipelines und die Datenprozessierung semistrukturierter Daten eignet. Sie erlaubt das Erstellen logischer Ausdrücke und ist sowohl für verteilte Umgebungen als auch für lokale Einzelsysteme nutzbar. Eine klassische logische Syntax und umfangreiche Aggregationsmöglichkeiten werden bereitgestellt. Darüber hinaus besitzt Yedalog die notwendigen Mechanismen und Abstraktionsmöglichkeiten, die SQL fehlen. Die beiden wichtigsten Zielsetzungen in der Entwicklung von Yedalog waren:

  • 1. Schaffung einfacher und prägnanter Datenverarbeitungsmöglichkeiten semistrukturierter Daten
  • 2. Die Kombination der Ausführung von parallelen Datenpipelines und Datenverarbeitungsaufgaben in einer einzigen deklarativen Programmiersprache

Die wichtigsten Merkmale der deklarativen Programmiersprache Yedalog

Die wichtigsten Merkmale der Programmiersprache Yedalog sind:

Yedalog ist eine deklarative Programmiersprache für die Ausführung von parallelen Datenpipelines und Datenverarbeitungsaufgaben. Die Sprache erweitert die Möglichkeiten und die Funktionen der Datenbankprogrammiersprache Datalog. Mit Yedalog erstellte Programme lassen sich auf einzelnen Maschinen oder verteilt in Cluster-Umgebungen interaktiv oder im Batch-Modus ausführen. Das Datenmodell für semistrukturierte Daten basiert auf Protokoll-Buffern. Für die Arbeit mit Datenstatistiken sind sogenannte Dyna-style Weights integriert.

Die Programmiersprache Logica als Nachfolger von Yedalog

2021 veröffentlichte Google die Programmiersprache Logica als Nachfolger von Yedalog. Logica wird als Open-Source-Software für die Allgemeinheit bereitgestellt und steht unter Apache-2.0-Lizenz. Sie ist wie Yedalog für den Einsatz für Aufgaben der Datenverarbeitung, Datenmanipulation und Datenanalyse großer Datenmengen im Big-Data-Umfeld vorgesehen. Der Name Logica setzt sich aus den englischen Begriffen „Logic with aggregation“ zusammen. Wie Yedalog ist Logica eine deklarative Programmiersprache. Sie ist beispielsweise für das Erstellen von Abfragen und Datenmanipulationen für Googles Cloud-Data-Warehouse-Lösung BigQuery einsetzbar. Die Logica-Programmiersprache kompiliert zu Standard-SQL, unterstützt aber gleichzeitig PostgreSQL und SQLite auf experimenteller Ebene. Zielgruppe für die Programmiersprache sind Datenwissenschaftler, Programmierer und Datenexperten, die eine deklarative und gleichzeitig für komplexe logische Ausdrücke geeignete Sprache für Aufgaben der Datenverarbeitung, Datenmanipulation, Datenabfragen und der Ausführung von parallelen Datenpipelines benötigen.

Mit Logica erstellte Programme haben im Vergleich zur SQL-Syntax eine bessere Lesbarkeit, sind einfacher zu debuggen und zu warten und eignen sich für Big-Data-Anwendungen. Um Logica-Programme in BigQuery auszuführen, ist ein Google Cloud Project notwendig. Lokal benötigt Logica Python 3. Die Installation von Logica ist zum Beispiel über das Paketverwaltungsprogramm pip für Python-Pakete aus dem Python Package Index möglich.

(ID:47623065)

Über den Autor