libmdbx 0.10.4 dolazi s raznim poboljšanjima i ispravkama grešaka

Izdanje verzija 0.10.4 biblioteke "libmdbx" u kojoj ukupno, 160+ izmjena je napravljeno na 57 fajlova, ~5000 linija dodano i ~2500 uklonjeno. Za one koji ne znaju za libmdbx, trebali biste znati da je ovo skup biblioteka koje su implementacija kompaktne, integrirane baze podataka visokih performansi klase ključ/vrijednost.

Istorijski, libmdbx je duboka prerada LMDB DBMS-a i nadmašuje svog prethodnika po pouzdanosti, skupu karakteristika i performansama. U poređenju sa LMDB, libmdbx stavlja veliki naglasak na kvalitet koda, stabilnost API-ja, automatizovano testiranje i provere. Osiguran je uslužni program za provjeru integriteta strukture baze podataka s nekim opcijama oporavka.

tehnološki, libmdbx nudi ACID, striktnu serijalizaciju promjena i neblokirajuće čitanje s linearnim skaliranjem preko jezgara CPU-a. Podržava automatsko sabijanje, automatsku kontrolu veličine baze podataka i procjenu upita raspona. Od 2016. godine projekti su finansirani od strane Positive Technologies i koriste se u svojim proizvodima od 2017. godine.

Za libmdbx, nudi se C++ API, kao i veze kompatibilne sa Rust, Haskell, Python, NodeJS, Ruby, Go, Nim entuzijastima. Za libfpta, samo opis API-ja u obliku C/C++ datoteke zaglavlja je javno dostupan.

Pored podrške za Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD i druge podržane sisteme POSIX.1-2008.

Glavne nove mogućnosti libmdbx 0.10.4

U ovoj novoj verziji libmdbx 0.10.4 Programeri su radili na tome da pruže mogućnost za reproducibilne gradnje, Pored toga, poboljšano je testiranje i proširene su testne skripte kako bi se provjerila sva ostvariva ne-izomorfna stanja stabla stranica i GC sadržaja unutar baze podataka.

U C++ API-ju popravljenom jednom "noexcept", Dodato dodatno preopterećenje za metodu “cursor::erase()”, implementacija bafera je ublažena korištenjem "std::string" kako bi se osiguralo poravnanje (trenutno za CLANG libstdc++)

Pored toga, takođe je istaknuto da Provedena je fazna verifikacija uz dodatak serije verifikacija kako bi se osigurala stabilnost u slučaju namjernog oštećenja baze podataka.

S druge strane, ističe se da je potraga za komponentama kompajlera neophodnim za LTO (optimizacija vremena povezivanja) poboljšana u CMake skriptama, pored toga što je maksimalni broj istovremenih čitača povećan na 32.767 i poboljšane performanse pri korištenju Valgrind i AddressSanitizer.

Što se tiče ispravki grešaka koji su napravljeni u ovoj novoj verziji, spominju se sljedeće:

  • Ispravljena greška u kojoj, u vrlo rijetkim okolnostima, može doći do petlje/pada tokom urezivanja transakcije. Problem su identifikovali stručnjaci Positive Technologies tokom internog testiranja sopstvenih proizvoda.
  • Ispravljena regresija u algoritmu izlijevanja prljave stranice (selektivno izbacivanje modificiranih stranica baze podataka) koja se manifestira u rijetkoj neočekivanoj grešci MDBX_PROBLEM pri promjeni podataka u velikim transakcijama.
  • Popravljeni manji problemi UndefinedBehaviorSanitizer i Coverity Scan.
    Popravljena provjera zastarjele i nekorištene interne zastavice “P_DIRTY” na stranicama ugniježđenim unutar slika baze podataka kreiranih od strane starih verzija biblioteke.
  • Ispravljena rekurzivna upotreba SRW-zaključavanja na Windows-u kada se radi u MDBX_NOTLS modu (bez korištenja thread-local memorije), popravljeno pokretanje pokretanja prilikom promjene vremena sistema, poboljšana detekcija WSL1 i WSL2, dodana mogućnost otvaranja baze podataka Plan 9 montirane pomoću DrvFS-a .

Konačno ako ste zainteresirani da saznate više o tome o ovoj novoj verziji možete provjeriti detalje Na sledećem linku.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.