versioni 0.9.1 i librarisë (MDBX) me implementimin e një baze të dhënash të integruar me performancë të lartë dhe kompakte në klasën çelës-vlerë. Kodi libmdbx shpërndahet nën licencën .
Versioni aktual është një kompromis mes intentionit për të lëshuar një version të qëndrueshëm afatgjatë 1.0 me mbështetje të plotë për C++ dhe dëshirës për të mos vonuar lëshimet për shkak të paqartësive në lidhje me ngrirjen e API-së së re C++. Ky lëshim është rezultati i 9 muajve punë të drejtuar për stabilizimin e bibliotekës dhe rritjen e lehtësisë së përdorimit të saj, si dhe përfshin një version paraprak .
Biblioteka libmdbx nuk Ă«shtĂ« thjesht njĂ« "fork", por njĂ« pasardhĂ«s i risosur thellĂ«sisht â njĂ« DBMS tĂ« integruar nĂ« transaksion nĂ« klasĂ«n çelĂ«s-vlerĂ«, e bazuar nĂ« pa , e cila lejon procese shumĂ«fishe tĂ« punojnĂ« nĂ« mĂ«nyrĂ« efektive dhe konkurruese me njĂ« BD tĂ« ndarĂ« lokalisht (jo rrjet) pa njĂ« proces serveri tĂ« dedikuar. Libmdbx thekson mundĂ«sitĂ« e paraardhĂ«sit tĂ« saj, duke nxjerrĂ« gjithashtu, ose zbutur disavantazhet. NĂ« kĂ«tĂ« mĂ«nyrĂ«, sipas besimit tĂ« zhvilluesve, libmdbx Ă«shtĂ« pak mĂ« i shpejtĂ« dhe ndjeshĂ«m mĂ« i besueshĂ«m se LMDB.
libmdbx ofron , serilizimi të rreptë të ndryshimeve dhe leximi jo-bllokues me shkallëzim linear sipas katrorëve CPU. Rezultatet e testimeve të performancës (dërgimi i kërkesave paralele për lexim/kerkim në 1-2-4-8 ferma në CPU i7-4600U me 2 bërthama fizike në modin 4-threads HyperThread):
Dallimet më të rëndësishme të MDBX në krahasim me LMDB:
- MĂ« shumĂ« vĂ«mendje i kushtohet cilĂ«sisĂ« sĂ« kodit, âpa rĂ«nieâ API, testimit dhe kontrollit automatike.
- Kontrolli është dukshëm më i madh gjatë punës, duke filluar nga verifikimi i parametrave deri te auditimi i brendshëm i strukturave të bazës së të dhënave.
- Kompaktifikimi automatik dhe menaxhimi automatik i madhësisë së DB.
- Formati i vetëm i DB për përmbledhjet 32-bit dhe 64-bit.
- Vlerësimi i volumit të mostrave sipas intervaleve (vlerësimi i pyetjeve në interval).
- Mbështetje për çelësat me gjatësi dyfish më të madhe dhe madhësinë e faqes së DB të zgjedhur nga përdoruesi.
- Utiliti për kontrolle të integritetit të strukturës së DB me disa mundësi rikuperimi.
Novitetet kryesore dhe përmirësimet pas me prezantimin e versions 0.5 në janar 2020:
- Për mbështetje të menjëhershme dhe përgjigje për pyetje, është krijuar një grup i hapur .
- Janë eliminuar më shumë se njëzet gabime dhe papërsosmëri (shih. ).
- Janë korrigjuar shumë gabime shkronjash dhe drejtshkrimi, përmirësime të shumta estetike.
- Janë zgjeruar skenarët e testeve.
- është realizuar mbështetje për iOS, Android, , , , dhe .
- është prezantuar një version i parazgjedhur i API C++ në .
- Dokumentacioni i integruar është formatuar në Doxygen dhe gjenerimi automatik .
- Sigurohet formimi automatik i arkivave me tekste burimore të amalgamuara.
- Shtohet mbështetje për përgatitjen e transaksioneve dhe kursoreve, konteksteve përdoruesish për transaksione dhe kursore.
- Implementohen metoda të tjera për kontrollin e integritetit referencial në snapshot-et MVCC të B+tree.
- Shtohet mbështetje për verifikimin e snapshot-it MVCC të DB, i disponueshëm përmes çdo faqeje meta me mundësi kalimi për rikuperim.
- Implementohet mbështetje për rihapjen e DB nga një proces për qëllime testimi etj.
- Implementohet përpunimi automatik i opsionit MDBX_NOSUBDIR gjatë hapjes së DB.
- Shtohen funksione për formimin e çelësave të plota nga vlerat me pikë fluturuese dhe numrat "universal" të JavaScript-it.
- Në total janë bërë 430 ndryshime që prekin 93 skedarë, janë shtuar më shumë se 25 mijë rreshta, më shumë se 8.5 mijë rreshta janë fshirë.
Zhvillimi i mëtejshëm i libmdbx do të përqendrohet në formimin e API-së përfundimtare C++, stabilizimin e kodit bazë, përmirësimin e përdorshmërisë së bibliotekës, si dhe përgatitjen e paketave për distribucione të njohura Linux. Nga përmirësimet e propozuara, vlen të theksohet mbështetje për çelësat në formatin .
Burimi: opennet.ru
