Учебник по 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-группе.