Overview of BadgerDB features and design
mainBadgerDB is an embeddable, persistent, and fast key-value (KV) database written in pure Go. It is designed to be a performant alternative to non-Go-based stores like RocksDB, specifically optimized for SSDs.
Key Characteristics:
- Pure Go: No Cgo dependency.
- ACID Transactions: Supports concurrent ACID transactions with Serializable Snapshot Isolation (SSI) guarantees.
- WiscKey Design: Based on the WiscKey paper, it separates keys from values to reduce write amplification and optimize for SSDs.
- Advanced Access: Supports TTL (Time-To-Live) and 3D access (key-value-version) via its Iterator API.
- Scalability: Capable of serving data sets spanning hundreds of terabytes.