-
Notifications
You must be signed in to change notification settings - Fork 0
Backend
Eine NoSQL Datenbank, zum Beispiel MongoDB, bietet unter anderem den Vortei, dass sie auf ein dynamisches Schema ausgelegt ist, welches sich neuen Daten flexibel anpassen kann. MongoDB speichert diese Daten in Collections. Jede Collection enthält Dokumente, sogenannte JSON-Files, mit einer ähnlichen Struktur, welche unter sich auch eine unterschiedliche Anzahl von Feldern besitzen können.
Aufgrund dieses Schemas ist es sehr leicht die Datenstruktur auch nach der Inbetriebnahme des Systems noch oft zu ändern.In unserem Projekt rechnen wir allerdings nicht damit, das sich die Datenstruktur nach Fertigstellung noch dramatisch verändern wird.
Des Weiteren lässt sich eine MongoDB frei nach oben skalieren, die Datenbank könnte sogar von einem Mehrrechner-Datenbanksystem betrieben werden, sollte dies nötig werden. Dies ist vorallem im Big Data bereich von großem Vorteil. Bei Prox ist es nun allerdings so, das die Zunahme an Datenmenge stagnieren wird, sobald alle Professoren/Betreuungspersonen ein Profil erstellt haben.
RDBMS wie zum Beispiel MySQL und Oracle sind bewährte und weit verbreitete Lösungen für Datenstrukturen, welche sich im Nachhinein nicht großartig verändern. Ebenfalls von Vorteil ist die starke Abfragesprache(Queries) der RDBMS, welche, natürlich je nach komplexität der Anfrage und Datenbestand, zuverlässig und schnell die benötigten Informationen liefern.
Ein weiterer persönlicher Vorteil unseres Teams von RDBMS ist die vorhandene Erfahrung in der Arbeit mit diesen. Die Weiteren microservices von Prox nutzen - Stand Januar 2019 - ebenfalls alle ein RDBMS.
Die größten Vorteile einer NoSQL Datenbank, wie zum Beispiel MongoDB, lassen sich in unserem Projekt nicht nutzen, da wir eine bekannte, sich nach Fertigstellung des Projektes nicht mehr großartig verändernde Datenstruktur ausgearbeitet haben. Des Weiteren wird die Menge an Daten nach der Einführungsphase ebenfalls stabil bleiben und nicht höher skaliert oder gar auf ein Mehrrechner-Datenbanksystem skaliert werden müssen.
Auf Grunde dessen scheint eine Relationale Datenbank die geeignetere Wahl zu sein.