Skip to main content

How to Keep a History of MQTT Data With Python

· 7 min read
Alexey Timin
Software Engineer - Database, Rust, C++

MQTT+ReductStore in Python

The MQTT protocol is an easy way to connect disparate data sources to applications, making it very popular for IoT (Internet of Things) applications. Some MQTT brokers can store messages for a while, even when the MQTT client is offline. However, sometimes you need to keep this data for a longer period of time. In these cases it's a good idea to use a time series database.

There are many databases available for storing MQTT data, but if you need to store a history of images, sensor data or protobuf messages, you might want to use ReductStore. This database is designed to store a lot of blob data and works well with IoT and edge computing.

ReductStore has client SDKs (software development kits) for many programming languages. This means you can easily use it in your existing system. For this example, we'll use the Python SDK from ReductStore.

Let's create a simple MQTT application to see how it all works.

Computer Vision Made Simple with ReductStore and Roboflow

· 16 min read
Anthony Cavin
Data Scientist - ML/AI, Python, TypeScript

Roboflow and ReductStore

Roboflow and ReductStore. Airplane image by Vivek Doshi on Unsplash and annotated using Roboflow Inference.

Computer vision is transforming industries by automating decision making based on visual data. From facial recognition to autonomous driving, the need for efficient computer vision solutions is growing rapidly. This article explores how Roboflow combined with ReductStore, a time-series object store optimized for managing continuous data streams, can improve computer vision applications. ReductStore is designed to efficiently handle high-frequency time-series data, such as video streams, making it a perfect fit for storing and retrieving large datasets generated by computer vision tasks.

3 Ways to Store Computer Vision Data

· 7 min read
Alexey Timin
Software Engineer - Database, Rust, C++

When it comes to computer vision, data storage is a critical component. You need to be able to store images for model training, as well as the results of the processing for model validation. There are a few ways to go about this, each with its own advantages and disadvantages. In this post, we’ll take a look at three different ways to store data in computer vision applications: a file system, an S3-like object storage and ReductStore. We’ll also discuss some of the pros and cons of each option.

A Simple Computer Vision Application

For demonstration purposes, we’ll use a simple computer vision application which is connected to a CV camera and runs on an edge device:

Computer Vision Application

The camera driver captures images from the CV camera every second and forwards them to the model, which then detects objects and displays the results in the user interface.

Your images and results need to be stored for training and validation purposes. The customer may also wish to view images featuring anomalous objects. These requirements present the challenge of maintaining a history of blob or unstructured data.