HN
Today

TurboKV: Insanely fast Rust key-value store

TurboKV is a newly released, asynchronous embedded key-value store for Rust, boasting impressive performance figures against existing alternatives like fjall and redb. It offers features like atomic batches, configurable durability, and ordered range scans, all while leveraging hardware-accelerated AES. This project appeals to the Hacker News crowd with its focus on high-performance systems programming in Rust and transparent benchmarking.

18
Score
1
Comments
#3
Highest Rank
3h
on Front Page
First Seen
Aug 29, 3:00 AM
Last Seen
Aug 29, 5:00 AM
Rank Over Time
1243

The Lowdown

TurboKV emerges as a new contender in the embedded key-value store space, specifically designed for Rust applications. This async-first database prioritizes speed and simplicity, offering a robust set of features for developers seeking efficient and reliable data storage directly within their applications. Its design incorporates modern architectural elements like hardware-accelerated Bloom filters and configurable durability to balance performance with data safety.

  • Core Functionality: Provides standard key-value operations such as insert, get, remove, and contains_key, supporting arbitrary byte sequences for keys and values.
  • Performance Focus: Employs an asynchronous architecture leveraging tokio and optimizes for hardware capabilities, including AES acceleration for its persisted Bloom filter format.
  • Durability and Consistency: Offers multiple durability presets (fast, durable, paranoid) allowing users to choose their preferred trade-off between speed and data persistence guarantees, along with atomic write batches.
  • Advanced Features: Supports ordered range and prefix scans, background compaction, and detailed statistics for monitoring database health and performance.
  • Benchmarking Prowess: Presents benchmarks demonstrating superior throughput compared to other Rust-based key-value stores like fjall and redb across various write workloads. The benchmarks highlight TurboKV's efficiency in both single-key and batched operations.
  • Configuration: Allows extensive configuration via DbOptions for aspects like WAL, memtable size, block cache, and compression (Lz4, Snappy, Zstd).

In essence, TurboKV positions itself as a high-performance, feature-rich embedded key-value store for the Rust ecosystem. Its comprehensive API, configurable durability, and compelling benchmark results make it a notable new tool for Rust developers requiring fast, local data persistence.