GSoC Projekt Ideen

Nachstehend finden Sie einige Ideen, in welche Richtung wir Polypheny gemeinsam voranbringen könnten. Bitte betrachten Sie diese als Ausgangspunkte für Ihre Projektbeschreibung. Wenn Sie andere Ideen haben, freuen wir uns sehr, diese zu hören. Bitte zögern Sie nicht, uns zu kontaktieren und holen Sie sich im Vorfeld ein Feedback zu Ihren Plänen.

Einfaches Kopieren einer der Ideen wird nicht funktionieren. Andererseits ist es auch schwierig, eine völlig neue Projektidee zu entwickeln, ohne vorher Rücksprache mit den Mentoren zu halten.

LLM-unterstützte Abfrageplanung & Plan-Explain-Copilot

Polypheny verfügt bereits über ausgefeilte Fähigkeiten zur Planung und Optimierung. Dieses Projekt ergänzt einen LLM-gestützten „Copiloten“, der Ausführungspläne in verständlicher Sprache erklären, typische Ineffizienzen erkennen (z. B. falsche Join-Reihenfolge, fehlende Prädikate, schlechte Kardinalitätsschätzungen) und sichere Umschreibungen vorschlagen kann (z. B. Prädikat-Pushdown, Hinweise zur Join-Umordnung, Projektion-Pruning). Ein zentrales Ziel ist Robustheit: Das LLM soll das Ausführungsverhalten nicht direkt verändern, sondern lediglich Vorschläge erzeugen, die Polypheny vor der Anwendung validieren kann (z. B. über Planner-Regeln, Kostenprüfungen oder A/B-Vergleiche von Plänen).

Erwartetes Ergebnis: Eine Plan-Copilot-UI/API, die Abfragepläne erklärt und validierte Optimierungen (Umschreibungen/Hints) vorschlägt – mit messbaren Verbesserungen auf Benchmark-Workloads.

Schwierigkeit: mittel-schwer
Grösse: groß (~350 Stunden)
Skills: Java, LLM integration
Mentor: Yiming, Marco

Treiber für PHP, NodeJS, Ruby, …

Derzeit gibt es einen JDBC-Treiber, einen C++, einen .NET, einen Go und einen Python-Konnektor für Polypheny. In diesem Projekt soll die Unterstützung für andere Sprachen oder Frameworks hinzugefügt werden. Dieses Projekt ist explizit für Entwickler gedacht, die Erfahrung mit der Interaktion mit Datenbanken in einer bestimmten Sprache oder einem bestimmten Framework haben. Sie können in Ihrem Vorschlag gerne Referenzen zu Erfahrungen mit dieser Sprache oder diesem Framework angeben.

Erwartetes Ergebnis: Ein Treiber für eine derzeit noch nicht unterstützte Programmiersprache oder ein Framework, welcher die Abfrage von Polypheny mit dieser Sprache oder diesem Framework ermöglicht.

Schwierigkeit: mittel
Grösse: mittel (~175 Stunden)
Skills Gute Kenntnisse in der entsprechenden Programmiersprache
Mentor: Yiming, Martin

Notebook-Assistent zur Refaktorisierung von „Python-zu-Query“

Polypheny Notebooks kombinieren häufig Python-basierte Datenmanipulation (z. B. pandas-ähnliche Operationen) mit SQL-/relationalen Abfragen. Dieses Projekt entwickelt ein Tool, das DataFrame-artige Transformationen in Notebook-Zellen erkennt und eine äquivalente Polypheny-Abfrage (oder eine Abfolge von Abfragen) vorschlägt, die näher an den Daten ausgeführt werden kann (Pushdown) – für bessere Reproduzierbarkeit und Performance. Der Assistent soll außerdem „Ergebnis-Äquivalenzprüfungen“ auf Stichproben unterstützen, um Vertrauen aufzubauen, und eine UX bieten, mit der Nutzer Vorschläge annehmen, bearbeiten oder verwerfen können.

Erwartetes Ergebnis: Eine Notebook-Funktion, die für gängige Python-Datenaufbereitungs-Patterns query-basierte Alternativen vorschlägt – inklusive Korrektheitsprüfungen und interaktiver UX.

Schwierigkeit: schwer
Grösse: groß (~350 hours)
Skills: TypeScript/Angular, Java, LLM integration
Mentor: Marco, David

Natural Language Interface für die Workflow Engine

Mit der nächsten Version wird Polypheny eine Workflow-Engine zur Modellierung von ETL-Prozessen (Extract, Transform, Load) einführen. Dieses Projekt zielt darauf ab, die Erstellung von Workflows zu vereinfachen, indem Natural Language Interface (NLP) entwickelt wird, die es Nutzern ermöglicht, gewünschte Operationen in einfacher Sprache zu beschreiben. Das System interpretiert die Eingaben, generiert entsprechende Workflow-Konfigurationen und schlägt Optimierungen vor, um ETL-Prozesse auch für weniger erfahrene Nutzer zugänglich zu machen. Das Projekt umfasst die Entwicklung eines leistungsfähigen NLP-Modells zur Verarbeitung ETL-bezogener Anweisungen, die Zuordnung zu Workflow-Komponenten und die nahtlose Integration in Polyphenys Workflow-Engine. Besondere Herausforderungen sind die präzise Interpretation von Nutzereingaben, die Auflösung von Mehrdeutigkeiten und die Sicherstellung einer fehlerfreien Umsetzung.

Erwartetes Ergebnis: Eine funktionale NLP-Schnittstelle, die es Nutzern ermöglicht, ETL-Workflows mittels natürlicher Sprache zu konfigurieren.

Schwierigkeit: schwer
Grösse: gross (~350 Stunden)
Skills: Natural Language Processing (NLP), Java
Mentor: David

Native Embeddings & Vektor-Ähnlichkeitssuche

Um AI-Workloads (RAG, semantische Suche, hybrides Retrieval) besser zu unterstützen, könnte Polypheny Embeddings und Vektor-Ähnlichkeitsabfragen als First-Class-Features anbieten. Das Projekt implementiert einen Vektortyp (oder eine kompatible Repräsentation), Ähnlichkeitsoperatoren (Cosine/Dot/L2) sowie mindestens eine Indexstrategie (exakt + optional approximativ). Die Lösung soll sich sauber in Polyphenys Multimodel-Welt integrieren und die Vektorsuche über bestehende Schnittstellen und/oder Notebooks verfügbar machen.

Erwartetes Ergebnis: Unterstützung für Vektordaten sowie Ähnlichkeitsabfragen (und optional Indexierung) direkt in Polypheny – für durchgängige RAG-Pipelines, ohne die Datenbank zu verlassen.

Schwierigkeit: mittel–schwer
Grösse: groß (~350 Stunden)
Skills: Java
Mentor: Martin

Manipulationssichere Audit-Protokollierung + Sicherheits-Telemetrie für Queries

Dieses Projekt implementiert eine robuste Audit-Pipeline: Es erfasst sicherheitsrelevante Ereignisse (Anmeldungen, Token-Nutzung, Berechtigungsprüfungen, Schemaänderungen, Abfrageausführungen), speichert sie in einer manipulationssicheren Form (z. B. hash-verkettete Einträge) und stellt Administratoren eine abfragbare Sicht darauf zur Verfügung. Optional werden einfache Erkennungsregeln (z. B. Ratenanomalien, wiederholte verweigerte Zugriffe, verdächtige Muster) ergänzt, um Sicherheitsprobleme frühzeitig sichtbar zu machen – ohne ein vollwertiges SIEM zu benötigen.

Erwartetes Ergebnis: Ein manipulationssicheres Audit-Log-Subsystem sowie adminseitige Hooks zum Abfragen/Visualisieren der Sicherheits-Telemetrie.

Schwierigkeit: mittel-schwer
Grösse: mittel (~175 Stunden)
Skills: Java
Mentor: Martin, Marc

CouchDB-ähnliche HTTP-Query-Schnittstelle

CouchDB ist ein beliebtes dokumentenorientiertes Datenbanksystem. Es verfügt über eine HTTP-Abfrageschnittstelle, die das Abfragen und Manipulieren von Daten ermöglicht. Die Idee dieses Projekts ist es, eine Abfrage-Schnittstelle für Polypheny zu entwickeln, die sich an die Spezifikation der CouchDB-Abfrage-API hält. Dies würde es ermöglichen, eine CouchDB Datenbank nahtlos durch Polypheny zu ersetzen oder Anwendungen, die für CouchDB geschrieben wurden, mit Polypheny zu verwenden.

Erwartetes Ergebnis: Eine neue Abfrageschnittstelle, die es erlaubt, Daten mit der CouchDB Abfragesyntax abzufragen.

Schwierigkeit: mittel-schwer
Grösse: gross (~350 Stunden)
Skills: Java
Mentor: Isabel