libmdbx 0.10.4 vjen me përmirësime të ndryshme dhe rregullime të gabimeve

Lirimin e versioni 0.10.4 bibliotekat "Libmdbx" në të cilën në total, mbi 160 ndryshime të bëra në 57 skedarë, lines 5000 rreshta të shtuar dhe 2500 removed të hequrMe Për ata që nuk janë të njohur me libmdbx, duhet të dini se kjo është një grup bibliotekash e cila është një zbatim i një baze të dhënash kompakte me performancë të lartë të klasës me vlerë kryesore.

historikisht, libmdbx është një ripërpunim i thellë i DBMS LMDB dhe tejkalon paraardhësin e tij në besueshmërinë, grupin e veçorive dhe performancën. Krahasuar me LMDB, libmdbx i kushton shumë rëndësi cilësisë së kodit, qëndrueshmërisë API, testimit dhe kontrolleve të automatizuara. Një mjet për të verifikuar integritetin e strukturës së bazës së të dhënave ofrohet me disa mundësi rikuperimi.

Teknologjikisht, libmdbx ofron ACID, serializim të ndryshimit të rreptë dhe lexime pa bllokim me shkallëzim linear nëpër bërthama CPU. Mbështet ngjeshjen automatike, kontrollin automatik të madhësisë së bazës së të dhënave dhe vlerësimin e pyetjeve të rangut. Që nga viti 2016, projektet janë financuar nga Positive Technologies dhe janë përdorur në produktet e tyre që nga viti 2017.

Për libmdbx, ofrohet një API C ++, si dhe lidhjet e pajtueshme me entuziastët Rust, Haskell, Python, NodeJS, Ruby, Go, Nim. Për libfpta, vetëm përshkrimi i API në formën e një skedari të kokës C / C ++ është i disponueshëm publikisht.

Përveç mbështetjes për Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD dhe sisteme të tjera të pajtueshme POSIX.1-2008.

Karakteristikat kryesore të reja të libmdbx 0.10.4

Në këtë version të ri të libmdbx 0.10.4 zhvilluesit punuan për të qenë në gjendje të sigurojnë aftësinë për ndërtime të luajtshme, Për më tepër, testimi është përmirësuar dhe skriptet e testit janë zgjeruar për të kontrolluar të gjitha gjendjet jo-izomorfe të arritshme të pemës së faqeve dhe përmbajtjen e GC brenda bazës së të dhënave.

Në API C ++ të fiksuar një herë "jo përjashtim", shtoi mbingarkesë shtesë për metodën "kursori :: fshij ()", zbatimi i tamponëve lehtësohet duke përdorur "std :: string" për të siguruar shtrirjen (aktuale për CLANG libstdc ++)

Përveç kësaj, theksohet gjithashtu se një verifikim me faza u krye me shtimin e një sërë verifikimesh për të siguruar stabilitet në rast të dëmtimit të qëllimshëm të bazës së të dhënave.

Nga ana tjetër, theksohet se kërkimi për përbërësit e përpiluesit të nevojshëm për LTO (optimizimi i kohës së lidhjes) është përmirësuar në skriptet CMake, përveç kësaj numri maksimal i lexuesve të njëkohshëm është rritur në 32.767 dhe gjithashtu performanca ka përmirësuar kur përdorni Valgrind dhe AddressSanitizer.

Lidhur me rregullimet e defekteve në kod që janë bërë në këtë version të ri, përmenden sa vijon:

  • Fiksoi një defekt ku, në rrethana shumë të rralla, një lak / përplasje mund të ndodhë gjatë kryerjes së një transaksioni. Problemi u identifikua nga specialistët në Positive Technologies gjatë testimit të brendshëm të produkteve të tyre.
  • Rregullimi i regresionit në algoritmin e derdhjes së faqeve të pista (dëbimi selektiv i faqeve të modifikuara të bazës së të dhënave) që shfaqet në gabim të rrallë të papritur të MDBX_PROBLEM kur ndryshoni të dhëna në transaksione të mëdha.
  • Fikse probleme të vogla UndefinedBehaviorSanitizer dhe Coverity Scan.
    Fiksuar flamurin e brendshëm të ndenjur dhe të papërdorur të kontrolluar "P_DIRTY" në faqet e vendosura brenda imazheve të bazës së të dhënave të krijuara nga versionet më të vjetra të bibliotekës.
  • Fiksimi i përdorimit rekursiv të bllokimit SRW në Windows kur punoni në modalitetin MDBX_NOTLS (pa përdorur ruajtje lokale të fijeve), gjenerim fiks bootid në rast të ndryshimit të kohës në sistem, zbulim i përmirësuar i WSL1 dhe WSL2, shtoi aftësinë për të hapur një bazë të dhënash të planit të montuar 9 duke përdorur DrvFS.

Më në fund nëse jeni të interesuar të dini më shumë për të në lidhje me këtë version të ri, mund të kontrolloni detajet Në lidhjen vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.