프로젝트 소개
redb는 entièrement Rust로 작성된 간단하고 휴대 가능하며 고성능의 임베디드 키-값 저장소입니다. LMDB에서 느슨하게 영감을 받았으며, copy-on-write B+트리를 사용하여 데이터를 저장합니다. 이 라이브러리는 BTreeMap을 모델로 한 zero-copy, thread-safe API를 제공하며, 완전 ACID 준수 트랜잭션을 지원하고, 블로킹 없이 동시 읽기 및 쓰기를 허용하는 MVCC를 제공합니다. 기본적으로 crash-safe이며, 세이브포인트와 롤백과 같은 기능을 포함합니다.
redb는 experimental-api-5 기능을 사용할 때 표준 라이브러리 없이(no_std) 컴파일할 수 있으며, alloc과 원자적 compare-and-swap만 필요합니다 — Cortex-M3+ 대상에 적합합니다. 스토리지는 맞춤형 StorageBackend 구현을 통해 제공되어야 합니다.
벤치마크 결과, redb는 대량 로드, 쓰기, 읽기, 삭제 작업에서 LMDB, RocksDB, Fjall, SQLite와 같은 다른 주요 임베디드 데이터베이스와 경쟁력 있는 성능을 보입니다. 멀티스레드 워크로드에서 잘 확장되며 저장소 크기를 kompakt하게 유지합니다.
파일 형식은 안정적이며, 향후 변경은 하위 호환성을 유지하도록 목표로 합니다. 개발에는 just와 podman이 필요하며, 빌드 아티팩트는 Podman 볼륨에 캐시됩니다.
사용자의 선택에 따라 Apache 2.0 또는 MIT 라이선스 하에 배포됩니다. 기여는 별도로 명시되지 않는 한 이중 라이선스가 적용됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.