High Performance Zeitreihenanalyse
In einem fortschreitend digitalisierten Energiesektor, der durch den Einsatz von Smart Metern und IoT-Sensoren grosse Mengen an Zeitreihendaten generiert, steht die Virtual Global Trading AG vor der Herausforderung, die Analyse- und Visualisierungsgeschwindigkeit ihrer Plattform zu optimieren. Das Projekt zielt darauf ab, die Abfrageperformance in der Zeitreihendatenbank QuestDB massgeblich zu verbessern, um eine schnelle und reibungslose Nutzererfahrung zu gewährleisten.
Ausgangslage
Die Plattform der Virtual Global Trading AG, die auf der Zeitreihendatenbank QuestDB basiert, verwaltet komplexe Energiemanagementmodelle wie den Zusammenschluss zum Eigenverbrauch (ZEV). Durch das exponentielle Wachstum der Datenmenge, insbesondere seit 2023, stösst die bestehende Infrastruktur an ihre Grenzen. Das Dashboard, das Hausverwaltungen und Endverbrauchern Einblicke in Energieverbrauchs- und Produktionsdaten bietet, leidet unter inakzeptabel langen Ladezeiten bei der Analyse grosser Datenmengen, wie zum Beispiel Jahresauswertungen von Hunderten von Messpunkten. Die primäre Herausforderung liegt in der Optimierung der Geschwindigkeit von Datenanalyse und -visualisierung.
Zielsetzung
Das Hauptziel dieses Projekts ist es, die Abfragegeschwindigkeit von Zeitreihenabfragen in QuestDB für das Dashboard der Virtual Global Trading AG zu verbessern. Angestrebt wird eine Performance-Verbesserung um den Faktor 20 gegenüber dem ursprünglichen Zustand (Baseline). Dies soll durch die Identifizierung und Implementierung geeigneter Optimierungsstrategien erreicht werden. Zu den Teilzielen gehören die Evaluation und der Vergleich von Optimierungen auf SQL-Ebene, die Untersuchung alternativer Speicherformate wie Parquet, sowie die Entwicklung eines funktionsfähigen Prototyps und die Durchführung reproduzierbarer Benchmarks. Aspekte wie die Gestaltung der Benutzeroberfläche, Sicherheitsmechanismen oder Skalierbarkeit werden bewusst ausgeklammert.
Dashboard
Die ZEV / Mieterstrom Visualisierung bietet einen Einblick pro Bewohner in den Bezug von PV-Strom und Netzbezug. Verwalter erhalten Einblick in den Gesamtverbrauch und können die ZEV / Mieterstrom verwalten.
Baseline Abfragen
Auswertung der Abfragezeiten auf der Baseline.
Optimierte Abfragen
Auswertung der Abfragezeiten nach unseren Optimierungen.
Ergebnisse
Nach umfassenden Analysen und Benchmarks wurde festgestellt, dass % der Abfragezeit in der Zeitreihendatenbank QuestDB verbraucht wurden. Das Ziel war es daher, Verbesserungen in der Datenhaltung und den SQL-Abfragen vorzunehmen, um genau diesen Engpass zu beseitigen.
Die Ergebnisse der ursprünglichen Baseline-Messungen für einen vollständigen Datensatz (1032 Messpunkte) über verschiedene Zeiträume ergaben ein gewichtetes geometrisches Mittel von 557.85 Sekunden.
Durch die von uns vorgenommenen Optimierungen konnte das gewichtete geometrische Mittel für alle Datenpunkte auf 1.550 Sekunden reduziert werden. Dies führte zu einem beeindruckenden SpeedUp von 359,89x und übertraf damit das ursprüngliche Ziel einer 20-fachen Performance-Steigerung deutlich.
- Nach Analysen und Benchmarks zeigte sich, dass 99% der Abfragezeit innerhalb der Zeitreihendatenbank QuestDB anfielen.
- Ziel der Optimierungen war es, die Datenhaltung und SQL-Abfragen gezielt zu verbessern.
- Die Baseline-Performance für den vollständigen Datensatz (1032 Messpunkte) lag bei einem gewichteten geometrischen Mittel von 557.85 Sekunden.
- Nach den Optimierungen konnte ein geometrisches Mittel von nur noch 1.550 Sekunden erreicht werden.
- Dies entspricht einem SpeedUp von 359,89x, womit das ursprüngliche Ziel von 20x deutlich übertroffen wurde.
Technische Schlüsselbegriffe
- ZeitreihendatenanalyseVerarbeitung von Daten, die in zeitlicher Reihenfolge erfasst werden.
- QuestDBEine hochperformante Open-Source-Zeitreihendatenbank mit spaltenorientierter Speicherarchitektur.
- PartitionierungAutomatische Aufteilung von Tabellen basierend auf Zeitstempeln zur Beschleunigung von Abfragen.
- IndexierungErstellung von Datenstrukturen zur Verbesserung der Abfrageperformance.
- SQL-OptimierungenVerbesserung der Abfragelogik, zum Beispiel durch die Ersetzung von OR-Klauseln durch IN-Klauseln.
- ParquetEin spaltenorientiertes Speicherformat, das für die Analyse großer Datensätze optimiert ist.
- BenchmarkingSystematisches Messen und Vergleichen der Leistung von Systemen oder Algorithmen.
- Geometrisches MittelEine Methode zur Berechnung eines gewichteten Durchschnitts von Verhältniszahlen.
Kunde
Virtual Global Trading AG
Tim Bohren
Obere Vorstadt 40
5000 Aarau
https://www.vgt.energy/
Team
Jan Werren
Xeno Suter
Betreuer
Simon Felix