whatisgithub

What is flowdb?

restsend/flowdb — explained in plain English

Analysis updated 2026-05-18

29RustAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A Rust storage engine built specifically for time-series data like sensor readings and metrics, benchmarked as faster than RocksDB for writes and lookups.

Mindmap

mindmap
  root((FlowDB))
    What It Does
      Store time series data
      Fast writes and reads
      Range queries
      Auto expiry
    Tech Stack
      Rust
      LSM tree
      HTTP and UDP
      Prometheus
    Use Cases
      Sensor data storage
      Application metrics
      Event logging
    Audience
      Developers
      Backend engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Store high-volume sensor, metrics, or event log data with fast writes and lookups.

USE CASE 2

Embed FlowDB directly inside a Rust program as a library, or run it as a standalone server.

USE CASE 3

Query data by key prefix, key range, time range, or a combination of these.

USE CASE 4

Set automatic expiry on records and run periodic garbage collection to reclaim disk space.

What is it built with?

RustHTTPUDPPrometheus

How does it compare?

restsend/flowdbmatthart1983/diskwatchmic92/hestia
Stars292929
LanguageRustRustRust
Setup difficultymoderateeasyeasy
Complexity3/52/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Early stage project (version 0.1) with no license stated in the README.

So what is it?

FlowDB is a storage engine designed specifically for time-series data, meaning data that is recorded with timestamps, such as sensor readings, application metrics, or event logs. It is written in Rust and built for high write and read throughput. The author benchmarked it against RocksDB, a widely used storage library from Meta, and reports that FlowDB is about twice as fast at writing and more than twelve times faster at looking up individual records in their test conditions. The way FlowDB stores data is based on a design pattern called an LSM-tree, which is common in databases that need to handle many writes quickly. Incoming data is first written to a log on disk (so it is not lost if the program crashes), then held in memory, and eventually sorted and written to larger files on disk. FlowDB also uses bloom filters, which are a way of quickly ruling out a lookup without reading the whole file, and two compression methods: a fast one when data is first written and a more space-efficient one during background consolidation. FlowDB can be used in two ways. The first is as an embedded library inside a Rust program, where the developer calls it directly in code. The second is as a standalone server that accepts data over HTTP or UDP and responds to queries over HTTP. The server mode includes an admin dashboard, Prometheus-compatible metrics, and API key authentication. Queries support filtering by a key prefix, a key range, a time range, or a combination of these. Common operations like deleting a range of keys at once, setting automatic expiry times for records, and running periodic garbage collection to reclaim space are all supported. Configuration is handled through a TOML file or command-line flags, and all the key settings such as cache size, compaction behavior, and flush frequency are adjustable. The project is early stage (version 0.1) and the license is not stated in the README. The source code is written in Rust.

Copy-paste prompts

Prompt 1
Show me how to embed FlowDB as a library in a Rust project and write my first record.
Prompt 2
Set up FlowDB in server mode with the admin dashboard and Prometheus metrics enabled.
Prompt 3
Write a query against FlowDB that filters by a time range and a key prefix.
Prompt 4
Configure automatic expiry for records older than [time period] in FlowDB.

Frequently asked questions

What is flowdb?

A Rust storage engine built specifically for time-series data like sensor readings and metrics, benchmarked as faster than RocksDB for writes and lookups.

What language is flowdb written in?

Mainly Rust. The stack also includes Rust, HTTP, UDP.

How hard is flowdb to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is flowdb for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.