Skalierbare Verarbeitung von gigantischen Datenmengen
Studentische Projektleitung: Christopher Sieh (Medieninformatik)
Projektteam:
- Kai Marco Krie?mann (Technische Informatik)
- Lucca Emilian Oberh??el (Medieninformatik)
- Mathias Pries (Medieninformatik)
Modul: Software Engineering
Betreuer:
- Prof. Dr. Rainer Roosmann (188篮球比分_188比分直播—激情赢盈中√ Osnabrück),
- Eyk Haneklaus (ROSEN Gruppe)
In Kooperation mit: ROSEN Gruppe, Lingen (Ems)
ROSEN bietet als weltweit führender Anbieter innovative, zuverl?ssige und wettbewerbsf?hige L?sungen für verschiedenste Industrien wie ?l und Gas, Energie, Prozess, Bergbau, fertigende Industrie, Telekommunikation und Transport. Das Unternehmen sorgt dafür, dass die Sicherheit von unterschiedlichsten industriellen Anlagen gew?hrleistet wird. Dazu geh?ren unter anderem Pipelines, Tanks und Druckbeh?lter ebenso wie Windkraftanlagen, Züge, Antennenmaste und vieles Weitere mehr.
Am Forschungs-, Entwicklungs- und Fertigungsstandort in Lingen (Ems) besch?ftigt sich die ROSEN Gruppe unter anderem mit der Entwicklung von Software und Algorithmen, lotet die M?glichkeiten von künstlicher Intelligenz aus und engagiert sich in den Feldern Machine Learning, Virtual und Augmented Reality sowie Datenauswertung. Eben jene Auswertung arbeitet mit sehr gro?en Datens?tzen (ggf. mehrere Terabytes), die m?glichst schnell und effizient prozessiert werden müssen.
Die bisher verwendete L?sung ist über Jahre gewachsen und setzt eine gro?e Menge an Windows PCs voraus. Dabei bieten aktuelle Technologien neue M?glichkeiten. Auf Basis der Neuerungen des Cloud Computings und mit den spezielleren Anforderungen der ROSEN Gruppe entwickeln die vier Studenten eine moderne L?sung für das Problem.
Mit dem Fokus auf Skalierbarkeit in der Cloud werden etablierte Tools und Patterns aus der Industrie angewendet, um eine speziell für die Nutzung bei der ROSEN Gruppe optimierte L?sung zu entwickeln.
Die von den Studierenden umgesetzte Software zur Verteilung der Berechnungen bietet den Mitarbeitern die M?glichkeit, eine Aufgabe zu starten, die anfangs in eine Warteschlange von RabbitMQ gelegt wird. RabbitMQ fungiert hier als Vermittler zwischen den einzelnen Knoten. Alle Teilnehmer des Systems, inklusive der genannten Knoten, werden mit Docker in Containern organisiert. Wenn die Warteschlange besonders klein ist, merkt Kubernetes das über Meldungen an Prometheus, welches von Kubernetes überwacht wird, und f?hrt nicht ben?tigte Container herunter.
Wenn die Warteschlange hingegen eine sehr hohe Anzahl an Aufgaben enth?lt, werden zus?tzliche Container hochgefahren, die sich selbstst?ndig bei RabbitMQ anmelden und Aufgaben zugewiesen bekommen. Die Container müssen dabei Reihenfolge und Priorit?ten verwalten und geben den Fortschritt der Berechnung an Prometheus weiter, der dann zusammen mit vielen anderen Metriken über Grafana visuell aufbereitet wird, um den Mitarbeiterinnen und Mitarbeitern eine genaue ?bersicht über den Status der Aufgaben zu geben. Grafana dient hier auch als Schnittstelle zur ?berwachung der Auslastung und der Vorg?nge des gesamten Systems.
Projektvideos
Skalierbare Verarbeitung von gigantischen Datenmengen - Kurzvideo (YouTube)
Projektpr?sentation