Wahnsinnige Komprimierung: 10 GB RATP-Verkehrsdaten auf 530 KB mit Rust reduziert

2025-03-03

Dieses Wochenendprojekt begann mit dem Durchsuchen des Open-Data-Repositorys des Pariser öffentlichen Verkehrsnetzes. Der Autor bemerkte einen Abschnitt zur Datenwiederverwendung mit externen Projekten, die diese Open Data verwenden, insbesondere die RATP-Status-Website, die historische Störungen visualisiert. Das GitHub-Repository enthält JSON-Dateien, die fast ein Jahr lang alle 2 Minuten abgefragt wurden und über 10 GB umfassen. Der Autor fragte sich, ob diese Daten besser komprimiert werden könnten. Dieser Beitrag beschreibt, wie er das Interning-Designmuster von Rust verwendet hat, um eine 2000-fache Komprimierung zu erreichen! Untersuchte Techniken umfassen die Optimierung der Interner-Struktur, die Feinabstimmung des Datenschemas und die Nutzung des Internings in der Serialisierung. Das Ergebnis? Eine erstaunliche Reduzierung von 1,1 GB JSON-Dateien auf nur 530 KB.

Mehr lesen
Entwicklung