|Initial release||September 24, 2013|
1.7.5 / March 26, 2019
|Type||Time series database|
InfluxDB is an open-source time series database (TSDB) developed by InfluxData. It is written in Go and optimized for fast, high-availability 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.
Y Combinator-backed 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 $16M in September 2016. In Feb. 2018, InfluxData closed a $35 million Series C round of funding led by Sapphire Ventures, which funds category-leading growth technology companies.
InfluxData is a dominant player in this category and is the only stack purpose-built to handle time-series data. As per an independent 3rd party DB-Engines, InfluxDB is the fastest growing time series database and tops its list for time-series DBMS.
InfluxDB has no external dependencies and provides a SQL-like language, listening on port 8086, 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.
In November 2018, InfluxData announced the availability of technical preview of its Flux language. Flux is a functional language for both querying and processing the data. It is a one of a kind language which allows users to contribute to enhance the language.
InfluxDB accepts data via HTTP, TCP, and UDP. It defines a line protocol backwards compatible with Graphite and takes the form:
measurement(,tag_key=tag_val)* field_key=field_val(,field_key_n=field_value_n)* (nanoseconds-timestamp)?
Closed source clustering components
In May 2016, InfluxData announced that the horizontally scalable "clustering" 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".
- "InfluxDB 1.7 release notes". Retrieved 2 April 2019.
- James Turnbull (1 December 2014). The Art of Monitoring. James Turnbull. pp. 206–. ISBN 978-0-9888202-4-1.
- Lardinois, Frederic. "Y Combinator-Backed Errplane Launches Comprehensive Performance Monitoring And Alert Service For Web Apps". TechCrunch. Retrieved 2016-09-07.
- Miller, Ron. "Errplane Snags $8.1M To Continue Building Open Source InfluxDB Time Series Database". TechCrunch. Retrieved 2016-09-07.
- Mannes, John. "InfluxData closes $16 million Series B led by Battery Ventures to organize IOT data". TechCrunch. Retrieved 2016-10-13.
- Michael Duffy (26 November 2015). DevOps Automation Cookbook. Packt Publishing. pp. 176–. ISBN 978-1-78439-839-2.
- "Update on InfluxDB Clustering, High-Availability and Monetization". GitHub. influxdata. 2016-03-10. Retrieved 2016-08-08.
- "I've advocated for and implemented several InfluxDB installations in production ..." Hacker News. 2016-03-11. Retrieved 2016-08-08.