DB selection for Rust app

There are my requirements

  1. DB with a key -> a value access, generally Mongo DB will work or any SQL database may work too
  2. Amount data is under 1B records
  3. DB can reside on the same machine or other where Rust app will run
  4. Db crate has to be a really small with no, or very little dependencies
  5. DB has to be highly accessible, it means if one DB node dies, DB should transparently switch to other
    I think my key requirement it's extremely light weight access layer, because Rust app will run on specific devices with very low resources level, kind of a food mixer. So generally you have a food recipe and want to quickly extract it from a database which will run separately from a device.

This is not Rust-related but... are you really (really!) sure you want the devices to directly access the database layer? While some databases have good support for authentication and authorization (like PostgreSQL that has a granular role system and row-level security) putting an API layer in between is usually a good idea, both to improve security and to decouple the device from the physical layout of the data on the server.

Anyway, given your requirements I'd use PostgreSQL with a bare-bone libpq.

Thank you for the suggestion. I will follow your suggestion to detach the topic from Rust.