I’m looking for suggestions for an in-memory database or other type of store that syncs to the file system (preferably as a single file) to store small, text-only documents (notes) and additional metadata.
It should preferably be made purely with Rust and have no dependencies to outside libraries like SQLite (without the dependency to the sqlite library in the system it would be my first choice). Also it shouldn’t depend on any server/service running in the system.
It should support relational data (but not necessarily relational as in SQL and relational databases) to allow fast and easy searching and retrieval of data.
So far I (from the crate descriptions only) I found RedDB. the rql crate looks promising, too, even though I’ll have to write the sync to the filesystem myself.
Are there more suggestions?
To add to what others have said, you could try RocksDB and use one of the many Rust wrappers available. I have never used it, but I’ve heard great things from it, and afaik the Conduit project is working on moving from sled to RocksDB. Maybe you could hop on their Matrix channel and chat about this :)
I’ll check it out, thanks for the suggestion!
I hope you find something that suits you well :D
Curious to see what you settle with in the end hehe
For a work project (a portable maintenance and incident management application) we’ll go with SQLite/rusqlite because of familiarity and some other reasons. And it can be linked statically, as suggested by @pinknoise
For a private project (a note taking app … yeah, I know, there are already thousands, but I need a real project for learning more Rust) I’m still playing around with the options.
Sounds like a nice plan :)