Call Us: US - +1 845 478 5244 | UK - +44 20 7193 7850 | AUS - +61 2 8005 4826

Data Abstraction and Data Independence

Already Grafana users have been installing Flux. In a follow-up interview, Lisi noted that a large percentage of Grafana users are also deploying InfluxDB, though most still use that database system’s original query language. In fact, InfluxDB originally gained popularity in part because of its SQL-like querying, which as easy for database admins and programmers to quickly learn. Flux has more of a learning curve, Lisi admitted, but it offers far more in return.

InfluxDB created Flux as a way to decouple the database querying process with the backend storage holding the data, InfluxData cofounder Paul Dix explained last year. In this way, developers don’t have to write the same query repeatedly for different data sources. It is actually a fully-formed Turing Completefunctional programming language, one that more resembles a scripting language than a set of query commands.

“Flux is a very powerful and expressive language,” Lisi agreed, in a follow-up interview. Flux goes beyond normal querying, offering the ability to do data transformations, for instance, or to join multiple data sets. Functions can be chained together. All these things “are not easily done in SQL,” Lisi said.

In upcoming releases, Grafana will move to make Flux the default language for InfluxDB, though it will also support the InfluxDB’s original language for backward compatibility.

Version 6.0 of Grafana was released last month, during the open source project’s annual user conference, GrafanaCon 2019. With this release, the project is moving from simple metrics into building a “complete observability stack,” Grafana creator Torkel Odegaard explained in a keynote talk. The project has moved to a new, more responsive panel architecture and a new edit interface (thanks to a move from Angular.js to React.js for the front-end design).