Generische Time-Series-Datenbanken speichern Werte – TopoDB versteht Messdaten.
Die Unterschiede im Einzelnen:
Speicherung: TopoDB legt Werte in Binärdateien mit verketteten Blöcken ab,
deren Größe sich dynamisch an die Datenmenge anpasst; ein Index erlaubt sehr schnellen lesenden
und schreibenden Zugriff. Eine Zeitreihe mit 2,3 Millionen Wertepaaren belegt so 18,5 MB –
in QuestDB sind es 320 MB (Faktor 17), InfluxDB hält die Daten im RAM und nutzt Apache
Parquet, was sich unmittelbar auf die Schreib-Performance auswirkt (ca. Faktor 3-5 mal so langsam im Schreiben wie TopoDB)
(siehe Benchmarks).
Rohdaten und Qualitäten: TopoDB speichert Änderungen in höheren
Bearbeitungsstufen, ohne die Rohdaten anzutasten – und zwar nur dort, wo sie stattfinden.
Beim Lesen werden die Stufen automatisch zusammengeführt. In InfluxDB oder QuestDB müsste man
dafür parallele Tabellen anlegen und die gesamte Verwaltung in die Applikation verlagern.
Attribute statt Schema-Konventionen: Jede Zeitreihe trägt einen eigenen
Attributsatz (Einheit, Messgröße, Station, Aggregierung, SubOrt …). Bei InfluxDB und QuestDB
muss die Applikation solche Informationen selbst dazumischen.
Zeitreihen statt Wertepaare: TopoDB verwaltet Zeitreihen, nicht bloß
Wertepaare. Über TopoFlix lässt sich direkt abfragen, ob es z. B. Tagesmittel der
Temperatur gibt oder nur Tagesmaxima – ohne auf Namenskonventionen der Applikation
angewiesen zu sein.