Differences Between InfluxDB 1.1 and 1.0

Warning! This page documents an old version of InfluxDB, which is no longer actively developed. InfluxDB v1.3 is the most recent stable version of InfluxDB.

This page aims to ease the transition from InfluxDB 1.0 to InfluxDB 1.1. For a comprehensive list of the differences between the versions see InfluxDB’s Changelog.

Performance Improvements

There are many changes throughout the code that reduce memory allocations. Reducing memory allocations alleviates pressure on the the Go garbage collector and improves performance throughout the system. The majority of changes occurred in the write, query and compaction code paths. These changes should help reduce RSS and Heap usage as well as CPU utilization for some users.

Write throughput has increased substantially. Our influx-stress benchmark running on an AWS c4.4xlarge results in approximately 900,000 values per second on average.

Query performance has also improved significantly due to memory allocation removal and optimizations in the query path. first() and last() query performance without a GROUP BY clause has improved 60% on average. Queries across both sparse and dense datasets have also improved.

Query planning where a regular expression is used to match an exact tag value are now re-written to use direct index lookups when possible. These types of queries are frequently generated by Grafana when matching template variables and should be more performant now.

Stability Improvements

One of the more significant changes allows for sparse, high cardinality data sets to be queried without triggering an out of memory condition. Datasets with many ephemeral tag values were frequent causes of queries exhausting all available memory. Queries across these dataset should now complete with much less RAM usage.

High series cardinality is a frequent source of problems for many new users. This release also adds to the configuration file a max-values-per-tag limit with a default of 100,000 to help prevent high cardinality data from being written before it can be fixed. The limit is enabled by default and can be disabled in the config if necessary.

New Query Capabilities

A number of new query capabilities are now available:

  • fill(linear) linearly interpolates missing values in GROUP BY time() queries
  • cumulative_sum() computes a sequence of partial sums
  • sample() generates a random sample of points from the specified data

All SHOW commands support the ON clause in version 1.1. See the Schema Exploration page for the updated syntax. Finally, the SELECT clause now support regular expressions for specifying field keys.

Deprecations

The admin UI (port 8083) is now officially deprecated and disabled in this release. It can be re-enabled in the configuration file, but will be removed in a future release. We recommend using Chrongraf or Grafana as a replacement.

Upgrading

This release should be a drop-in replacement for 1.0 with no data migration required. There are some configuration changes that may need to be updated prior to upgrading to avoid downtime. Be sure to read the CHANGELOG prior to upgrading.