LMDB es una biblioteca de gestión de bases de datos basada en árboles B, inspirada de forma simplificada en la API de BerkeleyDB. Su principal innovación técnica reside en exponer toda la base de datos como un mapeo de memoria (memory map): todas las lecturas devuelven datos directamente desde la memoria mapeada, sin recurrir a malloc ni memcpy. Esta arquitectura elimina la necesidad de una capa propia de caché de páginas, lo que se traduce en un código extremadamente simple, alto rendimiento y un uso de memoria muy eficiente.
La biblioteca ofrece transacciones completas con semántica ACID y, cuando el mapeo de memoria se utiliza en modo de solo lectura, garantiza la integridad de los datos frente a escrituras accidentales desde el código de la aplicación. Es totalmente segura con hilos y permite acceso concurrente de lectura y escritura desde múltiples procesos e hilos. Las páginas de datos siguen una estrategia copy-on-write, de modo que nunca se sobrescriben páginas activas, lo que aporta resistencia a la corrupción y elimina la necesidad de procedimientos especiales de recuperación tras un fallo del sistema.
A diferencia de otros mecanismos como los logs transaccionales write-ahead o las escrituras append-only, LMDB no requiere mantenimiento operativo: ni puntos de control periódicos ni compactación. La biblioteca rastrea las páginas libres dentro de la propia base de datos y las reutiliza, por lo que el tamaño no crece sin control. Las escrituras se serializan (una sola transacción de escritura activa a la vez), garantizando la ausencia de deadlocks. Los lectores, al operar sobre la estructura multiversión, nunca son bloqueados por los escritores, ni viceversa.
La documentación aborda también aspectos prácticos: solución de problemas con el archivo de bloqueo, gestión de semáforos en sistemas BSD, prevención de transacciones zombi mediante mdb_reader_check o mdb_stat, y advertencias sobre el modo de lectura-escritura, que ofrece mayor rendimiento pero pierde la inmunidad frente a escrituras erróneas de la aplicación. El software se distribuye bajo la OpenLDAP Public License.
