libmdbx 0.10.4 содержит различные улучшения и исправления ошибок.

Выпуск библиотеки версии 0.10.4 "Libmdbx" в котором всего, более 160 изменений внесено в 57 файлов, ~ 5000 строк добавлено и ~ 2500 удалено. Тем, кто не знаком с libmdbx, следует знать, что это набор библиотек, которые представляют собой реализацию компактной высокопроизводительной встроенной базы данных класса "ключ-значение".

Исторически, libmdbx - это глубокая переработка СУБД LMDB и превосходит своего предшественника по надежности, набору функций и производительности. По сравнению с LMDB, libmdbx уделяет большое внимание качеству кода, стабильности API, тестированию и автоматическим проверкам. Утилита для проверки целостности структуры базы данных поставляется с некоторыми вариантами восстановления.

Технологически, libmdbx предлагает ACID, строгую сериализацию изменений и неблокирующее чтение с линейным масштабированием по ядрам. процессора. Поддерживает автоматическое сжатие, автоматический контроль размера базы данных и оценку запроса ранжирования. С 2016 года проекты финансируются Positive Technologies и используются в своих продуктах с 2017 года.

Для libmdbx, предлагается C ++ API, а также привязки, совместимые с энтузиастами Rust, Haskell, Python, NodeJS, Ruby, Go, Nim. Для libfpta публично доступно только описание API в виде файла заголовка C / C ++.

Помимо поддержки Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD и других совместимых систем POSIX.1-2008.

Основные новые возможности libmdbx 0.10.4

В этой новой версии libmdbx 0.10.4 разработчики работали над тем, чтобы обеспечить возможность создания игровых сборок, Кроме того, было улучшено тестирование и расширены сценарии тестирования для проверки всех достижимых неизоморфных состояний дерева страниц и содержимого сборщика мусора в базе данных.

В C ++ API исправлено единожды "noexcept", добавлена ​​дополнительная перегрузка для метода "cursor :: erase ()", реализация буферов облегчается использованием "std :: string" для обеспечения выравнивания (актуально для CLANG libstdc ++)

Кроме того, также подчеркивается, что проведена поэтапная проверка с добавлением серии проверок для обеспечения стабильности в случае умышленного повреждения базы данных.

С другой стороны, подчеркивается, что поиск компонентов компилятора, необходимых для LTO (оптимизация времени компоновки), был улучшен в сценариях CMake, в дополнение к этому максимальное количество одновременных считывателей увеличено до 32.767 XNUMX, а также производительность улучшено при использовании Valgrind и AddressSanitizer.

По поводу исправлений ошибок которые были сделаны в этой новой версии, упоминается следующее:

  • Исправлена ​​ошибка, из-за которой в очень редких случаях мог произойти цикл / сбой во время фиксации транзакции. Проблема была выявлена ​​специалистами Positive Technologies во время внутреннего тестирования собственных продуктов.
  • Исправлена ​​регрессия в алгоритме разлива грязных страниц (выборочное удаление измененных страниц базы данных), проявляющаяся в редкой неожиданной ошибке MDBX_PROBLEM при изменении данных в больших транзакциях.
  • Исправлены незначительные проблемы UndefinedBehaviorSanitizer и Coverity Scan.
    Исправлена ​​устаревшая и неиспользуемая внутренняя проверка флага "P_DIRTY" на страницах, вложенных в образы базы данных, созданные старыми версиями библиотек.
  • Исправлено рекурсивное использование SRW-блокировки в Windows при работе в режиме MDBX_NOTLS (без использования локального хранилища потоков), исправлена ​​генерация бутидов при изменении системного времени, улучшено обнаружение WSL1 и WSL2, добавлена ​​возможность открывать подключенную базу данных Plan 9 с помощью DrvFS.

В конце концов если вам интересно узнать об этом больше об этой новой версии вы можете проверить подробности По следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.