Megjelent könyvtári verzió 0.9.1 libmdbx (MDBX) egy nagy teljesítményű, kompakt beágyazott kulcsérték adatbázis megvalósítása. A libmdbx kód licenc alapján kerül terjesztésre OpenLDAP nyilvános licenc.
A jelenlegi verzió egy kompromisszum a hosszú távú stabil 1.0-s verzió teljes C++ támogatással kiadásának szándéka és az új C++ API lefagyasztására való felkészületlenség miatti vonakodás között. A bemutatott kiadás 9 hónapos, a könyvtár stabilizálását és használhatóságának javítását célzó munka eredménye, és egy előzetes verziót is tartalmaz. C++ API.
A libmdbx könyvtár nem csak egy "villa", hanem egy radikálisan újratervezett leszármazottja LMDB — a „kulcsérték” osztályba tartozó tranzakciós beágyazott DBMS-ek alapján fa B+ nélkül proaktív naplózás, amely lehetővé teszi a többszálú folyamatok versenyképes és hatékony működését egy helyileg megosztott (nem hálózati) adatbázissal, dedikált szerverfolyamat nélkül. libmdbx alapvetően kitágul őse képességeit, ugyanakkor kiküszöböli vagy mérsékli a hátrányokat. Ugyanakkor a fejlesztők szerint a libmdbx egy kicsit gyorsabb és lényegesen megbízhatóbb, mint az LMDB.
a libmdbx javasolja SAV, a változtatások szigorú sorosítása és a nem blokkoló olvasás lineáris skálázással a CPU magokon keresztül. Teljesítményteszt eredményei (párhuzamos olvasási/keresési kérelmek küldése 1-2-4-8 szálban 7 fizikai maggal rendelkező i4600-2U CPU-n 4 szálas HyperThread módban):
A legfontosabb különbségek az MDBX és az LMDB között:
Alapvetően nagyobb figyelmet fordítanak a kódminőségre, az API konzisztenciára, a tesztelésre és az automatikus ellenőrzésekre.
Lényegesen nagyobb kontroll az üzemeltetés során, a paraméterek ellenőrzésétől az adatbázis-struktúrák belső auditjáig.
Automatikus tömörítés és automatikus adatbázisméret-kezelés.
Egyetlen adatbázis-formátum 32 bites és 64 bites összeállításokhoz.
A minta mennyiségének becslése tartományok szerint (tartomány lekérdezés becslése).
Kétszer hosszabb kulcsok és a felhasználó által választható adatbázis-oldalméret támogatása.
Egy segédprogram az adatbázis-struktúra integritásának ellenőrzésére bizonyos helyreállítási képességekkel.
Fő újítások és fejlesztések után korábbi hírek a 0.5-ös verzió 2020 januári bevezetésével:
Nyílt rendszer jött létre a gyors támogatás és a kérdések megválaszolására. Távirat csoport.
Több mint egy tucat hibát és hiányosságot sikerült kiküszöbölni (lásd. változási napló).
Sok elírási és helyesírási hibát kijavítottak, és számos kozmetikai fejlesztést hajtottak végre.
Beépített dokumentáció Doxygen formátumban és automatikus generálás Online dokumentáció.
Az archívumok automatikus generálása az egyesített forrásszövegekkel biztosított.
Hozzáadott támogatás a tranzakciók és kurzorok előkészítéséhez, a tranzakciók felhasználói kontextusaihoz és a kurzorokhoz.
További módszerek kerültek bevezetésre a hivatkozási integritás szabályozására a B+fa MVCC pillanatképekben.
Támogatás hozzáadva az adatbázis MVCC-pillanatképének ellenőrzéséhez, amely bármely metaoldalon keresztül elérhető, és lehetőség van a helyreállításra váltani.
Bevezetett támogatás az adatbázis egy folyamatból történő újranyitásához tesztelési célokra stb.
Az MDBX_NOSUBDIR opció automatikus feldolgozása adatbázis megnyitásakor.
Hozzáadott funkciók egész kulcsok generálásához lebegőpontos értékekből és JavaScript „univerzális” számokból.
Összesen 430 módosítás történt 93 fájlt érintve, több mint 25 ezer sor került hozzáadásra, több mint 8.5 ezer sort töröltek.
A libmdbx későbbi fejlesztése a végső C++ API-ra, az alapkód további stabilizálására, a könyvtár használhatóságának javítására, valamint a népszerű Linux disztribúciók csomagolására összpontosít. A javasolt fejlesztések között érdemes megemlíteni a kulcsok támogatását a formátumban MessagePack.