TurboKV: встраиваемое key-value хранилище на Rust, которое в 4 раза быстрее fjall
TurboKV: Insanely fast Rust key-value store
TurboKV — это асинхронное встраиваемое key-value хранилище для Rust с атомарными батчами, упорядоченными range-сканами, настраиваемой долговечностью, сжатием и фоновой компактификацией. Бенчмарки на Apple M4 показывают, что в режиме Durable TurboKV обрабатывает до 2,3 млн ключей в секунду при батчах из 1000 ключей, что в 4 раза быстрее, чем у fjall, и значительно быстрее, чем у redb. Проект предлагает три уровня долговечности — от быстрого без WAL до параноидального с полной синхронизацией — и поддерживает сжатие LZ4, Snappy, Zstd или без сжатия.
TurboKV — это асинхронная встраиваемая база данных ключ-значение с атомарными пакетами, упорядоченными диапазонными сканированиями, настраиваемой долговечностью, сжатием и фоновым уплотнением.
- dangoodmanUT
> DbOptions::durable()
> Добавлено в WAL без синхронизации при каждой записи
Так что... это не долговечно? Долговечный не означает "переживает перезапуск процесса", это означает "сохранено на постоянном носителе". Например, этот "долговечный" режим не переживет потерю питания.
- medv
Каждый программист в итоге создает свою базу данных: https://github.com/antonmedv/medb
- nine_k
Полагаю, безумная скорость достигается за счет этого:
> Постоянный формат фильтра Блума в TurboKV использует аппаратный AES.
Также встроенное сжатие LZ4.
Я бы ожидал использования SIMD для сканирования.
- Tepix
Планируется ли атомарная операция get+delete?
- boguscoder
Встраиваемый также может означать no_std, а это абсолютно не так. Тем не менее, круто.