A time series database (TSDB) is a database optimized for processing time series data.
You should tag your question with time-series-database if you are asking a question related to this special form of database system.
A time series database (TSDB) is a database optimized for processing time series data. The main properties of time series data:
- A time series has a name plus an optional set of (key=value) labels. The name together with labels uniquely identify a time series.
- A time series contains (timestamp, value) pairs ordered by timestamp. Such pairs are usually named samples.
- Time series values usually contain numbers, but in general case can contain arbitrary data structures.
Time series databases are usually optimized for the following operations:
- Continuous data ingestion at a high rate. For example, to collect temperature from millions of sensors across the globe every 10 seconds.
- OLAP queries over big number of time series and samples on the selected time range. For example, "select the average temperature in USA over the last year grouped by months and cities".
- Efficient compression of the ingested data, so trillions of samples can be stored in the database.
- Efficient data removal outside the configured retention.
List of time series database systems
- Apache Druid
- Apache Pinot
- eXtremDB
- InfluxDB
- Informix TimeSeries
- Kx kdb+
- Kudu
- MongoDB
- Prometheus
- QuestDB
- RavenDB
- Riak-TS
- RRDtool
- TimescaleDB
- Whisper
List of time series database extensions
- timescaledb extension for PostgreSQL
References
- Time Series Database (Wikipedia)