libmdbx 0.10.4 leveres med forskellige forbedringer og fejlrettelser

Frigivelsen af version 0.10.4 biblioteker "Libmdbx" hvori i alt over 160 ændringer foretaget til 57 filer, ~ 5000 linjer tilføjet og ~ 2500 fjernet. For dem, der ikke kender libmdbx, skal du vide, at dette er et sæt biblioteker, der er en implementering af en kompakt, højtydende integreret database af nøgleværdi-klassen.

Historisk set libmdbx er en dyb omarbejdning af LMDB DBMS og overgår sin forgænger i pålidelighed, funktionssæt og ydeevne. Sammenlignet med LMDB lægger libmdbx stor vægt på kodekvalitet, API -stabilitet, test og automatiserede kontroller. Et værktøj til at kontrollere integriteten af ​​databasestrukturen er forsynet med nogle gendannelsesmuligheder.

Teknologisk set libmdbx tilbyder ACID, streng ændringsserialisering og ikke-blokerende læsninger med lineær skalering på tværs af kernerne CPU. Understøtter automatisk komprimering, automatisk kontrol af databasestørrelse og estimering af rangforespørgsler. Siden 2016 har projekterne været finansieret af Positive Technologies og brugt i deres produkter siden 2017.

For libmdbx, der tilbydes en C ++ API, samt bindinger kompatible med Rust, Haskell, Python, NodeJS, Ruby, Go, Nim entusiaster. For libfpta er kun API -beskrivelsen i form af en C / C ++ - headerfil offentligt tilgængelig.

Udover at understøtte Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD og andre kompatible systemer POSIX.1-2008.

Vigtigste nye funktioner i libmdbx 0.10.4

I denne nye version af libmdbx 0.10.4 udviklerne arbejdede for at kunne give mulighed for spilbare builds, Derudover er testen blevet forbedret, og test scripts er blevet udvidet til at kontrollere alle opnåelige ikke-isomorfe tilstande for sidetræet og GC-indhold i databasen.

I C ++ API'en blev en gang "noexcept" rettet, tilføjet ekstra overbelastning til metoden "cursor :: erase ()", implementering af buffere lindres ved at bruge "std :: string" for at sikre tilpasning (aktuel for CLANG libstdc ++)

Derudover fremhæves det også en trinvis verifikation blev udført med tilføjelse af en række verifikationer for at sikre stabilitet i tilfælde af bevidst beskadigelse af databasen.

På den anden side fremhæves det, at søgningen efter de kompilatorkomponenter, der er nødvendige for LTO (optimering af linktid) er blevet forbedret i CMake -scripts, foruden at det maksimale antal samtidige læsere er blevet øget til 32.767, og også ydelsen har forbedret ved brug af Valgrind og AddressSanitizer.

Med hensyn til fejlrettelser der blev lavet i denne nye version, nævnes følgende:

  • Rettet en fejl, hvor der i meget sjældne tilfælde kunne forekomme en loop / crash under begåelse af en transaktion. Problemet blev identificeret af Positive Technologies -specialister under intern testning af deres egne produkter.
  • Rettet regression i beskidt sidespildsalgoritme (selektiv udsættelse af modificerede databasesider), der manifesterer sig i sjælden uventet MDBX_PROBLEM -fejl, når data ændres i store transaktioner.
  • Rettede mindre problemer med UndefinedBehaviorSanitizer og Coverity Scan.
    Rettede forældede og ubrugte interne flag tjek "P_DIRTY" på sider indlejret i databasebilleder oprettet af gamle bibliotekversioner.
  • Rettet rekursiv brug af SRW-lås i Windows, når der arbejdes i MDBX_NOTLS-tilstand (uden at bruge trådlig lokal opbevaring), fast bootid-generation i tilfælde af ændring af systemtid, forbedret registrering af WSL1 og WSL2, tilføjede muligheden for at åbne en monteret Plan 9-database vha. DrvFS.

Endelig hvis du er interesseret i at vide mere om det om denne nye version kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.