After three months of development of took place Library release libmdbx 0.10.0 (MDBX) with the implementation of a high-performance, compact embedded key-value class database. LIBMDBX code spreads under a license OpenLDAP Public License . libmdbx is a deep processing DBMS LMDB and on the application of developers surpasses its progenitor for reliability, the set of possibilities and performance. it is stated that libmdbx up to 20% faster LMDB in crud scripts and up to 30% faster, if when assembling libmdbx, turn off the internal Control to comparable with LMDB level.
libmdbx offers ACID , strict serialization of changes and non-blocking reading with linear scaling through the CPU kernels. In LIBMDBX, much attention is paid to the quality of code, stable operation of the API, testing and automatic checks. AutoComatification is supported, automatic control of the database size, a single database format for 32-bit and 64-bit assemblies, an estimate of the range of samples (Range Query Estimation).
The utility checks the integrity of the database structure with some restoration capabilities. C 2016, the project is funded by the company Positive Technologies and C 2017 used in Her products , and the US government imposed sanctions against Positive Technologies do not have any noticeable influence.
Main innovations, refinement and corrections added after the last issue:
- available Binding for Ruby from Mahlon E. Smith and trial Python bindings from Noel Kuntze , updated bindings for Golang from Alexander Sharov .
- for MDBX_WRITEMAP mode, when database data varies directly into RAM, implemented a “transparent strait” to the disk of the modified database pages. Now, after completing each operation, such pages are immediately ready for writing to the disk and the OS kernel may independently drop the modified pages on the disk, and the transaction fixation will not require their modification. As a result, in loaded scenarios with a lack of RAM, the volume of disk operations can be reduced to 2 times.