Datenbanken
MongoDB
Die Installation der NoSQ-Datenbank "MongoDB" wurde bereits in Kapitel erläutert. Hier soll der Nutzung der MongoDB anhand von Beispielen beschrieben werden.
Informationsquellen zur MongoDB
Auf der Homepage der "MongoDB" finden zahlreiche Dokumentationen zuz den Treibern der unterschiedlichen Programmiersprachen, wie Node.js, C# und auch Python.
Hier soll schwerpunktmäßig der Umgang mit Python behandelt werden.
MongoDB-Compass
Mit der Installation der MongoDB kann optional das Tool "MongoDB Compass" mitinstalliert werden. Mit dieser grafischen Oberfläche kann interaktiv mit der Datenbank gearbeitet werden:
Startbildschirm vom mDB-Compass
Zuesrt ist eine Verbindung zum Datenbankserver anzulegen:
Konfiguration einer Verbindung (lokal oder entfernt)
Beispielsicht auf existierende DBs und Collections
Anlegen einer Time Series Collection
Die MongoDB unterscheided in "normale " Collections und "time series" Collections. Collections sind Listen von "documents", die als Json-Objekte strukturierte Daten beschreiben und speichern. Sollen in einer Collection Messdaten, die einen Zeitbezug aufweisen, gespeichert werden, dann unterstützt die MongoDB die besondere Art der "Time Series" (Zeitreihen). Sie zeichnen sich durch die Indexierung der Zeit (Zeitstempel/TimeStamp) aus. Dies macht den Zugriff auf die Daten innerhalb eines vorgegeben Zeitintervalls besonders effektiv. Zudem lässt sich die Gültigkeit der Daten begrenzen, was besonders bei gestreamten Daten, die schnell sehr großen Datenbestände umfassen können, sinnvoll ist.
Wird eine Time Series - Collection mit dem Compass angelegt, dann erscheint folgender Dialog:
Anlegen einer Time Series - Collection
Datenbankabfragen
Der grundlegende Abfragebefehl lautet find() und kann mit einer Reihe von Optionen ergänzt werden.
Find-Anfrage
| Element | Parameter | Bemerkung |
|---|---|---|
sort |
ts:-1 |
Rückwärts sortieren |
project |
_id:0 |
Ein-/Ausblenden von Spalten |
limit |
1 |
Begrenzen der Anzahl der documents |
Erzeugen einer TimeSeries-Collection mit Python
Die Erzeugung einer TS-Collection in Python erfordert eine kleine Erweiterung der Standard-Calls:
1 2 3 4 5 6 7 8 | |
- Aktivieren der TS-Eigenschaften
- key für den Timestamp
- Einheit der Blöcke
- Zeithorizont, der gespeichert bleibt
Das Ablaufen von Daten ist für bestimmte Arten von Informationen nützlich, darunter maschinell generierte Ereignisdaten, Protokolle und Sitzungsinformationen, die nur für einen begrenzten Zeitraum aufbewahrt werden müssen. Der Zeithorizont expireAfterSeconds beschreibt das Gedächniss bzw. das Hitoriengedächniss der Zeitreihe. Ältere Werte werden von dem MongoDB-Server gelöscht.
Alternative zu MongoDB-Compass: VS Code-Plugin
Eine interessante Alternative zu dem MongoDB-Compass-App kann direkt innerhalb von VS Codse genutzt werden: 'MongoDB for VS Code'
Der Vorteil ist die direke Integragtion in die Entwicklungsumgebung und die einfache Möglichkeit, sogenannte "Playgrounds" (Javascript-Dateien) verwalten und ausführen zu können.
MongoDB-Intergration in VS Code





