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 perform 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
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.
This example demonstrates using Kinesis as the sink from Decodable and the source for InfluxDB. Sign in to the Decodable Web Console and follow the configuration steps provided for the Kinesis Connector to create a
sink connector. For examples of using the command line tools or scripting, see the How To guides.
An AWS Lambda function can be used to write data from Kinesis to an InfluxDB host.
- Set up a Python environment
- Configure AWS deployment and environment variables
- Configure permissions
- Define a trigger
- Setup a Kinesis sink in Decodable
- Verify the connection using the InfluxDB Data Explorer.
For more information, please refer to the InfluxDB example in the Decodable GitHub repository.
Updated 11 months ago