EDMA: Embedded Database Management for All is an open source project made to manage embedded key-value storages. EDMA is a TUI (Terminal User Interface) that is easy to install and configure. It allows engineer to traverse the embedded database and deserialize byte data with provided byte layout. This enhances the experience of working with low level database system like RocksDB or Redb.
Features
Multi embedded database supported: RocksDB, Redb
Cross-platform supported: Windows, Linux and MacOS
Custom byte layout deserialization
Execute database command directly in terminal
Interactive terminal interface with keyboard only control
Iterate key-value pairs from column family and table
Installation
cargo install --version 0.1.0-beta.3 edma
Tribute
Thanks to gobang, spotify-ui and tui-rs for helpful source code and resources
Support sled database (request in this PR: Sled support · Issue #8 · nomadiz/edma · GitHub).sled database is one of the most popular databases in Rust ecosystem. sled is a high-performance embedded database with an API that is similar to a BTreeMap<[u8], [u8]>, but with several additional capabilities for assisting creators of stateful systems.
It is fully thread-safe, and all operations are atomic. Multiple Trees with isolated keyspaces are supported with the Db::open_tree method.
This integration allows developer to view data stored globally or in isolated keyspaces (tree) in sled using EDMA.
How to use sled with EDMA?
With a simple additional line in your current JSON configuration file. sled is fully embedded.