Skip to content

Учебник по libmdbx

Полное практическое руководство по встраиваемой транзакционной базе данных libmdbx — от первых шагов до экспертных тем и биндингов. Все примеры кода — компилируемые C++17/C11 программы в каталоге examples/; фрагменты в тексте помечены «фрагмент» и дополнены ссылками на полный код.


Для кого этот учебник

Учебник предназначен для разработчиков, работающих с C/C++ (и, в Томе VI, с другими языками через биндинги). Минимальный уровень — уверенное владение C и базовое представление о том, что такое базы данных. Опытные инженеры могут начинать со второго-третьего тома: внутренние механизмы, производительность и экспертные темы самодостаточны при условии знакомства с API.

Структура и как читать

Учебник состоит из шести томов, связанных единой логикой прогрессии:

Том Тема Уровень
Том I. Основы Что такое libmdbx, установка, модель данных, CRUD, транзакции новичок
Том II. Практика Курсоры, DUPSORT, индексы, конфигурация, долговечность, многопоточность, ошибки разработчик
Том III. Механизмы B+tree, MVCC, CoW, GC, геометрия, блокировки, восстановление понимающий
Том IV. Производительность WAF, конфигурации, микрооптимизации, get-cached, массовые операции, бенчмарки опытный
Том V. Экспертные темы Правила, платформы, HSR, диагностика, миграция, паттерны, roadmap продвинутый
Том VI. Биндинги Rust, Go, Python, Node.js, .NET, C++, и др. интегратор
  • Начинающим рекомендуем последовательное чтение Томов I–II: там же ведётся сквозной проект-конфигуратор, упражнения которого закрепляют материал.
  • Опытным — Тома III–V по необходимости; каждый том самодостаточен.
  • Интеграторам — Том VI: карточки биндингов со спецификой каждого языка.

Каждая глава построена по схеме «концепция → механизм → практика → нюанс», завершается резюме, чек-листом и (в Томах I–II) упражнениями.

Примеры кода

Все примеры живут в examples/ и собираются через CMake проекта (или pkg-config):

cmake -S . -B build -DMDBX_ENABLE_TESTS=ON
cmake --build build
ctest --test-dir build        # прогоняет и примеры

Ссылки вида examples/c++/01-hello.c++ в тексте указывают на полный компилируемый пример (каталог examples/ проекта, доступен и из этого каталога через символьную ссылку); краткие иллюстрации помечены «фрагмент» и не обязаны компилироваться сами по себе.

Версии и совместимость

Материал соответствует актуальной ветке master (на момент публикации — серия v0.15.x). Приведённые API проверены по mdbx.h / mdbx.h++; некоторые тонкие параметры (дефолты опций, сигнатуры сервисных функций) уточняйте по официальной документации и заголовочным файлам вашей версии.

Об учебнике

Учебник создан ИИ-агентом skynet на основе исходного кода libmdbx (ветка master), официальных заголовочных файлов mdbx.h/mdbx.h++ и проектной документации. Материал прошёл сверку с кодом и перекрёстную проверку фактов. Цель — дать структурированный, точный и практичный путеводитель по libmdbx.

Обратная связь, замечания и предложения — в issues проекта или в Telegram-группе.