InfluxDB

InfluxDB is an open source time series database developed by InfluxData. InfluxDB is similar to a SQL database, but different in many ways. InfluxDB is purpose-built for time series data. While relational databases can handle time series data, they are not optimized for common time series workloads. InfluxDB is designed to store large volumes of time series data and quickly run real-time analysis on that data. Optimizing for this use case entails some trade-offs, primarily to increase performance at the cost of functionality, and these include:

  • Simplified conflict resolution increases write performance

  • Restricting access to deletes and updates allows for increased query and write performance

  • Adding data in time ascending order is significantly more performant

  • Writing and querying the database can be done by multiple clients and at high loads at the cost of having a strongly consistent view

  • InfluxDB is good at managing discontinuous data

  • InfluxDB has very powerful tools to deal with aggregate data and large data sets

If you are interested in a direct Decodable Connector for InfluxDB, contact support@decodable.co or join our Slack community and let us know!

Overview

Connector name

influxdb

Type

sink

Getting started

Sending a Decodable data stream to InfluxDB is accomplished in two stages, first by creating a sink connector to Amazon Kinesis, and then by using an AWS Lambda function to send the data stream to InfluxDB.

Configure as a sink

This example demonstrates using Kinesis as the sink from Decodable and the source for InfluxDB. Sign in to Decodable Web and follow the configuration steps provided in the Amazon Kinesis topic to create a sink connector. For examples of using the command line tools or scripting, see the How To guides.

Create an AWS Lambda function

An AWS Lambda function can be used to write data from Kinesis to an InfluxDB host.

  1. Set up a Python environment

  2. Configure AWS deployment and environment variables

  3. Configure permissions

  4. Define a trigger

  5. Setup a Kinesis sink in Decodable

  6. Verify the connection using the InfluxDB Data Explorer.

For more information, see the InfluxDB example in the Decodable GitHub repository.