32 releases

0.1.32 Oct 17, 2024
0.1.31 May 26, 2024
0.1.29 Mar 5, 2024
0.1.22 Nov 26, 2023
0.1.6 Jul 2, 2022

#1162 in Database interfaces


Used in rapiddb-web

AGPL-3.0

59KB
983 lines



RapidDB

A reasonably fast configurable embedded key-value sensor database

Features

  • Lightweight embedded database
  • Simple key-value database interface
  • Simple and flexible optional embedded REST API
  • Memory first with on-disk persistence
  • Memory Mapped Append-only Vector backing storage
  • Bring your own database or API implementation
  • Store sensor data inside a sensor database

Getting started

Cargo.toml

[dependencies]
rapiddb = "0.1"

src/main.rs

use rapiddb::traits::IDatabase;

pub fn main() {
  let mut db = rapiddb::db::MMAVDatabase::new();

  let value = b"{\"key\": \"value\"}";
  db.post("test-0", value);
  assert_eq!(db.get_latest("test-0"), value);
}

Run the database with cargo

cargo run --release

Optional REST API

Visit further install options.

Documentation

Visit the Documentation.

Examples

Visit the Examples.

Dependencies

~2.8–9MB
~83K SLoC