Lansarea SGBD încorporabile libmdbx 0.13.10

A fost publicată versiunea 0.13.10 a bibliotecii libmdbx (MDBX) cu implementarea unei baze de date încorporate, compactă și de înaltă performanță, de tip cheie-valoare. Codul libmdbx este distribuit sub licența Apache 2.0. Sunt acceptate toate sistemele de operare și arhitecturile actuale, precum și Elbrus 2000 din Rusia. Pentru libmdbx este oferit un API dezvoltat pentru C++, precum și legături acceptate de entuziaști pentru limbajele Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala. Printre proiectele care folosesc libmdbx se numără Isar, Erigon și Reth, precum și dezvoltările companiilor StarkWare și Positive Technologies.

Din punct de vedere istoric, libmdbx este o refacere profundă a sistemului de gestionare a bazelor de date LMDB și depășește predecesorul său în ceea ce privește fiabilitatea, funcționalitatea și performanța. Comparativ cu LMDB, libmdbx acordă o mare atenție calității codului, funcționării stabile a API-ului, testării și verificărilor automate. Este inclusă o utilitară de verificare a integrității structurii bazei de date, cu unele capacități de recuperare. Din punct de vedere tehnologic, libmdbx oferă ACID, serializare strictă a modificărilor și citire neblocat cu scalare liniară pe nuclee CPU. Suportă autoîngrijirea și gestionarea automată a dimensiunii bazei de date, estimarea volumului interogărilor pe intervale (range query estimation).

În decembrie 2025, principalul repository al proiectului a fost mutat de la GitFlic la SourceCraft. Motivul invocat sunt plângerile utilizatorilor non-rusi și erorile din editorul Markdown, care nu au fost rezolvate timp de mai bine de trei ani. S-a raportat, de asemenea, despre închiderea oglinzii proiectului pe Github, dar ulterior repository-ul a fost restabilit cu explicația că acest lucru a fost făcut la cererea dezvoltatorilor din China și Brazilia, precum și platformei Tempo care utilizează libmdbx.

Principalele schimbări de la ultima știre din 1 august:

  • A fost readusă suportul pentru kernel-uri vechi de Linux, începând cu versiunea 3.16.
  • S-a asigurat suportul pentru sistemul de operare mobil Harmony.
  • Eroarea „MDBX_WANNA_RECOVERY” atunci când se deschide o bază de date în modul de citire doar acum este returnată dacă dimensiunea bazei de date nu este un multiplu al dimensiunii paginii sistemului, dar este ignorată necorespunzătoritatea cu dimensiunea blocului de memorie virtuală alocată.
  • A fost eliminată posibilitatea de a primi un „SIGBUS” neașteptat din cauza alocării întârziate/leneșe de către kernel-ul OS a spațiului într-un sistem de fișiere plin după creșterea fișierului bazei de date.
  • A fost corectată verificarea assert în calea de scanare a hărții de biți a descriptorilor DBI, care provoca prăbușiri rare ale versiunilor de depanare pe 32 de biți.
  • Pentru Android a fost implementat un manevră care reduce probabilitatea de eroare sistemică „EAGAIN”, care apare din lipsa de resurse sistemice și procesele tranzitorii atunci când baza de date este închisă și redeschisă rapid.
  • Pentru Linux a fost adăugată prevenirea manifestării unei erori în implementarea fast_commit a sistemului de fișiere Ext4.
  • A fost corectată o neconformitate în ajustarea automată a parametrilor la setarea geometriei cu o dimensiune minimă a paginii specificată, din cauza căreia pe mașinile cu multă memorie RAM dimensiunea paginii putea crește.
  • A fost refăcută implementarea bufferelor și s-au adus alte îmbunătățiri în API-ul C++.

De asemenea, merită menționat anunțul raportului „libmdbx: Roadmap, realizări, obiective și obstacole” la evenimentul Ethereum Day, care va avea loc pe 23 decembrie la Moscova.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster