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

Izdanje knjižnice verzije 0.10.4 "Libmdbx" u kojem ukupno, napravljeno je više od 160 promjena u 57 datoteka, dodano ~ 5000 redaka i uklonjeno ~ 2500. Za one koji nisu upoznati s libmdbx, trebali biste znati da je ovo skup knjižnica koje su implementacija kompaktne, ugrađene baze podataka visokih performansi klase ključ-vrijednost.

povijesno gledano, libmdbx je duboka prerada LMDB DBMS -a i nadmašuje prethodnika po pouzdanosti, skupu značajki i performansama. U usporedbi s LMDB -om, libmdbx stavlja veliki naglasak na kvalitetu koda, stabilnost API -ja, testiranje i automatizirane provjere. Uslužni program za provjeru integriteta strukture baze podataka opremljen je nekim opcijama oporavka.

Tehnološki, libmdbx nudi ACID, serializaciju strogih promjena i čitanja bez blokiranja s linearnim skaliranjem po jezgrama CPU -a. Podržava automatsko sabijanje, automatsku kontrolu veličine baze podataka i procjenu upita o rangiranju. Od 2016. godine projekti su financirani od strane Pozitivnih tehnologija i koriste se u svojim proizvodima od 2017. godine.

Za libmdbx, ponuđen je C ++ API, kao i povezi kompatibilni s entuzijastima Rust, Haskell, Python, NodeJS, Ruby, Go, Nim. Za libfpta, samo je opis API -ja u obliku datoteke zaglavlja C / C ++ javno dostupan.

Osim što podržavaju Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD i druge kompatibilne sustave POSIX.1-2008.

Glavne nove značajke libmdbx 0.10.4

U ovoj novoj verziji libmdbx 0.10.4 programeri su radili na tome da omoguće reprodukciju nadogradnji, Osim toga, testiranje je poboljšano i testne skripte su proširene kako bi se provjerila sva dostižna neisomorfna stanja stabla stranica i GC sadržaja u bazi podataka.

U C ++ API -ju ispravljeno jednom "noexcept", dodano dodatno preopterećenje za metodu "cursor :: erase ()", implementacija međuspremnika olakšava se upotrebom "std :: string" kako bi se osiguralo poravnanje (trenutno za CLANG libstdc ++)

Osim toga, također je istaknuto da provedena je postupna provjera uz dodatak niza provjera kako bi se osigurala stabilnost u slučaju namjernog oštećenja baze podataka.

S druge strane, naglašeno je da je potraga za komponentama prevoditelja potrebnim za LTO (optimizacija vremena povezivanja) poboljšana u CMake skriptama, uz to što je maksimalan broj istodobnih čitača povećan na 32.767 XNUMX, a performanse su povećane poboljšano pri korištenju Valgrind i AddressSanitizer.

U vezi s ispravcima programskih pogrešaka koji su napravljeni u ovoj novoj verziji, spominju se sljedeće:

  • Ispravljena je greška u kojoj je, u vrlo rijetkim okolnostima, moglo doći do petlje / rušenja tijekom izvršavanja transakcije. Problem su identificirali stručnjaci Positive Technologies tijekom internog testiranja vlastitih proizvoda.
  • Fiksna regresija u algoritmu izlijevanja prljavih stranica (selektivno iseljavanje izmijenjenih stranica baze podataka) koja se očituje u rijetkim neočekivanim greškama MDBX_PROBLEM pri promjeni podataka u velikim transakcijama.
  • Riješeni su manji problemi sa UndefinedBehaviorSanitizer i Scanity Scan.
    Ispravljena zastarjela i nekorištena provjera interne zastavice "P_DIRTY" na stranicama ugniježđenim unutar slika baze podataka stvorenih starim verzijama knjižnice.
  • Popravljena rekurzivna upotreba SRW-zaključavanja u sustavu Windows pri radu u načinu rada MDBX_NOTLS (bez korištenja lokalne pohrane niti), fiksna generacija pokretanja u slučaju promjene vremena sustava, poboljšano otkrivanje WSL1 i WSL2, dodana mogućnost otvaranja baze podataka Plan 9 montirane pomoću DrvFS.

Konačno ako vas zanima više o tome o ovoj novoj verziji možete provjeriti pojedinosti U sljedećem linku.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.