empty static

Выпуск новой версии встраиваемой СУБД libmdbx 0.13.6

libmdbx 0.13.6 Выпущена обновленная версия библиотеки 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.