Publication de la base de données embarquée libmdbx 0.13.10

La release de la bibliothèque libmdbx 0.13.10 (MDBX) a été publiée, offrant une base de données intégrée compacte et performante de type clé-valeur. Le code de libmdbx est distribué sous la licence Apache 2.0. Tous les systèmes d'exploitation et architectures modernes sont supportés, y compris le russe Elbrus 2000. Pour libmdbx, une API avancée pour C++ est proposée, ainsi que des liaisons prises en charge par des passionnés pour les langages Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno et Scala. Parmi les projets utilisant libmdbx, on peut citer Isar, Erigon et Reth, ainsi que les développements des entreprises StarkWare et Positive Technologies.

Historiquement, libmdbx est une refonte approfondie de la base de données LMDB et surpasse son prédécesseur en termes de fiabilité, de fonctionnalités et de performances. Comparé à LMDB, libmdbx accorde une grande attention à la qualité du code, à la stabilité de l'API, à la testabilité et aux vérifications automatiques. Un outil de vérification de l'intégrité de la structure de la base de données est également fourni, offrant certaines capacités de récupération. Techniquement, libmdbx propose ACID, une sérialisation stricte des changements et une lecture non bloquante avec un scalabilité linéaire sur les cœurs CPU. La compression automatique, la gestion automatique de la taille de la base de données et l'estimation de la taille des requêtes par intervalles (range query estimation) sont également prises en charge.

En décembre 2025, le principal dépôt du projet a été déplacé de GitFlic vers SourceCraft. Comme raison, des plaintes de non-russophones et des erreurs dans l'éditeur Markdown non corrigées depuis plus de trois ans ont été citées. Il a également été rapporté que le miroir du projet sur Github avait été fermé, mais le dépôt a été restauré par la suite, expliquant que cela avait été fait à la demande de développeurs de Chine et du Brésil, ainsi que de la plateforme Tempo utilisant libmdbx.

Principales modifications depuis la dernière nouvelle du 1er août :

  • La prise en charge des anciens noyaux Linux a été rétablie, à partir de la version 3.16.
  • La prise en charge du système d'exploitation mobile Harmony a été assurée.
  • L'erreur « MDBX_WANNA_RECOVERY » lors de l'ouverture de la base de données en mode lecture seule est désormais renvoyée si la taille de la base de données n'est pas un multiple de la taille de la page système, mais l'inexactitude par rapport à la taille du bloc de mémoire virtuelle est ignorée.
  • La possibilité de recevoir un « SIGBUS » inattendu due à une allocation différée/de paresse par le noyau OS de l'espace dans un système de fichiers plein après l'augmentation de la taille de la base de données a été supprimée.
  • Correction de la vérification assert dans le chemin de numérisation des bitmaps de descripteurs DBI, entraînant des plantages rares des versions de débogage 32 bits.
  • Pour Android, un manœuvre a été mis en œuvre pour réduire la probabilité d'erreur système 'EAGAIN', causée par un manque de ressources système et des processus transitoires lors de la fermeture et de la réouverture rapide de la base de données.
  • Pour Linux, prévention de l'apparition d'erreurs dans l'implémentation de la fonction fast_commit du système de fichiers Ext4.
  • Correction d'un défaut d'autoconfiguration des paramètres lors de l'installation de la géométrie avec une taille minimale de page spécifiée, ce qui provoquait une augmentation de la taille de la page sur les machines avec une grande quantité de RAM.
  • Refonte de la mise en œuvre des tampons et d'autres améliorations dans l'API C++.

Il convient également de noter l'annonce d'une présentation « libmdbx: Feuille de route, réussites, objectifs et obstacles » lors de l'événement Ethereum Day, qui aura lieu le 23 décembre à Moscou.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster