Die Situation stellt sich wie folgt dar:
Ich habe Zehntausende von Sensoren (sagen wir 100.000). Jeder Sensor erzeugt regelmäßig oder unregelmäßig zeitlich festgelegte Werte in Form von (timestamp, value)
. Die Schrittweite kann weniger als 1 Sekunde betragen, so dass im Laufe eines Jahres Millionen von Ereignissen stattfinden können. (timestamp, value)
Paare für einen bestimmten Sensor und bilden eine Zeitreihe pro Sensor. Ein Benutzer kann die Werte für einen bestimmten Zeitraum anfordern (from, to)
für eine solche Zeitreihe von Sensoren.
Die Speicherung aller Werte in einer Tabelle ( sensor_id, timestamp, value)
wird die Tabelle mit buchstäblich Milliarden von Werten/Zeilen pro Monat gefüllt. Dies überfordert herkömmliche Open-Source-Datenbanksysteme (MySQL, PostgreSQL).
Ich denke daran, eine Tabelle pro Sensorzeitreihe zu erstellen (timestamp, value)
und referenziere dies in meiner Sensortabelle (sensor_id, sensor_name, sensor_table_name)
. Es wird also 100.000 Tabellen mit jeweils einigen Millionen Zeilen geben.
Kann ich die Werte direkt mit der Option sensor_table_name
Spalte in meinem Sensor direkt oder muss ich zwei Abfragen durchführen, eine, um die sensor_table_name
und eine, um die Werte aus dieser Tabelle zu erhalten?