Event-Streaming: ksqlDB 0.19 eröffnet Many-to-One-Beziehungen zwischen Tabellen

Die auf Stream-Verarbeitung ausgelegte Datenbank beherrscht nun auch die aus Kafka 2.4 bekannten Foreign-Key-Verbindungen.

In Pocket speichern vorlesen Druckansicht

(Bild: Stokkete/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Matthias Parbel

Confluent hat Version 0.19.0 seiner Event-Streaming-Datenbank ksqlDB veröffentlicht. Das neue Release bringt neben einer Reihe von Fehlerbereinigungen unter anderem zwei wesentliche Neuerungen: eine NULLIF-Funktion sowie nativen Support für Foreign-Key-Verbindungen zwischen Tabellen.

Die bereits 2019 als Teil von Apache Kafka 2.4 und der Confluent Platform 5.4 eingeführten Foreign-Key Joins stehen ab sofort auch ksqlDB-Nutzerinnen und -Nutzern zur Verfügung. Many-to-One-Beziehungen zwischen Tabellen lassen sich damit ohne die bisher notwendigen Behelfslösungen umsetzen. Sie sollen zu weniger Komplexität und effizienterer Ressourcenausnutzung beim Stream Processing beitragen. Beim Aufteilen von Daten über mehrere Tabellen im Zuge der Schema-Normalisierung wird der Einsatz von Foreign-Keys zum Verbinden von Tabellen erforderlich, wenn die Reihen der Tabellen nicht einer Eins-zu-Eins-Beziehung folgen und sich den gleichen Primärschlüssel teilen. Mehr Details zum Einsatz der Foreign-Key Joins bietet ein Confluent-Blogbeitrag am Beispiel von Kafka.

Eine weitere vom Entwicklerteam als wichtig eingestufte Neuerung geht auf einen Beitrag aus der Community zurück. Francisco Jose Becerra beschert ksqlDB 0.19 eine NULLIF-Funktion, mit der sich Argumente vergleichen lassen: Sind beide gleich, gibt die Funktion NULL aus. Sie lässt sich zum Behandeln spezieller Werte nutzen, um beispielsweise einen leeren String, einen Richtwert oder den Zahlenwert Null in NULL zu übersetzen, wie im nachfolgenden Listing beschrieben ist:

-- Treat values of zero as NULL
SELECT NULLIF(cost, 0) FROM costs EMIT CHANGES;

Alle weiteren Neuerungen der Event-Streaming-Datenbank lassen sich dem Confluent-Blog entnehmen. Eine komplette Liste aller Bugfixes und Verbesserungen findet sich im Changelog zu ksqlDB 0.19.0 auf GitHub.

(map)