In the context of processing IoT data, time series play a central role as most of the data is time-related, time-ordered or has a temporal component. Here are a few time series databases (in alphabetical order) along with some comments concerning usage and background:
- Geras: Supports some IoT formats/protocols such as MQTT out-of-the-box. The (free) on-line version can be used without limitations, however comes without any SLAs. An on-premise version is available, contact the vendor for details.
InfluxDB: Written in Go this
open-source distributed time series database has no external dependencies. Has a powerful
SQL-like query language, leveraging regexp and allowing continuos queries, and supporting fan-out
as well as a number of aggregate functions such as
PERCENTILE. It comes with an (experimental) Raft-based cluster mode.
- KairosDB: A distributed scalable time series database written on top of Cassandra.
- kdb+: Comes with own query language offering temporal primitives and execution control and R integration.
- OpenTSDB: A mature and established player implemented on top of Apache HBase. Scales to billions of data points and ingest rates up to the 100,000 million data points per second.
- Prometheus: An open-source service monitoring system and time series database by the Soundcloud folks. Prometheus works well for recording any purely numeric time series. It fits both machine-centric monitoring as well as monitoring of highly dynamic service-oriented architectures. In a world of microservices, its support for multi-dimensional data collection and querying is a particular strength.
- TempoIQ: Previously known as TempoDB, the company started out with capturing time series data for sensors and the like and has refocused its business around providing a collection of analytics capabilities for sensor environments.