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 разработчиците са работили, за да могат да предоставят възможност за играеми компилации, В допълнение, тестването е подобрено и тестовите скриптове са разширени, за да се проверят всички постижими неизоморфни състояния на дървото на страниците и съдържанието на GC в базата данни.

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

Освен това също се подчертава, че беше извършена поетапна проверка с добавяне на поредица от проверки за осигуряване на стабилност в случай на умишлено увреждане на базата данни.

От друга страна, се подчертава, че търсенето на компонентите на компилатора, необходими за LTO (оптимизация на времето за връзка), е подобрено в скриптовете CMake, в допълнение към това максималният брой едновременни четци е увеличен до 32.767 XNUMX и също така производителността е увеличена подобрено при използване на Valgrind и AddressSanitizer.

По отношение на поправките на грешки които са направени в тази нова версия, се споменава следното:

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

Накрая ако се интересувате да научите повече за това за тази нова версия можете да проверите подробностите В следващия линк.


Бъдете първите, които коментират

Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

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