InfluxDB

InfluxDB is an open-source time series database (TSDB) developed by the company InfluxData. It is used for storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. It also has support for processing data from Graphite.

It is written in the Rust programming language.

History
Y Combinator-backed company Errplane began developing InfluxDB as an open-source project in late 2013 for performance monitoring and alerting. Errplane raised an $8.1M Series A financing led by Mayfield Fund and Trinity Ventures in November 2014. In late 2015, Errplane officially changed its name to InfluxData Inc. InfluxData raised Series B round of funding of $16 million in September 2016. In February 2018, InfluxData closed a $35 million Series C round of funding led by Sapphire Ventures. Another round of $60 million was disclosed in 2019.

Technical overview
InfluxDB provides an SQL-like language with built-in time-centric functions for querying a data structure composed of measurements, series, and points. Each point consists of several key-value pairs called the fieldset and a timestamp. When grouped together by a set of key-value pairs called the tagset, these define a series. Finally, series are grouped together by a string identifier to form a measurement.

Values can be 64-bit integers, 64-bit floating points, strings, and booleans. Points are indexed by their time and tagset. Retention policies are defined on a measurement and control how data is downsampled and deleted. Continuous Queries run periodically, storing results in a target measurement.

InfluxDB has no external dependencies.

Events
InfluxData regularly hosts events related to InfluxDB called InfluxDays. The InfluxDays are technical conventions focused on the evolution of InfluxDB on technical and business points of view. Those events take place once a year in three locations: New-York, San Francisco or London. The InfluxDays cover a wide variety of different subjects: software engineering and coding talks as well as business-focused and practical workshops. Companies can showcase how they use InfluxDB.

Line protocol
InfluxDB accepts data via HTTP, TCP, and UDP. It defines a line protocol backwards compatible with Graphite and takes the form:

Licensing
Contributors to InfluxDB need to give InfluxData Inc. the right to license the contributions and the rest of the software in any way, including under a closed-source license. The Contributor License Agreement claims not to be a copyright transfer agreement.

Closed source clustering components
In May 2016, InfluxData announced that the computer cluster component of InfluxDB would be sold as closed-source software in order to create a sustainable source of funding for the project's development. Community reaction was mixed, with some feeling the move was a "bait and switch".