You must be aware of different types of databases. Here, let’s discuss about time-series database. This software is used for handling time series data. It can be used to store log and sensor data indexed over time. With the arrival of internet of things, logging of events is required across multiple applications. A number of time-series databases are now available at present. Some of them being OpenTSDB, KairosDB, TempoIQ, Graphite and Druid. In this section we will have a short discussion on InfluxDB.
Influxdb is an open-source time series database / project, developed by Influxdata. The Company provides commercial versions of the product, which comes with full support. Written in Go programing language, Influxdb is available on all platforms including Windows. The best part of Influxdb is that it comes up with built-in dependencies of binaries required. Hence no other dependencies need to be installed on Windows to run the Influxdb software.
Some of the key features of Influxdb are discussed below:
- Simple, high performance, write and query HTTP or HTPS API.
- A built-in web admin interface.
- Compiles to a single binary without the need of any additional dependencies.
- Can be used as a backing store for large amounts of time stamped data.
Requirements to install Influxdb:
- Root or the administrator privilege
- TCP Port 8083 is used for the admin panel of Influxdb.
- TCP port 8086 is used for the client-server communication
- May need multiple plugins for custom ports. The port mapping can be modified over the configuration file /etc/influxdb/influxdb.conf.
In RedHat and CentOS, the latest stable version of Influxdb can be installed using the apt-get package manager.
Once Influxdb is installed, you can access Influx over an interactive Command Line Interface (CLI). It is light-weight and is included in all Influx packages. The command line interface provides the easiest way to interact with the database. But make sure that the versions of CLI and Influx are identical or else it may lead to parsing issues with queries. The communication between CLI and influx takes place over port 8086 by making requests to InfluxDB HTTP API. Executing the command ‘influx’ will automatically connect to the local Influx instance, if you have installed Influx locally.
The output should look like this:
$ influx
Connected to http://localhost:8086 version 1.0.x
InfluxDB shell 1.0.x
A fresh installation of Influx will have absolutely no database. Creating a database in Influxdb is simple as in MySQL. It just needs the format:
CREATE DATABASE <db-name>
HTTP API is the primary means for querying data in Influxdb.
Time series databases have gained prominence in the present world due to the popularity of sensor based applications, which helps in meeting a multitude of requirements including monitoring applications. Influxdb, the leading software, has undergone significant development and is better known for its simplicity and ease of use. If you are aiming at a time-series database, give Influxdb a try!