libmdbx 0.10.4 kommer med forskjellige forbedringer og feilrettinger

Utgivelsen av versjon 0.10.4 biblioteker "Libmdbx" der totalt, over 160 endringer gjort til 57 filer, ~ 5000 linjer lagt til og ~ 2500 fjernet. For de som ikke er kjent med libmdbx, bør du vite at dette er et sett med biblioteker som er en implementering av en kompakt, høyytelses innebygd database av nøkkelverdi-klassen.

historisk libmdbx er en dyp omarbeidelse av LMDB DBMS og overgår forgjengeren i pålitelighet, funksjonssett og ytelse. Sammenlignet med LMDB legger libmdbx mye vekt på kodekvalitet, API -stabilitet, testing og automatiserte kontroller. Et verktøy for å bekrefte integriteten til databasestrukturen er utstyrt med noen gjenopprettingsalternativer.

Teknologisk, libmdbx tilbyr ACID, streng endringsserialisering og ikke-blokkerende lesninger med lineær skalering over kjernene av CPU. Støtter automatisk komprimering, automatisk databasestørrelseskontroll og estimering av rangering. Siden 2016 har prosjektene blitt finansiert av Positive Technologies og brukt i produktene deres siden 2017.

For libmdbx, en C ++ API tilbys, samt bindinger kompatible med Rust, Haskell, Python, NodeJS, Ruby, Go, Nim entusiaster. For libfpta er bare API -beskrivelsen i form av en C / C ++ - overskriftsfil offentlig tilgjengelig.

I tillegg til å støtte Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD og andre kompatible systemer POSIX.1-2008.

Nye hovedfunksjoner i libmdbx 0.10.4

I denne nye versjonen av libmdbx 0.10.4 utviklerne jobbet for å kunne tilby muligheten for spillbare bygninger, I tillegg har testing blitt forbedret og testskript er blitt utvidet for å kontrollere alle oppnåelige ikke-isomorfe tilstander for sidetreet og GC-innholdet i databasen.

I C ++ API -en fikset en gang "noexcept", lagt til ekstra overbelastning for "cursor :: erase ()" -metoden, implementering av buffere avlastes ved å bruke "std :: string" for å sikre justering (gjeldende for CLANG libstdc ++)

I tillegg er det også fremhevet at en faset verifikasjon ble utført med tillegg av en serie verifikasjoner for å sikre stabilitet ved bevisst skade på databasen.

På den annen side fremheves det at søket etter kompilatorkomponentene som er nødvendige for LTO (optimalisering av koblingstid) er forbedret i CMake -skriptene, i tillegg til at det maksimale antallet samtidige lesere har blitt økt til 32.767 XNUMX og også ytelsen har forbedret ved bruk av Valgrind og AddressSanitizer.

Angående feilrettinger som ble laget i denne nye versjonen, nevnes følgende:

  • Rettet en feil der det i svært sjeldne tilfeller kan oppstå en sløyfe / krasj under transaksjonen. Problemet ble identifisert av spesialister ved Positive Technologies under intern testing av egne produkter.
  • Fikset regresjon i skitten sidespillalgoritme (selektiv utkastelse av modifiserte databasesider) som manifesterer seg i sjelden uventet MDBX_PROBLEM -feil ved endring av data i store transaksjoner.
  • Mindre UndefinedBehaviorSanitizer og Coverity Scan -problemer løst.
    Fikket gammelt og ubrukt intern flagg sjekk "P_DIRTY" på sider nestet i databasebilder som er opprettet av gamle bibliotekversjoner.
  • Fiks rekursiv bruk av SRW-lås i Windows når du arbeider i MDBX_NOTLS-modus (uten bruk av trådlig lokal lagring), fast bootid-generasjon i tilfelle endring av systemtid, forbedret deteksjon av WSL1 og WSL2, la muligheten til å åpne en montert Plan 9-database ved hjelp av DrvFS.

Endelig hvis du er interessert i å vite mer om det om denne nye versjonen, kan du sjekke detaljene I den følgende lenken.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.