MongoDB

MongoDB ist die führende Open-Source, Document Datenbank die für einfache Entwicklung und Skalierung aber auch für Big Data Szenarien entwickelt wurde.

MongoDB als Echtzeit-Datenbank mittels Change Streams

Marc-David Militz
Expert
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

Latest member activities

Recommend this community post