విడుదలైంది версия 0.9.1 библиотеки libmdbx (MDBX) с реализацией высокопроизводительной, компактной встраиваемой базы данных класса ключ-значение. Код libmdbx распространяется под лицензией OpenLDAP పబ్లిక్ లైసెన్స్.
Текущая версия является компромиссом между намерением выпустить долговременную стабильную версию 1.0 с полноценной поддержкой C++ и нежеланием откладывать релизы из-за неготовности к заморозке нового C++ API. Представленный релиз является результатом 9 месяцев работы направленной на стабилизацию библиотеки и повышения удобства её использования, а также включает предварительную версию C++ API.
Библиотека libmdbx является не просто «форком», а кардинально переработанным потомком LMDB — ఆధారంగా "కీ-విలువ" తరగతి యొక్క లావాదేవీ ఎంబెడెడ్ DBMS చెట్టు B+ లేకుండా ప్రోయాక్టివ్ లాగింగ్, которая позволяет многопоточным процессам конкурентно и эффективно работать с локально-разделяемой (не сетевой) БД без выделенного серверного процесса. Libmdbx принципиально విస్తరిస్తుంది возможности своего прародителя, одновременно устраняя, либо смягчая недостатки. При этом, по убеждению разработчиков, libmdbx немного быстрее и существенно надежнее LMDB.
libmdbx предлагает ACID, строгую сериализацию изменений и неблокирующее чтение с линейным масштабированием по ядрам CPU. Результаты тестирования производительности (отправка параллельных запросов на чтение/поиск в 1-2-4-8 потоках на CPU i7-4600U c 2-я физическими ядрами в режиме 4-х потоков HyperThread):
MDBX మరియు LMDB మధ్య అత్యంత ముఖ్యమైన తేడాలు:
Принципиально больше внимания уделяется качеству кода, «непадучести» API, тестированию и автоматическим проверкам.
పారామితులను తనిఖీ చేయడం నుండి డేటాబేస్ నిర్మాణాల అంతర్గత ఆడిట్ వరకు ఆపరేషన్ సమయంలో గణనీయంగా ఎక్కువ నియంత్రణ.
ఆటో-కాంపాక్టిఫికేషన్ మరియు ఆటోమేటిక్ డేటాబేస్ సైజ్ మేనేజ్మెంట్.
32-బిట్ మరియు 64-బిట్ అసెంబ్లీల కోసం ఒకే డేటాబేస్ ఫార్మాట్.
పరిధుల వారీగా నమూనా వాల్యూమ్ల అంచనా (పరిధి ప్రశ్న అంచనా).
Поддержка ключей вдвое большей длины и выбираемый пользователем размер страницы БД.
Утилита проверки целостности структуры БД с некоторыми возможностями восстановления.
Основные новшества и доработки после మునుపటి వార్తలు с представлением версии 0.5 в январе 2020:
Для оперативной поддержки и ответов на вопросы создана открытая группа в Телеграм.
Устранено более десятка ошибок и недочетов (см. లాగ్ మార్చండి).
Исправлена масса опечаток и орфографических ошибок, множественные косметические улучшения.
Оформлена встроенная документация в формате Doxygen и автоматическая генерация Online документации.
Обеспечено автоматическое формирование архивов с амальгамированными исходными текстами.
Добавлена поддержка подготовки транзакций и курсоров, пользовательских контекстов для транзакций и курсоров.
Реализованы дополнительные методы контроля ссылочной целостности в MVCC-снимках B+tree.
Добавлена поддержка проверки MVCC-снимка БД, доступного через любую мета-страницу с возможностью переключения для восстановления.
Реализована поддержка повторного открытия БД из одного процесса в целях тестирования и т.п.
Реализована автоматическая обработка опции MDBX_NOSUBDIR при открытии БД.
Добавлены функции формирования целочисленных ключей из значений плавающей точки и «универсальных» чисел JavaScript.
Суммарно внесено 430 изменений затронувших 93 файла, добавлено более 25 тысяч строк, более 8.5 тысяч строк удалено.
Последующая разработка libmdbx будет сосредоточена на формировании финального C++ API, дальнейшей стабилизации базового кода, повышению удобства использования библиотеки, а также формирования пакетов для популярных дистрибутивов Linux. Из предполагаемых доработок стоит отметить поддержку ключей в формате మెసేజ్ప్యాక్.