Выпуск компактной встраиваемой СУБД libmdbx 0.9.1
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Выпущена версия 0.9.1 библиотеки libmdbx (MDBX) с реализацией высокопроизводительной, компактной встраиваемой базы данных класса ключ-значение. Код libmdbx распространяется под лицензией OpenLDAP Public License.
Текущая версия является компромиссом между намерением выпустить долговременную стабильную версию 1.0 с полноценной поддержкой C++ и нежеланием откладывать релизы из-за неготовности к заморозке нового C++ API. Представленный релиз является результатом 9 месяцев работы направленной на стабилизацию библиотеки и повышения удобства её использования, а также включает предварительную версию C++ API.
Библиотека libmdbx является не просто «форком», а кардинально переработанным потомком LMDB - транзакционной встраиваемой СУБД класса «ключ-значение» на основе дерева B+ без упреждающей журнализации, которая позволяет многопоточным процессам конкурентно и эффективно работать с локально-разделяемой (не сетевой) БД без выделенного серверного процесса. Libmdbx принципиально расширяет возможности своего прародителя, одновременно устраняя, либо смягчая недостатки. При этом, по убеждению разработчиков, libmdbx немного быстрее и существенно надежнее LMDB.
libmdbx предлагает ACID, строгую сериализацию изменений и неблокирующее чтение с линейным масштабированием по ядрам CPU. Результаты тестирования производительности (отправка параллельных запросов на чтение/поиск в 1-2-4-8 потоках на CPU i7-4600U c 2-я физическими ядрами в режиме 4-х потоков HyperThread):
Самые важные отличия MDBX, относительно LMDB:
- Принципиально больше внимания уделяется качеству кода, «непадучести» API, тестированию и автоматическим проверкам.
- Существенно больше контроля во время работы, начиная от проверки параметров, до внутреннего аудита структур базы данных.
- Авто-компактификация и автоматическое управление размером БД.
- Единый формат БД для 32-битных и 64-битных сборок.
- Оценка объёма выборок по диапазонам (range query estimation).
- Поддержка ключей вдвое большей длины и выбираемый пользователем размер страницы БД.
- Утилита проверки целостности структуры БД с некоторыми возможностями восстановления.
Основные новшества и доработки после предыдущей новости с представлением версии 0.5 в январе 2020:
- Для оперативной поддержки и ответов на вопросы создана открытая группа в Телеграм.
- Устранено более десятка ошибок и недочетов (см. журнал изменений).
- Исправлена масса опечаток и орфографических ошибок, множественные косметические улучшения.
- Расширены тестовые сценарии.
- Реализована поддержка iOS, Android, buildroot, Musl, uClibc, WSL1 и Wine.
- Представлена предварительная версия C++ API в одном заголовочном файле.
- Оформлена встроенная документация в формате Doxygen и автоматическая генерация Online документации.
- Обеспечено автоматическое формирование архивов с амальгамированными исходными текстами.
- Добавлена поддержка подготовки транзакций и курсоров, пользовательских контекстов для транзакций и курсоров.
- Реализованы дополнительные методы контроля ссылочной целостности в MVCC-снимках B+tree.
- Добавлена поддержка проверки MVCC-снимка БД, доступного через любую мета-страницу с возможностью переключения для восстановления.
- Реализована поддержка повторного открытия БД из одного процесса в целях тестирования и т.п.
- Реализована автоматическая обработка опции MDBX_NOSUBDIR при открытии БД.
- Добавлены функции формирования целочисленных ключей из значений плавающей точки и «универсальных» чисел JavaScript.
- Суммарно внесено 430 изменений затронувших 93 файла, добавлено более 25 тысяч строк, более 8.5 тысяч строк удалено.
Последующая разработка libmdbx будет сосредоточена на формировании финального C++ API, дальнейшей стабилизации базового кода, повышению удобства использования библиотеки, а также формирования пакетов для популярных дистрибутивов Linux. Из предполагаемых доработок стоит отметить поддержку ключей в формате MessagePack.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://github.com/erthink/lib...)
- OpenNews: Опубликован второй кандидат в релизы встраиваемой СУБД libmdbx 1.0
- OpenNews: Доступен ReOpenLDAP 1.1.6, форк проекта OpenLDAP
- OpenNews: Первый стабильный выпуск графо-ориентированной СУБД Nebula Graph
- OpenNews: Стабильный релиз СУБД FoundationDB 6.0, развиваемой компанией Apple
- OpenNews: Выпуск СУБД Redis 6.0
Похожие новости:
- Релиз СУБД PostgreSQL 13
- [MongoDB, NoSQL, Администрирование баз данных] 14 вещей, которые я хотел бы знать перед началом работы с MongoDB (перевод)
- [Big Data] Инструменты обработки OLAP-запросов для Big Data (перевод)
- [Java, Oracle] Репликация Oracle и UCP Fast Connection Failover
- [Oracle, Администрирование баз данных] Метод научного тыка, или как подобрать конфигурацию субд с помощью бенчмарков и оптимизационного алгоритма
- [Microsoft SQL Server, SQL, Администрирование баз данных] Введение в графовые базы данных SQL Server 2017 (перевод)
- [Разработка мобильных приложений, Разработка под Android, Администрирование баз данных, Kotlin] Сказ о том, как каскадное удаление в Realm долгий запуск победило
- [Microsoft SQL Server, MySQL, PostgreSQL, Администрирование баз данных] DataGrip 2020.2: редактор больших значений, предпросмотр SQL при редактировании, новое отображение ячеек bool и другое
- Стабильный выпуск СУБД MariaDB 10.5
- Первый стабильный выпуск графо-ориентированной СУБД Nebula Graph
Теги для поиска: #_libmdbx, #_database
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:00
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Выпущена версия 0.9.1 библиотеки libmdbx (MDBX) с реализацией высокопроизводительной, компактной встраиваемой базы данных класса ключ-значение. Код libmdbx распространяется под лицензией OpenLDAP Public License. Текущая версия является компромиссом между намерением выпустить долговременную стабильную версию 1.0 с полноценной поддержкой C++ и нежеланием откладывать релизы из-за неготовности к заморозке нового C++ API. Представленный релиз является результатом 9 месяцев работы направленной на стабилизацию библиотеки и повышения удобства её использования, а также включает предварительную версию C++ API. Библиотека libmdbx является не просто «форком», а кардинально переработанным потомком LMDB - транзакционной встраиваемой СУБД класса «ключ-значение» на основе дерева B+ без упреждающей журнализации, которая позволяет многопоточным процессам конкурентно и эффективно работать с локально-разделяемой (не сетевой) БД без выделенного серверного процесса. Libmdbx принципиально расширяет возможности своего прародителя, одновременно устраняя, либо смягчая недостатки. При этом, по убеждению разработчиков, libmdbx немного быстрее и существенно надежнее LMDB. libmdbx предлагает ACID, строгую сериализацию изменений и неблокирующее чтение с линейным масштабированием по ядрам CPU. Результаты тестирования производительности (отправка параллельных запросов на чтение/поиск в 1-2-4-8 потоках на CPU i7-4600U c 2-я физическими ядрами в режиме 4-х потоков HyperThread): Самые важные отличия MDBX, относительно LMDB:
Основные новшества и доработки после предыдущей новости с представлением версии 0.5 в январе 2020:
=========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 20:00
Часовой пояс: UTC + 5