MongoDB

MongoDB ist eine Open-Source, Document Datenbank die für einfache Entwicklung und Skalierung entwickelt wurde.

MongoDB als Echtzeit-Datenbank mittels Change Streams

Experte
Veränderungen von Daten in einer Datenbank mitzubekommen und diese in Echtzeit abzurufen ist wesentlich schwieriger als man denken könnte. Es gibt dafür drei verschiedene Ansätze:
  • Ein Pollen der Datenbank alle X Sekunden, wobei ein Timestamp, eine Versionsnummer oder Status Feld abgefragt werden.
  • Man nutzt Datenbank- oder Anwendungs-Trigger um ein Stück Code auszuführen, sobald sich etwas ändert.
  • Man nutzt das Datenbank Transaktions-/Replikations-Log in dem alle Änderungen erfaßt sind.


    • Seit MongoDB 3.6 sind die sog. Change Streams verfügbar, mit denen es möglich ist auf Änderungen der Daten ohne jegliche Komplexität zu reagieren. Die Change Stream Funktionalität überwacht ihrerseits das Oplog, welches eine Capped Collection ist, und in dem alle Änderungen an den Daten erfaßt werden.

      Derzeit gibt es noch relative wenige Tutorials oder Programmierbeispiele für die Umsetzung einer Applikation die Change Streams nutzt. Hier ist ein Beispiel das mittels React, NodeJS und MongoDB eine anschauliche Beispielimplementierung zeigt.

      https://pusher.com/tutorials/mongodb-change-streams

      Wer gerne mehr solche praxisnahen Beispiele kennenlernen möchte, für den bietet Qualiero z.B. einen MongoDB NodeJS Entwickler-Grundkurs, als Classroom Training an.
      https://www.qualiero.com/lerninhalte/classroom-trainings/mongodb-fuer-nodejs-entwickler-grundkurs.html

Neueste Mitgliederaktivitäten

Diesen Community Beitrag weiterempfehlen