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.[03]
- Website
- https://influxdb.com/[01]
- Source Code
- https://github.com/influxdata/influxdb[02]
- Developer
- Country of Origin
- US
- Start Year
- 2013
- Project Types
- Commercial, Open Source
- Written in
- Go
- Supported Languages
- Elixir, Erlang, Go, Haskell, Java, JavaScript, Lisp, Matlab, Perl, PHP, Python, R, Ruby, Rust, Scala
- License
- MIT License
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.[03]
History[05]
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.
Compression[06][07]
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.
Data Model[08]
Each measurement has a timestamp along with an associated set of tags (tagset) and set of fields (fieldset). Tagset values are represented as strings and are indexed, while fieldset values can be floats, ints, strings, and booleans and cannot be not indexed.
Indexes[07][09]
InfluxDB utilizes TSI (Time Series Index), which is a log-structured merge tree-based database.
Query Interface[10][11]
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.
Views[13]
InfluxDB supports continuous queries, which are conceptually similar to materialized views in that expensive query results are precomputed and stored.
Citations
13 sources- InfluxData influxdb.com
- GitHub - influxdata/influxdb: Scalable datastore for metrics, events, and real-time analytics · GitHub github.com
- InfluxDB OSS v1 Documentation influxdata.com
- InfluxDB - Wikipedia wikipedia.org
- Errplane Snags $8.1M To Continue Building Open Source InfluxDB Time Series Database | TechCrunch techcrunch.com
- https://docs.influxdata.com/influxdb/v1.7/concepts/storage_engine/ influxdata.com
- Inside the InfluxDB storage engine | PDF slideshare.net
- InfluxDB schema design and data layout | InfluxDB OSS v1 Documentation influxdata.com
- Time Series Index (TSI) details | InfluxDB OSS v1 Documentation influxdata.com
- Why We're Building Flux, a New Data Scripting and Query Language | InfluxData influxdata.com
- InfluxDB Internals 101 - Part Two | InfluxData influxdata.com
- https://www.influxdata.com/blog/influxdb-internals-101-part-one/ influxdata.com
- https://www.influxdata.com/blog/continuous-queries-in-influxdb-part-i/ influxdata.com