Rilascio del database integrato libmdbx 0.13.10

È stato pubblicato il rilascio della libreria libmdbx 0.13.10 (MDBX) con l'implementazione di un database integrato compatto e ad alte prestazioni di tipo chiave-valore. Il codice di libmdbx è distribuito sotto licenza Apache 2.0. Supporta tutti i principali sistemi operativi e architetture, oltre al russo Elbrus 2000. Per libmdbx è disponibile una API avanzata per C++, così come binding supportati da appassionati per i linguaggi Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala. Tra i progetti che utilizzano libmdbx si possono citare Isar, Erigon e Reth, oltre alle soluzioni delle aziende StarkWare e Positive Technologies.

Storicamente, libmdbx è un'evoluzione profonda del database LMDB e supera il suo predecessore in termini di affidabilità, funzionalità e prestazioni. Rispetto a LMDB, libmdbx pone una grande attenzione alla qualità del codice, alla stabilità dell'API, ai test e ai controlli automatici. È fornito uno strumento per il controllo dell'integrità della struttura del database con alcune funzionalità di ripristino. Tecnologicamente, libmdbx offre ACID, un'accurata serializzazione delle modifiche e letture non bloccanti con scalabilità lineare sui core della CPU. Supporta la compressione automatica, la gestione automatica delle dimensioni del database e la stima del volume delle query per intervallo.

Nel dicembre 2025, il repository principale del progetto è stato trasferito da GitFlic a SourceCraft. Le ragioni indicate includono lamentele da parte di utenti non di lingua russa e bug nell'editor Markdown, che non sono stati risolti per oltre tre anni. Sono stati anche segnalati problemi di chiusura dello specchio del progetto su GitHub, ma successivamente il repository è stato ripristinato con la spiegazione che ciò è avvenuto per richieste degli sviluppatori dalla Cina e dal Brasile, nonché dalla piattaforma Tempo che utilizza libmdbx.

Modifiche principali rispetto all'ultimo aggiornamento del 1 agosto:

  • Ripristinato il supporto per i nuclei Linux più vecchi, a partire dalla versione 3.16.
  • Aggiunto supporto per il sistema operativo mobile Harmony.
  • L'errore «MDBX_WANNA_RECOVERY» durante l'apertura del database in modalità sola lettura ora viene restituito se la dimensione del database non è un multiplo della dimensione della pagina di sistema, ma viene ignorata la non corrispondenza con la dimensione del blocco di memoria virtuale.
  • Risolto un problema che portava a un’inaspettata segnalazione di «SIGBUS» a causa dell'assegnazione ritardata/pigra da parte del kernel OS di spazio in un filesystem pieno dopo l'aumento del file del database.
  • Corretta una verifica assert nel percorso di scansione della mappa dei bit dei descrittori DBI che causava rari crash in build di debug a 32 bit.
  • Per Android implementato un manovra che riduce la probabilità di errore di sistema «EAGAIN», che si verifica a causa della mancanza di risorse di sistema e dei processi transitori durante la chiusura e la riapertura rapida del database.
  • Per Linux aggiunto un preventive per evitare l'emergere di errori nell'implementazione fast_commit del filesystem Ext4.
  • Corretto un difetto nell'autoadattamento dei parametri durante l'impostazione della geometria con una dimensione della pagina minima specificata, che causava un aumento della dimensione della pagina su macchine con una grande quantità di RAM.
  • Rielaborata l'implementazione dei buffer e apportate altre modifiche all'API C++.

Vale la pena menzionare l'annuncio della presentazione «libmdbx: Roadmap, successi, obiettivi e ostacoli» all'evento Ethereum Day, che si terrà il 23 dicembre a Mosca.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster