В мире разработки существует множество хранилищ ключ-значение, таких как RocksDB и LevelDB. Однако они часто требуют много памяти. Поэтому разработчик Hashan предложил альтернативу — SNKV, основанное на движке B-tree из SQLite. Это решение стало ответом на запросы сообщества, где многие пользователи рекомендуют использовать SQLite для хранения данных в формате ключ-значение.
SNKV разработано с использованием нижних слоев SQLite, что обеспечивает надежность и производительность. Архитектура включает слоя ключ-значение, B-tree, и уровень операционной системы, что делает SNKV легковесным и простым в использовании. Все необходимые функции собраны в одном файле, что исключает зависимости от сторонних библиотек.
Для интеграции SNKV в проект на C/C++ достаточно сгенерировать заголовок snkv.h и подключить его. Для разработчиков Python предусмотрена возможность установки через pip. Поскольку SQL-слой минуется, данные хранятся в формате key_len | ключ | значение, что позволяет быстро получать значения по префиксу с временной сложностью O(log n).
Кроме того, SNKV поддерживает кэширование, что увеличивает скорость работы. Все операции, такие как чтение и запись, оптимизированы для минимизации временных затрат. Это делает SNKV хорошей альтернативой для тех, кто ищет эффективные решения для хранения данных.
В заключение, SNKV обеспечивает высокий уровень производительности при низком потреблении памяти, что может стать отличным решением для небольших проектов или тех, кто хочет оптимизировать существующие системы. Первые пользователи уже могут тестировать и давать отзывы, а разработчик открывает предложения по улучшению функционала.


