libmdbx 0.10.4 поставляється з різними поліпшеннями та виправленнями помилок

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

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

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

Для libmdbx, пропонується API C ++, а також прив'язки, сумісні з ентузіастами 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 у базі даних.

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

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

З іншого боку, підкреслюється, що пошук компонентів компілятора, необхідних для LTO (оптимізація часу посилання), був покращений у сценаріях CMake, на додаток до того, що максимальна кількість одночасних читачів було збільшено до 32.767, а також продуктивність покращено при використанні Valgrind та AddressSanitizer.

Щодо виправлення помилок які були зроблені в цій новій версії, згадується наступне:

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

В кінці кінців якщо вам цікаво дізнатись більше про це про цю нову версію, ви можете перевірити деталі У наступному посиланні.


Залиште свій коментар

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

*

*

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