- SurrealDB
- kv-rocksdb
- RocksDB
SurrealDB with RocksDB backend in Rust embedded client with local database storage
This version does not need an external database server either. The compilation time is longer as we also compile the database backend, but this can be used as an embedded, but already persistan database.
examples/surrealdb/embedded-rocksdb/Cargo.toml
[package] name = "embedded-rocksdb" version = "0.1.0" edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] serde = { version = "1.0", features = ["derive"] } surrealdb = { version = "2.0", features = ["kv-rocksdb"] } tokio = { version = "1.35", features = ["macros", "rt-multi-thread"] }
- This will create a folder called tempdb in the root of the crate. You could also give a path there to some other folder.
examples/surrealdb/embedded-rocksdb/src/main.rs
use surrealdb::engine::local::RocksDb; use surrealdb::Surreal; #[tokio::main] async fn main() -> surrealdb::Result<()> { let db = Surreal::new::<RocksDb>("tempdb").await?; db.use_ns("namespace").use_db("database").await?; Ok(()) }