August 25th, 2024

BuffDB is a Rust library to simplify multi-plexing on edge devices

BuffDB is a lightweight, high-performance persistence layer for gRPC, developed in Rust. It supports SQLite, DuckDB, and RocksDB, and is ideal for offline data access applications.

Read original articleLink Icon
BuffDB is a Rust library to simplify multi-plexing on edge devices

BuffDB is an experimental software project designed as a lightweight, high-performance persistence layer for gRPC, developed in Rust. It is particularly useful in environments with limited bandwidth and critical performance needs, utilizing Protobuf as its messaging format. BuffDB supports multiple backends, including SQLite, DuckDB, and RocksDB, with the SQLite backend offering full support and the others providing partial support. The binary size is under 2 MiB when using SQLite with dynamic linking. BuffDB allows interaction through auto-generated TypeScript code from the protobuf definition, facilitating multi-language support. To integrate BuffDB into a Rust project, users can execute `cargo add buffdb`. The server can be started after cloning the repository with the command `cargo run --all-features -- run`, which will launch it on `[::1]:50051`. BuffDB also features a command line interface for managing key-value pairs and blob data, with commands for retrieving and setting values, as well as storing files. It is particularly suited for applications requiring offline data access, such as note-taking apps, games, and IoT device management.

- BuffDB is a lightweight persistence layer for gRPC, written in Rust.

- It supports multiple backends, including SQLite, DuckDB, and RocksDB.

- The binary size is under 2 MiB with SQLite backend.

- It offers a command line interface for managing data.

- Suitable for applications needing offline data access.

Link Icon 5 comments
By @jakjak123 - 8 months
What does "Simplify multiplexing on edge devices" even mean?
By @jakjak123 - 8 months
Is it a protobuf based database store, or is it a database that uses grpc as its connection communication? Could be a bit clearer from the frontpage
By @sgt - 8 months
Another local first library. The movement is taking off.
By @ilayn - 8 months
Yet another title to drive embedded device designers and control engineers up the wall.

Why don't you make up your own bullshit words instead of randomly picking stuff from other places? That's not even multiplexing.