Lansarea bazei de date încorporate libmdbx 0.9.1

Lansată versiunea 0.9.1 a bibliotecii libmdbx (MDBX) cu implementarea unei baze de date încorporate de tip cheie-valoare, compactă și de înaltă performanță. Codul libmdbx este distribuit sub licența Licența Publică OpenLDAP.

Versiunea actuală reprezintă un compromis între intenția de a lansa o versiune stabilă pe termen lung 1.0 cu o suport complet pentru C++ și reticența de a întârzie lansările din cauza neîncheierii noii API C++. Această lansare este rezultatul a 9 luni de muncă dedicată stabilizării bibliotecii și îmbunătățirii utilizabilității acesteia, incluzând și o versiune preliminară API C++.

Biblioteca libmdbx nu este doar un „fork”, ci un descendent complet refăcut LMDB — un SGBD încorporat, tranzacțional, de tip „cheie-valoare”, bazat pe arborele B+ fără jurnalizarea anticipată, care permite proceselor multi-thread să funcționeze concurent și eficient cu o bază de date local partajată (nu de rețea), fără un proces de server dedicat. Libmdbx extinde în mod fundamental capacitățile strămoșului său, în același timp eliminând sau atenuând deficiențele. Potrivit dezvoltatorilor, libmdbx este puțin mai rapid și semnificativ mai fiabil decât LMDB. libmdbx oferă

, serializarea strictă a modificărilor și citirea non-blocantă cu scalare liniară pe nucleele CPU. Rezultatele testării performanței (trimiterea de cereri paralele de citire/căutare în 1-2-4-8 fire pe CPU i7-4600U cu 2 nuclee fizice în modul de 4 fire HyperThread): ACIDCele mai importante diferențe ale MDBX, în comparație cu LMDB:

Lansarea bazei de date încorporate libmdbx 0.9.1

Se acordă o atenție considerabil mai mare calității codului, „rezistenței” API-ului, testării și verificărilor automate.

  • Se oferă control considerabil mai mult în timpul funcționării, începând de la verificarea parametrilor și până la auditarea internă a structurilor bazei de date.
  • Compactarea automată și gestionarea automată a dimensiunii Bazei de Date.
  • Format unic de Baza de Date pentru build-uri de 32 și 64 de biți.
  • Estimarea volumului interogărilor pe intervale (range query estimation).
  • Suport pentru chei de două ori mai lungi și dimensiunea paginii bazei de date aleasă de utilizator.
  • Utilitar pentru verificarea integrității structurii bazei de date cu anumite funcții de recuperare.
  • Principalele noutăți și îmbunătățiri după

ultima știre cu prezentarea versiunii 0.5 în ianuarie 2020: Pentru suport operațional și răspunsuri la întrebări, a fost creat un forum deschis

  • Для оперативной поддержки и ответов на вопросы создана открытая grup în Telegram.
  • Au fost corectate mai mult de zece erori și greșeli (vezi. de schimbări.).
  • Au fost corectate multe greșeli de tipar și ortografice, multiple îmbunătățiri cosmetice.
  • Scenariile de testare au fost extinse.
  • A fost implementat suport pentru iOS, Android, buildroot, Musl, uClibc, WSL1 și Wine.
  • A fost prezentată o versiune preliminară a API-ului C++ în un singur fișier header.
  • Documentația integrată a fost formatată în Doxygen și generarea automată documentației online.
  • Am fost asigurată generarea automată a arhivelor cu coduri sursă amalgamate.
  • A fost adăugat suport pentru pregătirea tranzacțiilor și cursorilor, contexte personalizate pentru tranzacții și cursori.
  • Au fost implementate metode suplimentare de control al integrității referințelor în instantanee MVCC B+tree.
  • A fost adăugat suport pentru verificarea instantanei MVCC a DB, disponibilă prin orice pagină meta cu opțiunea de comutare pentru recuperare.
  • A fost implementat suport pentru redeschiderea DB dintr-un singur proces în scopuri de testare etc.
  • A fost implementată procesarea automată a opțiunii MDBX_NOSUBDIR la deschiderea DB.
  • Au fost adăugate funcții pentru generarea cheilor întregi din valori cu virgulă mobilă și numere „universale” JavaScript.
  • În total, au fost făcute 430 de modificări afectând 93 de fișiere, au fost adăugate peste 25.000 de linii, au fost șterse peste 8.500 de linii.

Dezvoltarea ulterioară a libmdbx se va concentra pe formarea finală a API-ului C++, stabilizarea continuă a codului de bază, îmbunătățirea utilizabilității bibliotecii, precum și formarea pachetelor pentru distribuțiile populare de Linux. Printre caracteristicile propuse se numără suportul pentru chei în format MessagePack.

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