Time series database
Unordered set of n-time-series possibly of different lengths From Wikipedia, the free encyclopedia
A time series database is a software system that is optimized for storing and serving time series through associated pairs of time(s) and value(s).[1] In some fields, time series may be called profiles, curves, traces or trends.[2] Several early time series databases are associated with industrial applications which could efficiently store measured values from sensory equipment (also referred to as data historians), but now are used in support of a much wider range of applications. In many cases, the repositories of time-series data will utilize compression algorithms to manage the data efficiently.[3][4] Although it is possible to store time-series data in many different database types, the design of these systems with time as a key index is distinctly different from relational databases which reduce discrete relationships through referential models.[5]
This article needs additional citations for verification. (December 2018) |
Overview
Time series datasets are relatively large and uniform compared to other datasets―usually being composed of a timestamp and associated data.[6] Time series datasets can also have fewer relationships between data entries in different tables and don't require indefinite storage of entries.[6] The unique properties of time series datasets mean that time series databases can provide significant improvements in storage space and performance over general purpose databases.[6] For instance, due to the uniformity of time series data, specialized compression algorithms can provide improvements over regular compression algorithms designed to work on less uniform data.[6] Time series databases can also be configured to regularly delete (or downsample) old data, unlike regular databases which are designed to store data indefinitely.[6] Special database indices can also provide boosts in query performance.[6]
List of time series databases
The following database systems have functionality optimized for handling time series data.
Name | License | Language | References |
---|---|---|---|
Apache IoTDB | Apache License 2.0 | Java | [7] |
Apache Kudu | Apache License 2.0 | C++ | [8] |
Apache Pinot | Apache License 2.0 | Java | [9] |
ClickHouse | Apache License 2.0 | C++ | [10] |
CrateDB | Apache License 2.0 | Java | [11][12] |
eXtremeDB | Commercial | SQL, Python, C / C++, Java, and C# | [13] |
InfluxDB | MIT.[14] Chronograf AGPLv3, Clustering Commercial[15] | Go (version 2), Rust (version 3)[16] | [13][17] |
Informix TimeSeries | Commercial | C / C++ | [13][18] |
Kx kdb+ | Commercial | Q | [13] |
Prometheus | Apache License 2.0 | Go | [13] |
Riak-TS | Apache License 2.0 | Erlang | [13] |
RRDtool | GPLv2 | C | [13] |
TimescaleDB | Apache License 2.0 | C | [19] |
Whisper (Graphite) | Apache License 2.0 | Python | [20] |
See also
References
Wikiwand - on
Seamless Wikipedia browsing. On steroids.