libmdbx 0.10.4 kommer med olika förbättringar och buggfixar

Släppet av version 0.10.4 bibliotek "Libmdbx" där totalt, över 160 ändringar gjorda i 57 filer, ~ 5000 rader tillagda och ~ 2500 borttagna. För dem som inte är bekanta med libmdbx bör du veta att detta är en uppsättning bibliotek som är en implementering av en kompakt, högpresterande inbäddad databas av nyckelvärdeklassen.

historiskt libmdbx är en djup omarbetning av LMDB DBMS och överträffar sin föregångare vad gäller tillförlitlighet, funktionsuppsättning och prestanda. Jämfört med LMDB lägger libmdbx stor vikt vid kodkvalitet, API -stabilitet, testning och automatiska kontroller. Ett verktyg för att verifiera databasstrukturens integritet har några återställningsalternativ.

Tekniskt sett libmdbx erbjuder ACID, strikt förändringsserialisering och icke-blockerande läsningar med linjär skalning över kärnorna av CPU: n. Stöder automatisk komprimering, automatisk databasstorlekskontroll och uppskattning av rankfrågor. Sedan 2016 har projekten finansierats av Positive Technologies och använts i deras produkter sedan 2017.

För libmdbx, ett C ++ - API erbjuds, samt bindningar kompatibla med Rust, Haskell, Python, NodeJS, Ruby, Go, Nim entusiaster. För libfpta är endast API -beskrivningen i form av en C / C ++ - huvudfil tillgänglig för allmänheten.

Förutom att stödja Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD och andra kompatibla system POSIX.1-2008.

De viktigaste nya funktionerna i libmdbx 0.10.4

I denna nya version av libmdbx 0.10.4 utvecklarna arbetade för att kunna tillhandahålla möjligheten för spelbara byggnader, Dessutom har testningen förbättrats och testskript har utökats för att kontrollera alla icke-isomorfa tillstånd i sidträdet och GC-innehåll i databasen.

I C ++ - API: t fixades en gång "noexcept", lagt till extra överbelastning för "markör :: radera ()" -metod, implementering av buffertar avlastas genom att använda "std :: string" för att säkerställa inriktning (aktuell för CLANG libstdc ++)

Dessutom markeras det också en stegvis verifiering utfördes med tillägg av en serie verifieringar för att säkerställa stabilitet vid avsiktlig skada på databasen.

Å andra sidan lyfts det fram att sökningen efter kompilatorkomponenterna som är nödvändiga för LTO (optimering av länktider) har förbättrats i CMake -skripten, förutom att det maximala antalet samtidiga läsare har ökats till 32.767 och även prestanda har förbättras när du använder Valgrind och AddressSanitizer.

När det gäller buggfixar som gjordes i denna nya version nämns följande:

  • Åtgärdade ett fel där det i mycket sällsynta fall kunde uppstå en loop / krasch under transaktionen. Problemet identifierades av specialister på Positive Technologies under intern testning av sina egna produkter.
  • Fixad regression i smutsig sidspillalgoritm (selektiv avhysning av modifierade databassidor) som manifesterar sig i sällsynt oväntat MDBX_PROBLEM -fel när data ändras i stora transaktioner.
  • Minor UndefinedBehaviorSanitizer och Coverity Scan -problem har åtgärdats.
    Fixade inaktuella och oanvända interna flaggkontroll "P_DIRTY" på sidor kapslade i databasbilder skapade av gamla biblioteksversioner.
  • Fixad rekursiv användning av SRW-lås i Windows vid arbete i MDBX_NOTLS-läge (utan att använda trådlokal lagring), fast bootidgenerering vid systemtidsförändring, förbättrad upptäckt av WSL1 och WSL2, lagt till möjligheten att öppna en monterad Plan 9-databas med DrvFS.

Slutligen om du är intresserad av att veta mer om det om den här nya versionen kan du kontrollera detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.