Interne Änderung: Neue Speichermethode für Aktivitäten

, Posted in Allgemein

In den letzten Monaten haben wir an einer großen internen Umstellung gearbeitet. Als wir vor vielen Jahren mit der Programmierung von RUNALYZE begonnen haben, war es zunächst nur für einen einzigen Benutzer gedacht – erst danach haben wir den Mehrbenutzerbetrieb ermöglicht. Dieser läuft inzwischen sehr flüssig, aber die Datenhaltung war bisher nicht für die großen Datenmengen optimiert, mit denen wir aktuell und zukünftig zu tun haben. Es macht einen großen Unterschied, ob man die Aktivitätsdaten eines einzelnen Benutzers oder die von über 30.000 Benutzern speichern muss.

Die richtige Lösung finden

Diese Datenmengen dauerhaft in einer relationalen Datenbank abzulegen, ist suboptimal. Aktuell sprechen wir von rund sieben Millionen Aktivitäten, die mit GPS-Daten und allen weiteren Sensordaten wie Herzfrequenz etc. bestückt sind. Langfristig musste zwingend eine andere Lösung her, welche inzwischen – unter Berücksichtigung vieler Aspekte wie Implementierungsaufwand und laufende Kosten – auch gefunden wurde.

Die Krux dabei: Etwa 80% der Aktivitäten werden einmal hochgeladen, häufig nur einmal aufgerufen und anschließend nahezu nie wieder benötigt. Allerdings eben nur nahezu nie wieder. Neuberechnungen für zukünftige Features, das Postertool oder auch die Sicherung aller deiner bei uns gespeicherten Daten müssen natürlich auf die Daten zugreifen können.

Ein Vorteil der neuen, dateibasierten Lösung: Neue Datenfelder können deutlich schneller hinzugefügt und ausgewertet werden. In dieser Hinsicht sind gerade auf einen Schlag gleich mehrere Felder hinzugekommen, die zukünftig aus den Sensordaten gelesen werden können. Dazu gehören die „Cycling Dynamics“, die zum Beispiel bei Garmin Vector-Pedalen aufgezeichnet werden (Links-Rechts-Balance, Drehmoment-Effektivität, Pedal Smoothness, Platform Center Offset und Power Phase-Metriken), sowie weitere Daten von Stryd (Form Power und Leg Spring Stiffness) und die kontinuierliche Performance Condition von Garmin. Mehr Details zu den neuen Werten folgen in einem separaten Blogartikel.

Ein kleiner Nachteil der neuen Lösung sind leichte Performance-Einbußen. So dauert zum Beispiel die Erstellung der Poster etwas länger als bisher. Hier besteht aber noch Verbesserungspotential, welchem wir ins zukünftig noch widmen werden.

Die Migration

Die Migration, also der Akt der Umstellung selbst, war ein spannendes Thema. Anfangs planten wir, eine Ausfallzeit von 24 Stunden in Kauf nehmen zu müssen, um die Änderungen durchführen zu können. Bei ersten Tests zeigte sich, dass 24 Stunden keinesfalls ausreichen würden. Zum Glück konnten wir den größten Teil der Datenverarbeitung bereits parallel zum Live-Betrieb durchführen. Etwa zwei bis drei Wochen lang liefen zwei Server unter voller Last, um all Eure Daten in das neue Format zu bringen. Für den Tag der Umstellung blieb am Ende nur noch ein sehr geringer Zeitaufwand übrig.

Starte jetzt deine Analyse

Erstelle dein kostenloses Konto und beginne mit der Analyse deiner Aktivitäten.

Du kannst dich auch via Facebook oder Google registrieren.

Fragen?

Hast du noch Fragen? Wir sind für ich da. Stelle deine Frage im Forum oder in der Facebook Community.

Hilfe benötigt?

Hast du Probleme mit deinem Account?
Kontaktiere unseren Support.