So verwenden Sie MongoDB mit Zeitreihen

So verwenden Sie MongoDB mit Zeitreihen

„Einfügen, aktualisieren, lokalisieren, löschen und aggregieren sind alle Vorgänge, die in einer Zeitreihensammlung ausgeführt werden können, genau wie sie sich auf einer Standardsammlung befinden. Hinter dem Vorhang besteht der grundlegende Unterschied. Wenn Sie Daten in MongoDB einfügen, wird diese in ein optimales Speicherformat umgewandelt. Eine Zeitreihe ist einfacher und abfrageeffizienter als eine reguläre Sammlung.

Zeitreihensammlungen werden als nicht materialisierte beschreibbare Ansichten in MongoDB behandelt. Die Daten werden effizienter gespeichert, wobei der Scheibenraum speichert, und ein zeitbasierter interner Index wird automatisch erstellt. Anstelle von Snappy wird der ZSTD -Algorithmus standardmäßig verwendet, um die Daten zu komprimieren. Die neue Komprimierung hat ein höheres Verhältnis, erfordert weniger CPU -Leistung und eignet sich besonders gut für die Zeitreihenanalyse mit geringfügigen Unterschieden zwischen den Dokumenten.

Es ist möglich, den Komprimierungsalgorithmus in Zukunft zu ändern, obwohl dies nicht ermutigt wird. Wenn Sie ein Dokument einfügen, wird eine Zeitreihensammlung nicht automatisch wie andere Sammlungen erstellt. Es muss ausdrücklich erstellt werden.”

Was ist Zeitreihen in MongoDB in Ubuntu 20.04?

Eine Zeitreihendatenbank ist eine angepasste Datenbank, die zum Speichern von Daten erstellt wurde, die aus einem konstanten Wertestrom in Verbindung mit einem Zeitstempel effizient erstellt wurden. Die häufigste Anwendung ist das Speichern von Daten aus sensorischen Geräten, die Datenpunkte in regelmäßigen Abständen liefert, aber jetzt werden sie eingesetzt, um ein weitaus breiteres Angebot an Anwendungen zu dienen.

Im Folgenden finden Sie einige Beispiele für mögliche Anwendungen:

  • Daten aus dem Internet der Dinge
  • Webdienste, Apps und Infrastruktur sind alle unter ständiger Überwachung.
  • Schätzung des Umsatzes
  • Finanztrends Verständnis
  • Daten von selbstfahrenden Autos oder anderen physischen Objekten werden verarbeitet.

Eine spezielle Datenbank für zeitreiche Serien verwendet Komprimierungstechnologien, um den benötigten Platz zu verringern und gleichzeitig Zugriffskanäle bereitzustellen, um tiefer in die Daten zu graben. Dies verbessert das Abrufen von Daten und die Aggregationsleistung bei der Verwendung von Zeitbereichfiltern. Sie sind kostengünstiger als die Verwendung einer herkömmlichen relationalen Datenbank.

Die Werte in einer Zeitreihe sollten sich normalerweise nicht ändern, wenn sie aufgezeichnet wurden. Daher werden sie nur als Einfügen oder unveränderliche Datenpunkte bezeichnet. Die Aktualisierungsaktion ist äußerst selten, sobald die Daten gespeichert wurden.

Richtlinien für die Datenspeicherung von MongoDB -Zeitreihen in Ubuntu 20.04

Wir haben einige Richtlinien für Zeitreihendaten in MongoDB, die unten beschrieben sind.

  • Berücksichtigen Sie die Datenfunktionen und Abfragemuster, während Sie Ihre Daten für geeignete Metafield und Zeitfeld einstellen.
  • Wenn möglich, kombinieren Sie Zeitreihendaten und Zeitreihensammlungen.
  • Einzelne Messungen oder Messsätze sollten als ein Dokument gespeichert und bei Verwendung einer Zeitreihensammlung in Chargen hinzugefügt werden.
  • Passen Sie unsere Datengranularität an die Attributwerte unserer Metafield oder die unterschiedlichen Paarungen unseres eindeutigen Metafield an, basierend auf unserem Datenaufnahmegeschwindigkeit.

So verwenden Sie Zeitreihen MongoDB in Ubuntu 20.04

Bei der Arbeit mit Zeitreihendaten benötigen Sie normalerweise mehr als nur Speicher. Sie benötigen auch schnelle Lesen und Schreiben von Funktionen sowie erweiterte Abfragenfunktionen. MongoDB kümmert sich jetzt nativ mit MongoDB 5 Time-Serie-Daten.0. Die folgenden Optionen sollten angegeben werden, wenn eine Zeitreihensammlung in MongoDB angegeben wird:

Der Befehl createCollection () kann verwendet werden, um eine neue Zeitreihensammlung zu starten.

Zeitfeld: Die Option Timefield muss beim Erstellen einer Zeitreihensammlung verwendet werden. Das Zeitfeld bezeichnet die Beschreibung der Eigenschaft in jedem Dokument, das das Datum enthält. Wir sollten auch die folgenden Alternativen berücksichtigen:

Metafield: Das Metafield gibt den Namen der Spalte in jedem Dokument an, das Metadaten enthält. Das Metafield fungiert als Etikett oder Tag, mit dem Zeitreihensammlungen eine Zeitreihenquelle identifizieren können. Dieses Feld sollte und sollte sich im Laufe der Zeit nicht ändern und nur ändern sollte.

Die Granularität: Wenn ein passendes Metafield geliefert wird, gibt das Granularitätsattribut die zeitliche Lücke zwischen Dokumenten an. Die Standardkörnigkeit beträgt „Sekunden“, was auf eine Hochfrequenzaufnahmequote für jede von der Metafield definierte Zeitreihe hinweist. Die Granularität kann auf "Sekunden", "Minuten" oder "Stunden" angepasst werden und kann jederzeit geändert werden, um es noch schlimmer zu machen. Da Sie die Granularität jedoch nicht von „Minuten“ auf „Sekunden“ ändern können.

Versiegelungsekunden: Wenn Sie beabsichtigen, Daten nach einem bestimmten Zeitraum zu löschen, können wir schließlich das Feld des Ablaufs einbeziehen.

Fügen Sie Dokumente mit Zeitreihen in MongoDB ein

Zumindest muss jedes Dokument zur Zeitreihensammlung das Zeitfeld definieren. Das Datum ist das Zeitfeld im Illustrationsdokument unten. Es ist erwähnenswert. Alle Techniken zum Einfügen von Dokumenten in andere MongoDB -Sammlungen können verwendet werden, um Dokumente zu einer Zeitreihensammlung hinzuzufügen. Dafür haben wir wie folgt eine Sammlung von „Webvissitoren“ erstellt:

In jedem Dokument, das wir einfügen, sollte eine einzelne Messung enthalten sein. Verwenden Sie den folgenden Befehl, um viele Dokumente gleichzeitig einzufügen:

Abrufen von Zeitreihendaten in MongoDB in Ubuntu 20 Abrufen.04

Zeitreihendokumente können wie die Dokumente aus anderen Sammlungen von MongoDB abfragt werden. Zum Beispiel haben wir mit der MongoDB -Shell einen Findone verwendet, um nach einem Dokument in der Webvissitors Collection () zu suchen () wie folgt nach einem Dokument.

Die vorhergehende Abfrage zeigt die folgenden Ergebnisse, wie Sie sehen können:

Aggregation über Zeitreihendaten in MongoDB in Ubuntu 20.04

Hier haben wir eine aggregierte Pipeline verwendet, um weitere Abfragefunktionen hinzuzufügen. Das folgende Beispiel -Aggregationspipeline kombiniert alle Dokumente nach Messdaten und liefert dann den Durchschnitt aller Messungen des Besuchers an diesem Tag einer Website:

Wenn wir die Aggregationspipeline in den Collection -Website -Visvisors ausführen, generierte die Ausgabe den Durchschnitt des Besucherdokuments aus der Sammlung „WebsiteVissitors“ wie folgt:

Abschluss

Es gibt viele Zeitreihendaten, aber es kann schwierig sein, sie zu pflegen und zugreifen zu können. MongoDB hat native Unterstützung für Zeitreihen erhalten und die Arbeit mit Zeitreihen Daten erheblich einfacher, schneller und billiger. Wir haben eine kurze Einführung mit einigen Richtlinien für die Verwendung von Zeitreihen in MongoDB gegeben. Wir haben einige Abbildungen von Zeitreihen, die zeigen, wie wir Zeitreihen in der MongoDB -Sammlung auf einige Weise verwenden können.