7 Aralık 2020 Pazartesi

Time Series Database

Giriş
Bazı popüler Time Series veri tabanları 

- InfluxDB
- Kdb+
- Prometheus
- QuestDB : Açıkalaması şöyle. Biraz Java biraz C++ ile geliştirilmiş
QuestDB is a fast, open-source, time-series database with SQL support. This makes it a great candidate to store financial market data for further historical trend analysis and generating trade signals. By default, QuestDB ships with a console UI exposed on port 9000.
Örnek
Şöyle yaparız
SELECT timestamp, avg(tempC) from sensors
SAMPLE BY 5m;

Time-Series Data Nedir?
Açıklaması şöyle.
Time series is a succession of data points ordered by time. These data points could be a succession of events from an application’s users, the state of CPU and memory usage over time, financial trades recorded every microsecond, or sensors from a car emitting data about the vehicle acceleration and velocity.

For that reason, time-series is synonymous with large amounts of data. Unlike traditional databases in which older data entries are typically updated with the most recent data point to show the latest state, time-series databases (“TSDB”) continuously accumulate data points over time. This way, one can draw insights from the evolution of metrics over time to conclude meaningful insights from the data. Better yet is to predict future events through machine learning models based on historical time-series analysis.
Yazma
Bu veri tabanları yazma işlemleri için optimize edilmişlerdir. Yazma işlemi append olarak düşünülmeli. Yazdıktan sonra çoğunlukla değişikliğe izin verilmez.

Silme
Çoğunlukla eski veri, batch işlem şeklinde silinebilir.

Okuma
Çoğunlukla SQL veya transaction desteklemezler

Downsampling Nedir?
Verinin daha düşük frekansta okunmasıdır

Interval search Nedir?
Belli bir aralıktaki verinin okunması

Örnek - SAMPLE BY
Şöyle yaparız. Bu sadece bir örnek. Her Time Series Database SAMPLE BY diye bir şeyi desteklemek zorunda değil.
SELECT time, avg(PriceUSD) AS PriceUSD From btc SAMPLE BY 30d; 

Time series joins Nedir?
Açıklaması şöyle
Align join time-series data from two different tables, which do not have exactly matching timestamps. 

Hiç yorum yok:

Yorum Gönder