InfluxDB is the Time Series Database in the TICK Stack
InfluxDB is used as a data store for any use case involving large amounts of timestamped data, including DevOps monitoring, application metrics, IoT sensor data, and real-time analytics. Conserve space on your machine by configuring InfluxDB to keep data for a defined length of time, automatically expiring & deleting any unwanted data from the system. InfluxDB also offers a SQL-like query language for interacting with data.
InfluxDB is a custom high-performance data store written specifically for time series data. It allows for high throughput ingest, compression and real-time querying of that same data. InfluxDB is written entirely in Go and it compiles into a single binary with no external dependencies. InfluxDB provides a high performance write and query HTTP/S API and supports plugins for data ingestion protocols like Telegraf, Graphite, collectd, and OpenTSDB. Read more in the documentation.
InfluxDB provides InfluxQL as a SQL-like query language for interacting with your data. It has been lovingly crafted to feel familiar to those coming from other SQL or SQL-like environments while also providing features specific to storing and analyzing time series data. InfluxQL also supports regular expressions, arithmetic expressions, and time series specific functions to speed up data processing. See more details in the documentation.
Downsampling and Data Retention
InfluxDB can handle millions of data points per second. Working with that much data over a long period of time can create storage concerns. A natural solution is to downsample the data; keeping the high precision raw data for only a limited time, and storing the lower precision, summarized data for much longer or forever. InfluxDB offers two features—Continuous Queries (CQ) and Retention Policies (RP)—that help you automate the process of downsampling data and expiring old data.