Rust-Kompilierzeiten: Von 25 Minuten auf 2 Minuten

2025-04-17
Rust-Kompilierzeiten: Von 25 Minuten auf 2 Minuten

Das Feldera-Team stieß auf extrem lange Kompilierzeiten beim Kompilieren von groß angelegtem, aus SQL generiertem Rust-Code. Ein 8.562-zeiliges SQL-Programm, das in ~100.000 Zeilen Rust-Code übersetzt wurde, benötigte 25 Minuten zum Kompilieren. Techniken wie Typ-Löschung und Code-Deduplizierung führten zu minimalen Verbesserungen. Der Durchbruch gelang durch die Aufteilung des generierten Rust-Codes in 1.106 kleinere Crates, wodurch paralleles Kompilieren ermöglicht und die Kompilierzeit drastisch auf unter 2 Minuten reduziert wurde, wobei die Mehrkernprozessoren voll ausgenutzt wurden.

Mehr lesen

GitHub Actions CI/CD: Eine schmerzhafte Odyssee

2025-03-20
GitHub Actions CI/CD: Eine schmerzhafte Odyssee

Der Autor beschreibt eine frustrierende Reise beim Aufbau einer komplexen CI/CD-Pipeline mit GitHub Actions, die mehrere Iterationen und Probleme mit Merge-Queues, inkonsistentem Verhalten und Sicherheitsbedenken beinhaltet. Zu den Herausforderungen gehörten die Durchsetzung von Statusprüfungen mit Merge-Queues, das Verständnis des Sicherheitsmodells um GITHUB_TOKEN, Probleme mit Dateiberechtigungen und Pfaden in Docker-Containern sowie die Komplexität von YAML-Workflows. Trotz einer Reduzierung der Merge-Zeit hebt der Autor die zahlreichen versteckten Fallstricke und das inkonsistente Verhalten hervor und plädiert für eine verbesserte Benutzerfreundlichkeit und Debuggbarkeit in GitHub Actions.

Mehr lesen
Entwicklung

Fine-grained Authorization revolutionieren: Die inkrementelle Berechnungs-Engine von Feldera

2025-01-20
Fine-grained Authorization revolutionieren: Die inkrementelle Berechnungs-Engine von Feldera

Feldera präsentiert einen revolutionären Ansatz für Fine-Grained Authorization (FGA). Traditionelle FGA-Systeme werten Autorisierungsanfragen in Echtzeit aus, was zu Ineffizienzen führt. Feldera berechnet alle Autorisierungsentscheidungen vorab und verwendet seine inkrementelle Berechnungs-Engine (basierend auf SQL), um die Ergebnisse zu aktualisieren, wodurch Autorisierungsanfragen in einfache Schlüssel-Wert-Suchen umgewandelt werden. Selbst bei großen Objektgraphen verarbeitet Feldera Änderungen in Millisekunden und verbessert so die Leistung drastisch. Der Artikel beschreibt die Prinzipien von FGA und zeigt die Erstellung einer hochleistungsfähigen FGA-Engine mit SQL, wobei die Überlegenheit bei der Verarbeitung großer Datensätze demonstriert wird.

Mehr lesen