Trisha Shetty (Editor)

InfluxDB

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
Developer(s)
  
InfluxData

Written in
  
Go

Development status
  
Active

Operating system
  
Cross-platform

Initial release
  
September 24, 2013; 3 years ago (2013-09-24)

Stable release
  
v1.1.1 / December 6, 2016; 3 months ago (2016-12-06)

InfluxDB is an open-source time series database 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.

Contents

History

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 US$16,000,000 in September 2016.

Technical Overview

InfluxDB has no external dependencies and provides an SQL-like language with builtin 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.

Line Protocol

InfluxDB accepts data via HTTP, TCP, and UDP.

It defines a line protocol which is backwards compatible with graphite's 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"

References

InfluxDB Wikipedia