libmdbx 0.10.4 nāk ar dažādiem uzlabojumiem un kļūdu labojumiem

Izlaišana versija 0.10.4 bibliotēkas "Libmdbx" kurā kopumā, vairāk nekā 160 izmaiņas tika veiktas 57 failos, pievienotas ~ 5000 rindas un noņemtas ~ 2500. Tiem, kas nav pazīstami ar libmdbx, jums jāzina, ka šī ir bibliotēku kopa, kas ir kompaktas, augstas veiktspējas iegultās atslēgas vērtību klases datu bāzes ieviešana.

Vēsturiski libmdbx ir dziļa LMDB DBVS pārstrāde un uzticamības, funkciju kopuma un veiktspējas ziņā pārspēj savu priekšgājēju. Salīdzinot ar LMDB, libmdbx lielu uzsvaru liek uz koda kvalitāti, API stabilitāti, testēšanu un automatizētām pārbaudēm. Lietderība, lai pārbaudītu datu bāzes struktūras integritāti, ir aprīkota ar dažām atkopšanas iespējām.

Tehnoloģiski, libmdbx piedāvā ACID, stingru izmaiņu sērijveidu un nebloķējošus lasījumus ar lineāru mērogošanu visā kodolā no CPU. Atbalsta automātisku blīvēšanu, automātisku datubāzes lieluma kontroli un ranga vaicājuma novērtēšanu. Kopš 2016. gada projektus finansē "Positive Technologies" un to produktos izmanto kopš 2017. gada.

Libmdbx, tiek piedāvāta C ++ API, kā arī ar Rust, Haskell, Python, NodeJS, Ruby, Go, Nim entuziastiem savietojamas saites. Libfpta gadījumā publiski ir pieejams tikai API apraksts C / C ++ galvenes faila veidā.

Papildus Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD un citu saderīgu sistēmu atbalstam POSIX.1-2008.

Libmdbx galvenās jaunās iezīmes 0.10.4

Šajā jaunajā libmdbx versijā 0.10.4 izstrādātāji strādāja, lai varētu nodrošināt atskaņojamas būves, Turklāt testēšana ir uzlabota un testa skripti ir paplašināti, lai pārbaudītu visus sasniedzamos neizomorfos stāvokļus lapas kokā un GC saturu datu bāzē.

C ++ API, kas labota vienreiz “noexcept”, pievienota papildu pārslodze metodei "cursor :: erase ()", buferu ieviešana tiek atvieglota, izmantojot "std :: string", lai nodrošinātu izlīdzināšanu (pašreizējais CLANG libstdc ++)

Turklāt tas ir arī izcelts tika veikta pakāpeniska pārbaude, pievienojot virkni verifikāciju lai nodrošinātu stabilitāti datu bāzes tīšas bojāšanas gadījumā.

No otras puses, tiek uzsvērts, ka CMake skriptos ir uzlabota LTO (saites laika optimizācija) nepieciešamo kompilatora komponentu meklēšana, turklāt maksimālais vienlaicīgo lasītāju skaits ir palielināts līdz 32.767 XNUMX, kā arī veiktspēja uzlabota, izmantojot Valgrind un AddressSanitizer.

Attiecībā uz kļūdu labojumiem kas tika izveidoti šajā jaunajā versijā, ir minēti šādi:

  • Novērsta kļūda, kuras dēļ ļoti retos gadījumos darījuma veikšanas laikā var rasties cilpa / avārija. Problēmu konstatēja pozitīvo tehnoloģiju speciālisti, veicot savu produktu iekšējo pārbaudi.
  • Fiksēta regresija netīras lapas noplūdes algoritmā (selektīva modificētu datu bāzes lapu izlikšana), kas izpaužas kā reta neparedzēta MDBX_PROBLEM kļūda, mainot datus lielos darījumos.
  • Novērstas nelielas UndefinedBehaviorSanitizer un Coverity Scan problēmas.
    Fiksēta novecojusi un neizmantota iekšējā karoga pārbaude "P_DIRTY" lapās, kas ievietotas datubāzes attēlos, kas izveidoti ar vecām bibliotēkas versijām.
  • Fiksēta rekursīva SRW bloķēšanas izmantošana operētājsistēmā Windows, strādājot MDBX_NOTLS režīmā (neizmantojot lokālo pavedienu krātuvi), fiksēta sāknēšanas ģenerēšana sistēmas laika maiņas gadījumā, uzlabota WSL1 un WSL2 noteikšana, pievienota iespēja atvērt 9. plāna datubāzi, kas uzstādīta, izmantojot DrvFS.

Beidzot ja jūs interesē uzzināt vairāk par to par šo jauno versiju varat pārbaudīt informāciju Šajā saitē.


Raksta saturs atbilst mūsu principiem redakcijas ētika. Lai ziņotu par kļūdu, noklikšķiniet uz šeit.

Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta.

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.