Time-Series-Datenbank (deutsch: Zeitreihen-Datenbank) ist eine Datenbank, die auf zeitgestempelte Messwerte spezialisiert ist. Jeder Datensatz besteht aus einem Zeitstempel, einem oder mehreren Messwerten und optionalen Beschriftungen (Tags). Typische Quellen sind IoT-Sensoren, Server-Metriken, Börsenkurse und Applikations-Logs — Daten, die kontinuierlich in hoher Frequenz anfallen.

Zeitstempel, Metriken und Tags

Eine Zeitreihe wird über die Kombination aus Messwert-Name und Tags eindeutig definiert, etwa cpu_usage{host="web-1"}. Die Datenbank sortiert die Einträge intern nach Zeitstempel und kann sie dadurch besonders effizient schreiben und abfragen. Zeitpartitionierte Speicherung (zum Beispiel ein Segment pro Tag) erlaubt es, alte Datenblöcke zu verwerfen, ohne aufwändige Löschoperationen im gesamten Bestand auszuführen.

Downsampling und Aufbewahrung

Zwei Kernkonzepte sind Retention und Downsampling: Die Aufbewahrungsrichtlinie legt fest, wie lange Rohdaten vorgehalten werden; Downsampling verdichtet alte Daten auf grobe Aggregate (etwa Minutenwerte zu Stundenwerten), wodurch der Speicherbedarf sinkt, während die Detailtiefe für aktuelle Daten erhalten bleibt. Viele Systeme wie Prometheus integrieren diese Funktionen direkt.

Verbreitete Systeme

  • InfluxDB: beliebt für IoT- und Anwendungsmetriken, eigene Abfragesprache Flux.
  • Prometheus: Monitoring-Standard mit Pull-Modell, eng mit Kubernetes verbunden.
  • TimescaleDB: PostgreSQL-Erweiterung, die Zeitreihen in gewohnte SQL-Abfragen integriert.

Verwandte Grundlagen: NoSQL-Datenbank, Wide-Column-Store, In-Memory-Datenbank, Redis, Cluster-Datenbank, Datenbank-Replikation, Datenbank.