Wir gratulieren den Autoren, DIMA-Mitglied Phillip Grulich, Dr. Steffen Zeuch und Prof. Dr. Volker Markl, zur Annahme des Lightning Talks ''Towards Efficient and Secure UDF Execution with BabelfishLib'' auf dem CDMS Workshop 2023, der gemeinsam mit der VLDB 2023 stattfindet.
Titel:
Towards Efficient and Secure UDF Execution with BabelfishLib
Autoren:
Phillip Grulich, Volker Markl
Zusammenfassung:
Heutzutage erstellen Data Scientists, Webentwickler und Anwendungsentwickler komplexe Datenverarbeitungspipelines, welche verschiedene Werkzeuge und Programmiersprachen kombinieren. Zu diesem Zweck bieten die meisten Datenverarbeitungssysteme Unterstützung für benutzerdefinierte Funktionen (UDFs) in gängigen Sprachen wie Java, Python oder JavaScript. Diese UDFs ermöglichen es den Benutzern, beliebige Geschäftslogik in ihrer bevorzugten Programmiersprache auszudrücken, Bibliotheken von Drittanbietern zu nutzen und die Modularität und Testbarkeit ihrer Datenverarbeitungspipelines zu erhöhen.
Obwohl UDFs ein hohes Maß an Freiheit bieten, geht ihre Flexibilität im Vergleich zu herkömmlichen relationalen Abfragen mit einer höheren Leistung einher. Aus diesem Grund empfehlen die meisten Experten, UDFs nach Möglichkeit zu vermeiden.
Um diese Situation zu verbessern, schlagen wir in diesem Vortrag BabelfishLib vor, die unsere Babelfish Engine [1] als erweiterbare Komponente für die effiziente und sichere Ausführung von UDFs bereitstellt. In einer Umgebung, in der praktisch jedes Datenverwaltungssystem UDF-Unterstützung benötigt, kann BabelfishLib diese Bemühungen zentralisieren und eine einheitliche UDF-Laufzeit bereitstellen, die über verschiedene Systeme hinweg genutzt werden kann.
BabelfishLib verfolgt insbesondere drei Hauptziele. Erstens bietet es effiziente Ausführungsstrategien für UDFs in verschiedenen Programmiersprachen. Zweitens stellt sie sicher, dass die Ausführung von nicht vertrauenswürdigem UDF-Code vom Datenverarbeitungssystem isoliert wird, um die Systemsicherheit zu gewährleisten. Drittens analysiert es UDFs und liefert Informationen für weitere Abfrageoptimierungen. Dadurch mindert BabelfishLib den Leistungs-Overhead von UDFs in modernen Systemen und gewährleistet gleichzeitig Sicherheit und Isolierung. Derzeit nutzen wir BabelfishLib für die Beschleunigung von UDFs in unserer Datenverarbeitungsplattform NebulaStream.
Wir glauben, dass BabelfishLib ein erster Schritt in Richtung eines einheitlichen Beschleunigers für UDFs sein kann, der sich in verschiedene Datenverarbeitungssysteme integrieren lässt. Darüber hinaus bietet es eine Spielwiese für weitere Forschung, die sich auf spezifische Aspekte der Beschleunigung von UDF konzentriert. Schließlich wollen wir mit dieser Präsentation eine Diskussion innerhalb der Gemeinschaft anregen, um die Anforderungen an eine effiziente UDF-Ausführung zu konsolidieren und verschiedene Bemühungen in dieselbe Richtung zu lenken.
[1] Philipp M. Grulich, Steffen Zeuch, and Volker Markl. 2021. Babelfish: efficient execution of polyglot queries. Proc. VLDB Endow. 15, 2 (October 2021), 196–210. https://doi.org/10.14778/3489496.3489501