Skip to main content
Share

How to Choose the Right MQTT Database

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

Photo by Jan Antonin Kolar

Photo by Jan Antonin Kolar on Unsplash.

Since joining ReductStore's project, I've been exploring alternative solutions to get a better understanding about how the project fits into current echosystem.

To give you some context, we will look at solutions to store data from IoT devices (e.g. sensors, cameras, etc.) that commonly use MQTT to communicate with each other.

MQTT stands for Message Queuing Telemetry Transport and is a lightweight messaging protocol designed to be efficient, reliable, and scalable, making it ideal for collecting and transmitting data from sensors in real time.

Why is this important when choosing a database?

Well, MQTT is format-agnostic, but it works in a specific way. We should therefore be aware of its architecture, how it works, and its limitations to make the right choice. This is what this article is about, we will try to cut through the fog and explore some key factors to consider when selecting the right option.

Let's get started!

Share

ReductStore CLI Client now in Rust

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

ReductStore CLI Client

A year ago, we migrated ReductStore, time series database for unstructured data, from C++ to Rust. Now, reflecting on that decision after a year, it's clear that it was the right move, yielding the following benefits:

  • Fewer bugs related to memory management, move semantics, and threading
  • Easier codebase porting to MacOS and Windows
  • Better dependency management with Cargo compared to what we had with C++

Today, I'm pleased to announce that we've rewritten the CLI client from Python to Rust. Our primary motivation was distribution. Although Python is one of the most widely used programming languages, we don't want to require users to install an interpreter to use our tools, and standalone installers are too bulky for us. With Rust, we can build compact and blazingly fast executable binaries for most popular platforms.

wget https://github.com/reductstore/reduct-cli/releases/latest/download/reduct-cli.linux-amd64.tar.gz
tar -xvf reduct-cli.linux-amd64.tar.gz
chmod +x reduct-cli
sudo mv reduct-cli /usr/local/bin
Share

Alternative to MongoDB for Blob Data

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

ReductStore vs MongoDB

In edge computing, managing time series blob data efficiently is critical for performance-sensitive applications. This blog post will compare ReductStore, a specialized time series database for unstructured data, and MongoDB, a widely-used NoSQL database.

Using Docker containers for straightforward setup, we'll examine the speed of each system. We'll go through setting up ReductStore buckets and preparing MongoDB collections, focusing on how to effectively store and access blob data for time series scenarios.

By conducting performance tests on binary data insertion and retrieval, we aim to provide insights into which system might best serve your application's needs.

For those interested in replicating our benchmarks or conducting their own evaluations, we've made our methods easily accessible through this repository.