We are happy to announce the release of version 1.3.0 of the ReductStore SDK for Python! This release introduces several new features to help users better organize and filter their data.
One of the most notable new features is the ability to attach labels to data when writing and querying. Labels are key-value pairs that can be used to classify and categorize data. For example, you might use labels to store metadata about a record, such as its md5 sum or class. To start using labels, you need the version of the ReductStore database higher than 1.3.0.
We are excited to announce the release of version 1.3.0 of the ReductStore database! This update brings a number of new features and improvements that we believe will enhance your experience with the database.
First and foremost, we’ve changed the project license, switching from AGPLv3 to MPL-2.0 which allows usage of the program as a service over the network in proprietary software. This change is made to avoid any misunderstanding in the future, and to align with our goal of encouraging contributions back to the project while allowing everyone to use it for free.
We’re excited to announce the release of version 0.5.0 of the Reduct CLI! This release brings a number of new features to improve data export and mirroring. Here are the highlights:
We added a global option
--parallel to limit the number of entries to be exported or mirrored in parallel. This can be
useful when a bucket has a large number of entries and the network connection is slow. Usage example:
rcli export --parallel 5 folder server_1/bucket_1 .
To install the ReductStore SDK, you will need to have Node.js 16 or higher installed on your machine. Once Node.js is
installed, you can use the
npm package manager to install the
npm install reduct-js
To install the ReductStore SDK, you will need to have Python 3.7 or higher installed on your machine. Once Python is
installed, you can use the
pip package manager to install the
pip install reduct-py
We often use blob storage like S3, if we need to store data of different formats and sizes somewhere in the cloud or in our internal storage. Minio is an S3 compatible storage which you can run on your private cloud, bare-metal server or even on an edge device. You can also adapt it to keep historical data as a time series of blobs. The most straightforward solution would be to create a folder for each data source and save objects with timestamps in their names:
bucket | |---cv_camera |---1666225094312397.bin |---1666225094412397.bin |---1666225094512397.bin
I think, NGINX doesn’t need any introductions. It is one of the most widely used HTTP servers and reverse proxies. You can route your microservices or monolith application through it and make it responsible for:
The MQTT protocol is very popular in IoT applications. It is a simple way to connect different data sources with your application by using a publish/subscribe model. Sometimes you may want to keep a history of your MQTT data to use it for model training, diagnostics or metrics. If your data sources provide different formats of data that can not be interpreted as time series of floats, ReductStore is what you need.
Let’s make a simple MQTT application to see how it works.
We’re excited to announce the release
of version 0.4.0 of the Reduct CLI!
This release includes a new
rcli export folder command that allows you to export data from a bucket in your storage
engine to a local folder on your computer.
This can be useful if you want to make a copy of your data for backup or offline access. For more information,
see the documentation.
ReductStore has released v1.2.0 of its
for ReductStore API version 1.2 with the
Client.me method, which allows you to retrieve information about your current API token and its permissions.
We are excited to announce the release
of ReductStore Client SDK for C++ v1.2.0! This release
documentation after we renamed the project from “Reduct Storage” to “ReductStore”, and supports ReductStore HTTP API
1.2.0 with the endpoint
We’re excited to announce the release of ReductStore v1.2.0. In this update, we’ve made some important changes to improve the way tokens and buckets are managed. Specifically, when you create a new token, the database will now check to ensure that the buckets specified in the token’s permissions actually exist. This will help prevent errors and ensure that users have the proper access to the appropriate buckets.
This guide will help you get started with the ReductStore C++ SDK.
The ReductStore C++ SDK is written in C++20 and uses CMake as a build system. To install it, you will need:
Currently, we have only tested the SDK on Linux AMD64, but if you need to port it to another operating system or platform, you can create an issue for assistance.
To install the ReductStore C++ SDK, follow these steps:
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.
For demonstration purposes, we’ll use a simple computer vision application which is connected to a CV camera and runs on an edge device:
The camera driver captures images from the CV camera every second and sends them to the model. The model detects something and shows the results in the user interface.
So far it isn’t too complicated, let’s see how we can deal with the data here.