De uitgave van de libmdbx-bibliotheek 0.13.10 (MDBX) is gepubliceerd, met de implementatie van een hoogpresterende, compacte embedded key-value database. De code van libmdbx wordt verspreid onder de Apache 2.0-licentie. Alle actuele besturingssystemen en architecturen worden ondersteund, evenals de Russische Elbrus 2000. Voor libmdbx is er een uitgebreide API voor C++, evenals ondersteunde bindingen voor de talen Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala, ontwikkeld door enthousiastelingen. Van de projecten die libmdbx gebruiken, kunnen Isar, Erigon en Reth worden genoemd, evenals de ontwikkelingen van de bedrijven StarkWare en Positive Technologies.
Historisch gezien is libmdbx een grondige herwerking van de LMDB database en overtreft het zijn voorganger op het gebied van betrouwbaarheid, mogelijkheden en prestaties. In vergelijking met LMDB wordt er in libmdbx veel aandacht besteed aan de kwaliteit van de code, de stabiele werking van de API, tests en automatische verificaties. Een tool voor het controleren van de integriteit van de database-structuur wordt meegeleverd met enkele herstelmogelijkheden. Technologisch biedt libmdbx ACID, strikte serialisatie van wijzigingen en niet-blokkerend lezen met lineaire schaalbaarheid over CPU-kernen. Automatische compressie, automatisch beheer van de databasegrootte en het inschatten van queryvolumes op basis van reeksen (range query estimation) worden ondersteund.
In december 2025 werd de hoofdrepository van het project verhuisd van GitFlic naar SourceCraft. Als reden worden klachten van niet-Russisch sprekende gebruikers en fouten in de Markdown-editor, die meer dan drie jaar onopgelost waren, gegeven. Ook werd gemeld dat de mirror van het project op Github was gesloten, maar later werd de repository hersteld met de uitleg dat dit was gedaan op verzoek van ontwikkelaars uit China en Braziliƫ, evenals van het platform Tempo dat libmdbx gebruikt.
Belangrijkste wijzigingen sinds het laatste nieuws van 1 augustus:
- Teruggebracht ondersteuning voor oude Linux-kernels, beginnend vanaf versie 3.16.
- Ondersteuning voor het mobiele besturingssysteem Harmony is verzekerd.
- Fout "MDBX_WANNA_RECOVERY" bij het openen van de database in alleen-lezen modus wordt nu geretourneerd als de grootte van de database niet een veelvoud is van de grootte van de systeempagina, maar de niet-voldoende middelgrote geheugenallocatie wordt genegeerd.
- De mogelijkheid om onverwachte "SIGBUS" te ontvangen door uitgestelde/lazy allocatie van ruimte door de OS-kernel in een volle bestandssysteem na het verhogen van het databasebestand is geƫlimineerd.
- Assert-controle in het pad voor het scannen van de bitmap DBI-descriptoren is verbeterd, wat leidde tot zeldzame crashes van 32-bits debugbuilds.
- Voor Android is een manoeuvre geĆÆmplementeerd die de kans op de systeemfout "EAGAIN" vermindert, die optreedt door een gebrek aan systeembronnen en overgangsprocessen bij het sluiten en snel opnieuw openen van de database.
- Voor Linux is een preventie van het optreden van een fout in de implementatie van fast_commit in het Ext4-bestandssysteem toegevoegd.
- Een tekortkoming in de automatische aanpassing van parameters bij het instellen van de geometrie met een opgegeven minimum pagina-grootte is verholpen, waardoor op machines met veel RAM de pagina-grootte kon toenemen.
- De implementatie van buffers is herzien en andere verbeteringen zijn aangebracht in de C++ API.
Daarnaast moet de aankondiging van het verslag "libmdbx: Roadmap, successen, doelen en obstakels" op het evenement Ethereum Day, dat op 23 december in Moskou zal plaatsvinden, worden vermeld.
Bron: opennet.ru
