Baza danych szeregów czasowych to system zarządzania danymi zoptymalizowany do przechowywania, udostępniania i przetwarzania szeregów czasowych zawierających informacje o czasie i zarejestrowanej wartości. W niektórych przypadkach szeregi czasowe nazywane są profilami, krzywymi, śladami lub trendami. Początkowo rozwiązania baz danych szeregów czasowych pojawiły się w zastosowaniach przemysłowych. Powstały systemy, które mogłyby efektywnie przechowywać pomiary pochodzące z urządzeń pomiarowych (nazywano je historianami). Z czasem jednak obszar ich zastosowania uległ poszerzeniu i tego typu rozwiązania znajdują zastosowanie w znacznie szerszym zakresie zastosowań.
W wielu przypadkach rejestrowane dane szeregów czasowych podlegają algorytmom kompresji. Chociaż możliwe jest przechowywanie tych danych w wielu różnych typach baz, konstrukcja systemów wykorzystujących czas jako kluczowy indeks wyraźnie różni się od relacyjnych baz danych. W systemach przetwarzania serii czasowych dane przetwarzane są za pomocą modeli referencyjnych.
Przegląd Zbiory danych szeregów czasowych są stosunkowo duże i jednolite w porównaniu z innymi zbiorami danych. Zwykle tego typu dane składają się ze znacznika czasu i powiązanych danych pomiarowych. Zbiory danych zawierające szeregi czasowe zawierają mniej relacji między kolejnymi wpisami danych w różnych tabelach i nie wymagają przechowywania kolejnych wpisów przez czas nieokreślonyWayner, Peter (15 Styczeń 2021). "Database trends: The rise of the time-series database". VentureBeat. Retrieved 7 July 2021.. Unikalne właściwości zbiorów danych zawierających szeregi czasowe oznaczają, że bazy danych szeregów czasowych mogą zapewnić znaczną poprawę wykorzystania przestrzeni dyskowej oraz wydajności systemu w porównaniu z bazami danych ogólnego przeznaczenia. Na przykład, ze względu na jednolitość danych wewnątrz szeregów czasowych, wyspecjalizowane algorytmy kompresji mogą zapewnić lepszą kompresję danych w porównaniu ze zwykłymi algorytmami kompresji zaprojektowanymi do pracy na mniej jednolitych danych. Bazy danych szeregów czasowych można również skonfigurować tak, aby regularnie usuwały (lub zmniejszały) stare dane, w przeciwieństwie do zwykłych baz danych, które są przeznaczone do przechowywania danych przez czas nieokreślony. Specjalne skonstruowane w tym celu indeksy baz danych mogą również zwiększyć wydajność zapytań.
Lista baz danych szeregów czasowych Poniższe systemy zostały wyposażone w funkcjonalność zoptymalizowaną do obsługi szeregów czasowych. + Nazwa Licencja Język implementacji Apache IoTDBApache License 2.0Java Apache Kudu Apache License 2.0 C++ Apache Pinot Apache License 2.0 Java CrateDB Apache License 2.0 Java eXtremeDBCommercialSQL, Python, C / C++, Java, and C# InfluxDB MIT. Chronograf AGPLv3, Clustering Commercial Go (version 2), Rust (version 3) Informix TimeSeries Commercial C / C++ Kx kdb+ Commercial Q MongoDB Server Side Public License C++, JavaScript, Python Prometheus Apache License 2.0 Go RedisTimeSeries RSALv2/SSPLv1 C Riak-TS Apache License 2.0 Erlang RRDtool GPLv2 C TimescaleDB Apache License 2.0 C Whisper (Graphite) Apache License 2.0 Python
Przypisy
Bibliografia
Kategoria:Analiza szeregów czasowych