Об этом проекте

redb — просторная, портативная, высокопроизводительная встроенная key-value база данных, написанная полностью на Rust. Она не слишком далеко уходит от LMDB и хранит данные с помощью B+-деревьев с копированием при записи (copy-on-write). Библиотека предоставляет zero-copy, потокобезопасный API, моделированный по аналогии с BTreeMap, поддерживает полностью ACID-совместимые транзакции и предлагает MVCC для одновременной работы читателей и писателей без блокировок. По умолчанию она устойчива к сбоям и включает такие возможности, как savepoints и откаты. redb может компилироваться без стандартной библиотеки (no_std) при использовании экспериментальной функции api-5, требуя только поддержки alloc и атомарного сравнения-с записью (compare-and-swap) — подходит для целевых платформ Cortex-M3+. Хранение должно обеспечиваться пользовательской реализацией StorageBackend. Результаты бенчмарков показывают, что redb конкурентоспособен с другими ведущими встроенными базами данных, такими как LMDB, RocksDB, Fjall и SQLite, при пакетной загрузке, записи, чтении и удалении. Он хорошо масштабируется в многопоточных нагрузках и сохраняет компактные размеры хранилища. Формат файлов стабилен, и будущие изменения будут направлены на сохранение обратной совместимости. Для разработки требуются just и podman, а артефакты сборки кэшируются в томовом объёме Podman. Лицензирован либо под Apache 2.0, либо под MIT по выбору пользователя. Вклады лицензируются по двойной лицензии, если не указано иное.