Description |
Die Aufname der Datenmessungen als Zeitreihen nimmt in den letzten Jahren enorm zu (z.B. Sensormessungen in der Industrie 4.0, IoT, Finanzdaten, …). Daher steigt auch der Bedarf nach einer Lösung für eine Datenbank für Zeitreihen (TSDB, time series database). Das Ziel der Arbeit wäre daher:
- Literaturrecherche zu den aktuellen TSDBs
- Vor- und Nachteile der unterschiedlichen Konzepte (RDBMS oder NoSQL, verteilte Architektur, Skalierbarkeit, usw.)
- Wie kann die konzeptionelle Lösung an die bestehenden Frameworks (python, R, tensor flow, Moa, usw.) angebunden werden?
- welcher Input wird erwartet?
- und welcher Form genau?
- Ist eine API zur Kommunikation gegeben?
Die Idee wäre:
- TSDB sichert zuerst die rohen Zeitreihen (immutable!).
- Ganz simple Charakteristiken sollen nach dem Importieren zur Verfügung stehen (Metadaten wie bei Rapidminer).
- Entscheidend für die spätere Lernaufgabe und deren Erfolg sind die Transformationen, die auf die Daten angewandt werden. ML Verfahren soll auf transformierten Daten arbeiten. Jetzt ist die Frage, wie man vor allem im Hinblick auf Big Data solche transformierten Daten behandelt:
- speichere die transformierte TS
- sichere (lazy) den Weg (Beschreibung der Transformation) und wende ihn erst an, wenn es angefragt ist (siehe Spark)
Am Ende kann es eine Mischung sein: wenn die Transformation ausgeführt wurde, kann sie auch gesichert werden, nachdem sie ein Mal angefragt wurde.
Transformationsketten:
Ggf. definiert man in dem Framework die Transformationsketten (ähnlich wie bei Rapidminer), die dann auch auf andere TS angewandt werden können. Vorausgesetzt können z.B. bestimmte Vorverarbeitungsschritte oder Metadaten (keine fehlenden Werte) usw. Somit könnte man, wenn die Voraussetzungen erfüllt sind, alle möglichen Transformationen zu einer TS anbieten.
#######
Übersicht der existierenden TSDB: https://misfra.me/2016/04/09/tsdb-list/ https://blog.dnsfilter.com/3-billion-time-series-data-points-dnsfilter-replaced-influxdb-with-timescaledb-d9f827702f8b
Es gibt auch interessante Konzepte, wie TSDB mit den Stream Processing Systemen kombiniert werden können: https://medium.com/@leventov/design-of-a-cost-efficient-time-series-store-for-big-data-88c5dc41af8e
TSDB bei facebook: https://code.fb.com/core-data/beringei-a-high-performance-time-series-storage-engine/
TimescaleDB Artikel: https://blog.timescale.com/time-series-data-why-and-how-to-use-a-relational-database-instead-of-nosql-d0cd6975e87c
Time Series Databases: New Ways to Store and Access Data (free download available) http://shop.oreilly.com/product/0636920035435.do
|