14 releases (breaking)
✓ Uses Rust 2018 edition
|0.22.0||Aug 13, 2019|
|0.21.0||Nov 17, 2018|
|0.20.0||Nov 8, 2018|
|0.15.0||Jun 11, 2018|
|0.12.1||Mar 1, 2018|
#87 in Database interfaces
178 downloads per month
Used in 2 crates
This is the IndraDB library. Most users can use the server, which provides higher-level methods for working with IndraDB databases. Linking directly against the library would be necessary if you want to make a new datastore implementation, or if you want to work at a lower-level than the server affords.
IndraDB stores graph data in datastores. Datastores are pluggable: there is built in support for in-memory-only and rocksdb, but you can implement a new custom datastore.
To use the in-memory datastore, add this to your
[dependencies.indradb-lib] git = "https://github.com/indradb/indradb"
To use the rocksdb datastore, add this to your
[dependencies.indradb-lib] git = "https://github.com/indradb/indradb" features = ["rocksdb-datastore"]
To implement a custom datastore, you need to implement the Datastore and Transaction traits. See the in-memory datastore for a simpler example implementation. To help you get off the ground faster, there is a standard test suite that can execute against any datastore and check for common bugs and regressions. See the in-memory datastore tests for an implementation of it.