Zum Inhalt springen

Zeitreihendatenbank: Was es ist und wie es funktioniert

Was ist eine Zeitreihendatenbank (TSBD)? 

Eine Zeitreihendatenbank (TSDB) ist speziell für den Umgang mit Zeitreihendaten oder zeitgestempelten Daten konzipiert. Zeitreihendaten können aus einer Reihe von Ereignissen oder Metriken erfasst werden, jedoch immer über Serverzeiträume und nicht über einzelne Ereignisse. 

 Sie können Zeitreihendaten zum Überwachen, Aggregieren, Downsampling und Verfolgen von Verhalten im Zeitverlauf verwenden. Eine TSDB kann für eine Vielzahl von Daten und Zwecken verwendet werden, einschließlich der Überwachung der Anwendungsleistung, der Speicherung von Servermetriken und Netzwerkdaten, der Analyse von Sensordaten, der Verfolgung von Ereignissen, Marktgeschäften, Klicks und mehr. 

 TSDB-Systeme wurden entwickelt, um Veränderungen über Zeiträume hinweg zu messen. Dies bedeutet, dass sich die Architektur einer TSDB typischerweise von anderen Datenbanken unterscheidet, insbesondere in Bezug auf die Zusammenfassung und das Data Lifecycle Management. 

 

In diesem Artikel erfahren Sie: 

Was ist eine Zeitreihendatenbank (TSBD)? 

Wie funktioniert eine Zeitreihendatenbank?  

Wofür wird eine Zeitreihendatenbank verwendet? 

Anforderungen an eine Zeitreihendatenbank 

Zeitreihendatenbank mit Raima  

Wie funktioniert eine Zeitreihendatenbank? 

Eine TSDB erfasst einen Satz fester Werte und dynamischer Werte. In einer Webanwendung kann es sich beispielsweise um eine Reihe von Datenpunkten handeln, die von einer Gruppe von Besuchern ausgeführt werden. Die dynamischen Werte sind die Anzahl der gewünschten Aktionen, wie z. B. E-Commerce-Käufe, die von den Besuchern im Laufe der Zeit ausgeführt werden. Durch die Analyse der Käufe im Zeitverlauf kann das Unternehmen den Wert jeder Benutzergruppe erkennen und die Marketingaktivitäten für verschiedene priorisieren Kundensegmente. 

Idealerweise sollten Zeitreihendatensätze in einem Format in ein Repository geschrieben werden, das schnelle zeitbasierte Schreib- und Lesevorgänge ermöglicht. Da die Datensätze mit einem Zeitstempel versehen sind, wird die Reihenfolge der Datenpunkte zu einem nativen Aspekt der Daten. Sie können diese Bestellung dann verwenden, um die Daten an eine Stream-Verarbeitungs-Engine zu liefern, die die bestellten Daten dann wie einen Datenstrom behandeln kann. Durch die Nutzung einer schnellen Stream-Processing-Engine können Sie sicherstellen, dass Ihre TSDB schnell ist. 

Wofür wird eine Zeitreihendatenbank verwendet? 

Internet der Dinge (IoT) 

IoT-Technologien generieren und nutzen riesige Mengen an Zeitreihendaten. Zum Beispiel mobile Geräte, eCommerce-Anwendungen, Autos und Systeme zur Bestandsverwaltung, alle Zeitstempeldaten nach Ereignissen. Die schnelle Erfassung von Zeitreihendaten ist entscheidend, um sicherzustellen, dass IoT-Geräte und -Metriken kontinuierlich Daten erfassen und zur Analyse speichern können. 


Überwachungsanalyse
 

Zeitreihendaten werden häufig verwendet, um Computersystemmetriken zu überwachen. Dieser Prozess funktioniert durch das Lesen von Daten von Computersystemen von Benutzern, die zugestimmt haben, andere das Computersystem überwachen zu lassen. Typischerweise umfassen Metriken die Prozessanzahl und die Speicherauslastung, die dabei helfen, die Auslastung von Computerressourcen zu überprüfen und zu beurteilen, ob Ressourcen neu zugewiesen werden sollten. 


Key Performance Indicators (KPIs)
 

KPIs sind zeitorientiert und werden wiederholt abgetastet und passen problemlos in Zeitreihendaten. Einige Beispiele für diese KPIs können Gewinn, Umsatz, Kosten, Conversion-Rate, Anzahl der Transaktionen und durchschnittlicher Bestellwert sein. Sobald diese Informationen gesammelt und gespeichert wurden, können sie zum Erstellen von Dashboards verwendet werden.

 

Anomalieerkennung 

Die Anomalieerkennung hilft, unerwartete Abweichungen in Zeitreihendaten zu erkennen. Zeitreihendaten erfassen einen Wert, wenn eine Systemänderung auftritt. Unternehmen können diese Werte verwenden, um Veränderungen zu messen, Wege zu entdecken, wie Veränderungen in der Vergangenheit aufgetreten sind, was derzeit passiert, und diese gesammelten Daten nutzen, um zukünftige Ereignisse vorherzusagen. 

 Virtualisierung ist ein Hauptfaktor bei der Anomalieerkennung. Ein Zeitreihendiagramm bietet beispielsweise die Visualisierung, die Menschen häufig benötigen, um Ausreißer zu erkennen. Die automatisierte Anomalieerkennung ist ein weiterer Weg, der den Prozess oft beschleunigt und Einblicke in Echtzeit bietet. Auf diese Weise können Sie Ausreißer schnell korrelieren. 

Anforderungen an eine Zeitreihendatenbank 

Datenbanken, die Zeitreihendaten speichern, sollten die folgenden Funktionen bieten:
 

  • In-Memory für Wertwarnungen—Eingegebene Daten sollten sofort mit allen Werten verglichen werden, die zum Auslösen von Warnungen konfiguriert sind. 
  • In-Memory für Trendalarmierung—Eingegebene Daten sollten auch mit vorherigen Werten verglichen werden, um auf Trendalarme zu prüfen. Wenn alle für die Trendauswertung relevanten Aufzeichnungen im Speicher gehalten werden, kann der Vergleich schnell durchgeführt werden. Das System kann auch relevante Höchst- und Tiefstwerte aus früheren Datensätzen erfassen. 
  • In-Memory für Anwendungen und Dashboards– Anwendungen führen Aktionen gemäß Datenwerten aus, und Dashboards sind erforderlich, um aktualisierte Werte anzuzeigen. Um diese Ziele zu erreichen, benötigen Anwendungen Live-Daten im Arbeitsspeicher (da sie schnelles Handeln ermöglichen) und Dashboards benötigen kontinuierliche Anzeigeaktualisierungen. 
  • Schneller Zugriff für maschinelles Lernen (ML), künstliche Intelligenz (KI) und Echtzeitanalysen—Business Intelligence (BI)-Systeme, Ad-hoc-Abfragen, ML-Algorithmen, KI-Software und Reporting-Tools benötigen einen schnellen Zugriff auf Datenspeicher. Um dieses Geschwindigkeitsniveau bereitzustellen, müssen die Daten möglicherweise stark zwischengespeichert, im Arbeitsspeicher gehalten oder effizient von einer beliebigen Kombination von Festplatten- und Arbeitsspeicherressourcen aus abgerufen werden. 
  • Hohe Parallelität für Echtzeitanalysen– Zeitreihendaten repräsentieren den letzten Datenlesevorgang. Stakeholder unterschiedlicher Interessen müssen oft gleichzeitig auf diese Daten zugreifen. Das bedeutet, dass viele Anmeldungen und Anfragen gleichzeitig eintreffen können und das System sollte diese Anforderungen erfüllen können. 
  • Hohe Kapazität– Um riesige Datenmengen verarbeiten zu können, sollte eine TSDB schnell und skalierbar sein. Häufig ist eine Zeitreihendatenbank erforderlich, um Daten bei der Eingabe auf Warnungen zu scannen und zu vergleichen. Das System muss auch Daten zugänglich speichern und auf Abfragen bei großen Datensätzen reagieren. 
  • Standard-SQL-Funktionen—SQL gehört zu den am häufigsten verwendeten Sprachen in Datenprozessen. Um die Schlüsselfunktionalität und die Nutzung von Zeitreihendatenbanken sicherzustellen, sollten SQL-Funktionen mit Höchstleistung arbeiten. 
  • Benutzerdefinierte Zeitreihenfunktionen– Zusätzlich zur SQL-Funktionalität benötigen Zeitreihendatenbanken erweiterte Funktionen für die Leistung. Sie können beispielsweise Funktionen einbeziehen, um nur Datensätze mit den höchsten und niedrigsten Werten aus einer großen Menge von Datensätzen zurückzugeben. 

Zeitreihendatenbank mit Raima 

Die neueste Version von Raima bietet leistungsstarke Unterstützung für die Speicherung und Aggregation von Zeitreihendaten. RDM kann jetzt eine C/C++-Schnittstelle basierend auf einer Zeitreihendefinition zusammen mit einem vollständigen Satz von API-Aufrufen zur Unterstützung der Fast Fourier Transformation generieren. Die FFT-Aufrufe unterstützen Skalierung, Absolutwert- und Realberechnungen zusammen mit einem modularen Design, sodass ein Entwickler die Raima-FFT-Bibliothek mit jeder anderen benutzerdefinierten oder Drittanbieterbibliothek austauschen kann, um ihren Anforderungen gerecht zu werden. Der Zeitreihencode unterstützt automatische arithmetische, geometrische und harmonische Mittelwertberechnungen sowie Downsampling und Datensplitting.

Laden Sie jetzt eine Testversion herunter.