Meħlus verżjoni tal-librerija 0.9.1 libmdbx (MDBX) ta’ database ta’ valur ewlieni inkorporat u kompatt ta’ prestazzjoni għolja. Il-kodiċi libmdbx huwa mqassam taħt liċenzja Liċenzja Pubblika OpenLDAP.
Il-verżjoni attwali hija kompromess bejn l-intenzjoni li tiġi rilaxxata verżjoni stabbli fit-tul 1.0 b'appoġġ sħiħ ta 'C++ u r-riluttanza biex jittardjaw ir-rilaxxi minħabba nuqqas ta' tħejjija għall-iffriżar tal-API C++ il-ġdida. Ir-rilaxx ippreżentat huwa r-riżultat ta '9 xhur ta' xogħol immirat biex jistabbilizza l-librerija u jtejjeb l-użabilità tagħha, u jinkludi wkoll verżjoni preliminari C++ API.
Il-librerija libmdbx mhix biss "furketta", iżda dixxendent imfassal mill-ġdid b'mod radikali LMDB — DBMS inkorporat transazzjonali tal-klassi “key-value” ibbażata fuq siġra B+ mingħajr logging proattiv, li jippermetti proċessi multi-threaded jaħdmu b'mod kompetittiv u effiċjenti ma 'database kondiviża lokalment (mhux netwerk) mingħajr proċess server dedikat. libmdbx fundamentalment tespandi kapaċitajiet tal-antenat tiegħu, filwaqt li fl-istess ħin jelimina jew itaffu l-iżvantaġġi. Fl-istess ħin, skond l-iżviluppaturi, libmdbx huwa ftit aktar mgħaġġel u ferm aktar affidabbli minn LMDB.
libmdbx jissuġġerixxi ACID, serialization stretta ta 'bidliet u qari mhux imblukkar bi skalar lineari madwar cores CPU. Riżultati tal-ittestjar tal-prestazzjoni (li jintbagħtu talbiet paralleli ta' qari/tfittxija f'1-2-4-8 ħjut fuq CPU i7-4600U b'2 qlub fiżiċi fil-modalità HyperThread b'4 ħjut):
L-aktar differenzi importanti bejn MDBX u LMDB:
Fundamentalment, tingħata aktar attenzjoni lill-kwalità tal-kodiċi, il-konsistenza tal-API, l-ittestjar u l-kontrolli awtomatiċi.
Kontroll b'mod sinifikanti aktar waqt it-tħaddim, mill-iċċekkjar tal-parametri għall-verifika interna tal-istrutturi tad-database.
Kompatifikazzjoni awtomatika u ġestjoni awtomatika tad-daqs tad-database.
Format ta 'database wieħed għal assemblaġġi ta' 32-bit u 64-bit.
Stima tal-volumi tal-kampjuni b'meded (stima ta' mistoqsija tal-firxa).
Appoġġ għal ċwievet twil darbtejn u daqs tal-paġna tad-database li jista 'jagħżel mill-utent.
Utilità għall-iċċekkjar tal-integrità tal-istruttura tad-database b'xi kapaċitajiet ta 'rkupru.
Innovazzjonijiet ewlenin u titjib wara aħbarijiet preċedenti bl-introduzzjoni tal-verżjoni 0.5 f'Jannar 2020:
Inħolqot sistema miftuħa għal appoġġ fil-pront u tweġibiet għall-mistoqsijiet. Grupp Telegram.
Aktar minn tużżana żbalji u nuqqasijiet ġew eliminati (ara. reġistru tal-bidla).
Ġew irranġati ħafna typos u żbalji ortografiċi, u sar bosta titjib kożmetiku.
Dokumentazzjoni inkorporata fil-format Doxygen u ġenerazzjoni awtomatika Dokumentazzjoni onlajn.
Ġenerazzjoni awtomatika ta 'arkivji b'testi sors amalgamati hija pprovduta.
Appoġġ miżjud għall-preparazzjoni ta 'tranżazzjonijiet u cursors, kuntesti ta' utent għal tranżazzjonijiet u cursors.
Ġew implimentati metodi addizzjonali biex jikkontrollaw l-integrità referenzjali f'snapshots MVCC B + tree.
Appoġġ miżjud għall-iċċekkjar ta 'snapshot MVCC tad-database, aċċessibbli permezz ta' kwalunkwe paġna meta bil-kapaċità li taqleb għall-irkupru.
Appoġġ implimentat għall-ftuħ mill-ġdid tad-database minn proċess wieħed għal skopijiet ta 'ttestjar, eċċ.
Implimenta l-ipproċessar awtomatiku tal-għażla MDBX_NOSUBDIR meta tiftaħ database.
Funzjonijiet miżjuda għall-ġenerazzjoni ta’ ċwievet interi minn valuri ta’ punt li jvarja u numri “universali” ta’ JavaScript.
B'kollox, saru 430 bidla li affettwaw 93 fajl, ġew miżjuda aktar minn 25 elf linja, tħassru aktar minn 8.5 elf linja.
L-iżvilupp sussegwenti ta 'libmdbx se jiffoka fuq l-API C++ finali, aktar stabbilizzazzjoni tal-kodiċi bażi, it-titjib tal-użabilità tal-librerija, u l-ippakkjar għal distribuzzjonijiet Linux popolari. Fost it-titjib propost, ta 'min jinnota appoġġ għal ċwievet fil-format MessagePack.