このプロジェクトについて

redbは、Rustのみで記述されたシンプルで移植性の高い高性能組み込み型キーバリューストアです。LMDBに大まかに着想を得ており、コピーオンライト方式のB+木を用いてデータを格納します。本ライブラリはBTreeMapを模したゼロコピーでスレッドセーフなAPIを提供し、完全にACID準拠のトランザクションをサポートします。また、MVCCによって読み取りと書き込みが互いにブロックされることなく並行実行できます。デフォルトでクラッシュセーフであり、セーブポイントやロールバックといった機能も備えています。 redbは、experimental-api-5フィーチャーを使用することで、標準ライブラリなし(no_std)でコンパイル可能です。この場合、allocとアトミックな比較交換(CAS)操作のサポートのみを必要とし、Cortex-M3+ターゲットに適しています。ストレージはカスタムのStorageBackend実装を介して提供する必要があります。 ベンチマークによれば、redbはバルクロード、書き込み、読み取り、削除の各操作において、LMDB、RocksDB、Fjall、SQLiteといった他の主要な組み込み型データベースと競合する性能を発揮します。マルチスレッドのワークロード下でも良好にスケールし、ストレージサイズもコンパクトに保ちます。 ファイルフォーマットは安定しており、将来の変更においても後方互換性の維持が目指されています。開発にはjustとpodmanのみが必要で、ビルド成果物はPodmanボリュームにキャッシュされます。 ライセンスは、ユーザーの選択によりApache 2.0またはMITのいずれかで提供されます。特段の指定がない限り、コントリビューションはデュアルライセンスとなります。