Выпущена обновленная версия библиотеки libmdbx 0.13.6, представляющая собой встраиваемую базу данных класса ключ-значение. Эта СУБД выделяется высокой производительностью и компактностью. Проект распространяется под лицензией Apache 2.0 и поддерживает все основные операционные системы и архитектуры, включая российский процессор Эльбрус 2000. Кроме того, libmdbx интегрируется с C++ и предоставляет энтузиастами поддерживаемые интерфейсы для языков Rust, Haskell, Python и других.
Преимущества и улучшения по сравнению с LMDB
Libmdbx изначально разработана как усовершенствованная версия LMDB, фокусируясь на надежности и улучшенной производительности. В сравнении с LMDB, libmdbx улучшает качество кода, стабильность API и тестирование благодаря тщательным автоматизированным проверкам. Также предоставляется утилита для проверки структуры базы данных с функциями восстановления.
Технологически libmdbx поддерживает ACID-транзакции, обеспечивает строгую сериализацию изменений и неблокирующее чтение с линейной масштабируемостью по ядрам ЦПУ. Среди других функций можно отметить автоуплотнение базы, автоматическое управление её размером, и оценку объёма выборок.
Основные изменения в версии 0.13.6
- Изменено поведение функции:
mdbx_cursor_bind()
теперь возвращаетMDBX_EINVAL
вместоMDBX_BAD_TXN
при невозможности отвязки курсора. - Отключено использование
copy_file_range()
на ядрах Linux 5.3 - 5.18 для предотвращения потенциальных проблем. - Устранены регрессы: например, ошибки при использовании курсоров для
DBI=0
в транзакциях чтения и EAGAIN при копировании на NFS и CIFS/SMB. - Добавлена поддержка файловых блокировок в функции копирования через
fcntl()
иflock()
, что улучшает совместимость. - Исправлены ошибки работы функций, чтобы избежать неожиданных сбоев и утечек памяти.
Таким образом, libmdbx 0.13.6 является шагом вперёд в серии улучшений, направленных на повышение надежности и производительности встраиваемой СУБД, что делает её ещё более привлекательной для использования в разнообразных ИТ-инфраструктурах. Среди компаний, использующих libmdbx, можно отметить StarkWare и Positive Technologies.