Datenaggregation Demo

Diese Demo zeigt, wie eine große Menge von Messdaten effizient zur Darstellung eines Diagramms gefiltert und geladen werden kann.

Die serverseitige Datenbasis ist eine SQLite Datenbankdatei mit ca. 175.000 Datensätzen aus einem realen Website-Log (Hits eines Kalendertages).

Das Verfahren, aufgzeichnete Messdaten nur anhand ihres Unix Timestamps zeitlich zu gruppieren, sollte allgemein für die schnelle Auswertung von Logfiles anwendbar sein.

In dieser Demo wird z.B. die SQL-Aggregatfunktion COUNT() genutzt, um die Summe von Websitezugriffen pro Zeitintervall eines Kalendertages aufzuaddieren. Ebenso sind aber mit gleichem GROUP BY() Teilstatement auch Durchschnittswerte über AVG() oder MIN(), MAX() etc. aus den Daten aggregierbar.

Um bei dem Beispiel der Webstatistik zu bleiben, kann z.B. gezielt die durchschnittliche (zu jedem Request protokollierte) PHP-Scriptlaufzeit für einen bestimmten Controller über den zeitlichen Verlauf eines Kalendertages ermittelt werden, um ggf. Leistungsspitzen besser identifizieren zu können. Hierdurch können auch Resourcenengpässe auf dem Server schneller erkannt und behoben werden.

Zudem zeigt diese Demo auch beispielhaft, wie mittels einer Vue component ein Datendiagramm als dynamische, auflösungsunabhänge SVG Vektorgrafik gerendert werden kann. Alternativ wäre auch die Nutzung von HTML canvas möglich.