InfluxDB

InfluxDB is an open source time series database built by InfluxData. Optimized for the storage and retrieval of time series data, it is used for monitoring and recording performance metrics and analytics. InfluxDB is written Go and has no external dependencies.

History

InfluxDB was created by Errplane in late 2013. Backed by Y Combinator, Errplane was initially a SaaS company centered on anomaly detection in data. After discovering a huge gap in the market, the company pivoted to focusing on their open source time series database–this eventually became InfluxDB, and Errplane rebranded to become InfluxData Inc.

Storage Architecture

Disk-oriented

The Time Series Index stores index on data on disk.

Query Compilation

Not Supported

Stored Procedures

Not Supported

Storage Organization

Log-structured

InfluxDB uses the Time-Structured Merge Tree (TSM) organizational structure; each TSM file contains compressed and sorted series data.

Compression

Dictionary Encoding Run-Length Encoding Bit Packing / Mostly Encoding

Compression strategy varies based on the shape of the data–for instance, with timestamps, run length encoding is used in the best case, Simple8B used in a good case, and raw value encoding is used for the worst case. Snappy, a dictionary compression scheme, is used for strings.

Views

Materialized Views

InfluxDB supports continuous queries, which are conceptually similar to materialized views in that expensive query results are precomputed and stored.

Query Interface

SQL HTTP / REST

The HTTP API is the primary way to query data; a variation of SQL called influxql can be used to query as well. A new custom query language called Flux is currently being developed.

InfluxDB Logo
Website

http://influxdb.org/

Source Code

https://github.com/influxdata/influxdb

Tech Docs

https://docs.influxdata.com/influxdb/v1.7/

Developer

InfluxData

Country of Origin

US

Start Year

2013

Project Type

Commercial, Open Source

Written in

Go

Supported languages

Elixir, Erlang, Go, Haskell, Java, JavaScript, Lisp, Matlab, Perl, PHP, Python, R, Ruby, Rust, Scala

Licenses

MIT

Wikipedia

https://en.wikipedia.org/wiki/InfluxDB