Вышла версия 0.9.3 библиотеки libmdbx реализующей ультра-быстрый компактный встраиваемый движок ключ-значение. libmdbx является глубокой переработкой легендарной СУБД LMDB и по заявлению разработчиков превосходит прародителя по надежности, набору возможностей и производительности. В частности, утверждается что libmdbx до 20% быстрее LMDB в CRUD сценариях, и до 30% быстрее, если при сборке libmdbx, посредством опций, отключить внутренний контроль до сопоставимого с LMDB уровня.
Libmdbx предлагает ACID и zero-copy для нескольких локальных процессов, несколько key-value map и multimap в одной БД, оптимизацию хранения ключей и значений фиксированного размера, строгую сериализацию изменений и неблокирующее чтение с линейным масштабированием по ядрам CPU. Поддерживается автокомпактификация, автоматическое управление размером БД, единый формат БД для 32-битных и 64-битных сборок, оценка объёма выборок по диапазонам (range query estimation). Поставляется утилита проверки целостности структуры БД с некоторыми возможностями восстановления. При этом libmdbx кратно быстрее SQLite в сопоставимых сценариях.
Основные новшества, доработки и исправления после предыдущего релиза:
- В API добавлена установка опций времени выполнения, что позволяет работу движка под конкретные сценарии использования;
- Переработан свопинг на диск измененных страниц БД в очень больших транзакциях;
- Ускорена сортировка внутренних списков страниц;
- Доступен порт для FreeBSD и привязки для GoLang;
- Устранено более 10 ошибок и недочетов.
>>> Подробности