Weil bei der Berechnung von Rankingsystemen große Datenmengen zu bewältigen sind, haben wir in der Vergangenheit diese Systeme als Datenbankprozeduren in der Programmiersprache des Oracle-Datenbanksystems, nämlich PL/SQL, umgesetzt: Das gilt für das Ranglistensystem und das ITN-Ranking des ÖTVs, den TTR des DTTBs, die ELO-Berechnung vom Swiss Table Tennis und eben auch für die bisherige LK des DTBs. Dieser Ansatz hat neben vielen Vorteilen leider auch Nachteile, die sich insbesondere bei der gleichzeitigen Verarbeitung von neuen Ergebnissen und der permanenten Erstellung von Spielerporträts bemerkbar machen. Zur Überwindung dieser Nachteile haben wir für das neue LK System eine Microservicearchitektur herangezogen. Dabei bekommt das Ranking-System eine eigene Datenbank und kommuniziert über REST-Schnittstellen einerseits mit nuSport und andererseits mit dem Portalsystem mybigpoint des DTBs. Der LK-Service selbst ist ausschließlich in Java umgesetzt und befreit daher die Berechnung von der Herstellerabhängigkeit zu Oracle. Der neue LK Service setzt nun das Open-Source Datenbanksystem MariaDB ein.
Die Datenstrukturen des LK Microservices sind sehr spezifisch auf die Aufgaben der LK-Berechnung und die Erstellung von Spielerprotokollen ausgerichtet. Dabei können die Datenmengen kompakt gehalten werden, was es erlaubt, sowohl die Gesamtheit der Spieler wie auch die Spiele der relevanten Wettbewerbe und das berechnete Ranking im Hauptspeicher abzulegen. Damit lassen sich schnelle Reaktionszeiten und hohe Verarbeitungsfrequenzen erzielen, die um ein Vielfaches besser sind als bei der ursprünglichen Umsetzung mit einer Datenbankprozedur. Ebenso erlaubt die Umsetzung in Java eine bessere Wartung der Software:
- unerwünschte Seiteneffekte bei Wartungsarbeiten werden bereits während der Entwicklung erkannt;
- der Microservice wird durch Wartungen an nuSport nicht berührt, solange die Schnittstellen nicht betroffen sind;
- die Vorzüge einer modernen, objektorientierten Programmiersprache verursachen bei der Weiterentwicklungen geringere Aufwände.
Auch im Betrieb des Systems hat ein Microservice große Vorteile. So lässt er sich unabhängig von den anderen Systemen (nuSport, mybigpoint) deployen. Durch die eigene, spezifische Datenbank des Services kann die zentrale Datenbank von nuSport entlastet werden. Service und Datenbank des LK-Systems können den Erfordernissen entsprechend skaliert und gegebenenfalls mit mehreren Applikationsinstanzen betrieben werden.
Mit diesem Projekt hat der DTB also nicht nur einen sehr großen Schritt für den deutschen Tennissport umgesetzt, sondern auch IT-technisch sehr viel gewonnen. Wir freuen uns, dass wir als Softwarepartner in diesem Projekt mitarbeiten durften und sind stolz auf das entstandene Resultat.