TurboKV: un almacén clave-valor en Rust que multiplica por 4 el rendimiento de fjall
TurboKV: Insanely fast Rust key-value store
TurboKV es una base de datos embebida y asíncrona para Rust que ofrece lotes atómicos, escaneos por rango ordenados, durabilidad configurable, compresión y compactación en segundo plano. En pruebas con modo durable, alcanza hasta 2,3 millones de operaciones por segundo en escrituras por lotes, superando a fjall por un factor de hasta 4,4 veces. Su formato de filtro Bloom persistente usa AES por hardware, y su API incluye presets de durabilidad (fast, durable, paranoid) para adaptarse a distintos casos de uso.
En modo durable, TurboKV alcanza 2.272.259 operaciones por segundo en escrituras secuenciales por lotes de 100 claves, superando a fjall por 4,441 veces.
- dangoodmanUT
> DbOptions::durable()
> Anexado al WAL sin un sync por escritura
Entonces... ¿no es durable? Durable no significa "sobrevive a un reinicio del proceso", significa "guardado de forma duradera en almacenamiento persistente". Por ejemplo, este modo "durable" no sobreviviría a una pérdida de energía.
- medv
Todo programador eventualmente crea su propia base de datos: https://github.com/antonmedv/medb
- nine_k
Supongo que la velocidad increíble se debe a esto:
> El formato de filtro Bloom persistente de TurboKV usa AES por hardware.
Además, compresión LZ4 integrada.
Esperaría que se usara SIMD para los escaneos.
- Tepix
¿Está planeada una operación atómica de obtener+eliminar?
- boguscoder
Integrado también podría significar no_std, que esto definitivamente no es. Aún así es genial.