Skip to content

rtadepalli/reduct-storage

 
 

Repository files navigation

ReductStore

GitHub release (latest SemVer) GitHub Workflow Status Docker Pulls GitHub all releases

ReductStore is a time series database designed specifically for storing and managing large amounts of blob data. It has high performance for writing and real-time querying, making it suitable for edge computing, computer vision, and IoT applications. ReductStore is 100% open source under Mozilla Public License v2.0. It has a simple HTTP API and provides random access to data via a timestamp or time interval. Read more here.

Features:

  • HTTP(S) API
  • Storing and accessing blobs as time series
  • Optimized for small files
  • Real-time FIFO quota for buckets
  • Token authorization
  • Embedded Web Console
  • Support Linux, MacOS and Windows on AMD64

Get started

The easiest way to start is to use Docker image:

docker run -p 8383:8383 -v ${PWD}/data:/data reductstore/reductstore:latest

or you can use the demo storage: https://play.reduct.store/

Usage Example

ReductStore provides a simple HTTP API, so you could use it with curl:

export API_TOKEN=reduct

# Create a bucket
curl -d "{\"quota_type\":\"FIFO\", \"quota_size\":10000}" \
  -X POST \
  --header "Authorization: Bearer ${API_TOKEN}"   \
  -a https://play.reduct.store/api/v1/b/my_data

# Write some data
curl -d "some_data" \
  -X POST \
  --header "Authorization: Bearer ${API_TOKEN}"   \
  -a https://play.reduct.store/api/v1/b/my_data/entry_1?ts=10000

# Read the data by using its timestamp
curl --header "Authorization: Bearer ${API_TOKEN}"   \
    https://play.reduct.store/api/v1/b/my_data/entry_1?ts=10000

Client SDKs

Tools

About

A time series database for any data

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 85.4%
  • Python 11.9%
  • CMake 2.2%
  • Dockerfile 0.5%