30 releases (16 stable)
4.0.0 | Mar 9, 2023 |
---|---|
3.0.4 | Dec 27, 2022 |
3.0.3 | Aug 16, 2022 |
3.0.2 | Jun 17, 2022 |
0.12.1 | Mar 1, 2018 |
#177 in Database implementations
390 downloads per month
Used in 69 crates
(54 directly)
215KB
4.5K
SLoC
IndraDB library
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.
Pluggable datastores
IndraDB stores graph data in datastores. Datastores are pluggable: there are a few built-in ones, but you can implement a new custom datastore.
In-memory
To use the in-memory datastore, add this to your Cargo.toml
's dependencies section:
indradb-lib = "*"
RocksDB
To use the rocksdb datastore, add this to your Cargo.toml
's dependencies section:
indradb-lib = { version = "*", features = ["rocksdb-datastore"] }
Custom datastores
To implement a custom datastore, you need to implement the Datastore trait. 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.
Dependencies
~5–19MB
~279K SLoC