#embedded-database #db #persistence #key-value

rapiddb

A reasonably fast configurable embedded key-value sensor database

24 releases

0.1.23 Jan 23, 2024
0.1.22 Nov 26, 2023
0.1.17 Jun 20, 2023
0.1.16 Dec 14, 2022
0.1.5 Jun 30, 2022

#403 in Database interfaces

Download history 19/week @ 2023-10-29 1/week @ 2023-11-05 2/week @ 2023-11-12 85/week @ 2023-11-19 156/week @ 2023-11-26 52/week @ 2023-12-03 30/week @ 2023-12-10 4/week @ 2023-12-17 49/week @ 2023-12-24 27/week @ 2023-12-31 10/week @ 2024-01-07 11/week @ 2024-01-14 48/week @ 2024-01-21 51/week @ 2024-01-28 6/week @ 2024-02-04 112/week @ 2024-02-11

218 downloads per month
Used in rapiddb-web

AGPL-3.0

59KB
944 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–4.5MB
~82K SLoC