A 0.10.4 verziójú könyvtárak "Libmdbx" amelyben összesen, több mint 160 változtatás történt 57 fájlon, ~ 5000 sor hozzáadása és ~ 2500 eltávolítása. Azok számára, akik nem ismerik a libmdbx-et, tudnia kell, hogy ez egy olyan könyvtárkészlet, amely a kulcsértékosztály kompakt, nagy teljesítményű beágyazott adatbázisának megvalósítása.
történelmileg, A libmdbx az LMDB DBMS mély átdolgozása és megbízhatóságában, szolgáltatáskészletében és teljesítményében felülmúlja elődjét. Az LMDB -hez képest a libmdbx nagy hangsúlyt fektet a kód minőségére, az API stabilitására, a tesztelésre és az automatizált ellenőrzésekre. Az adatbázis -szerkezet integritásának ellenőrzésére szolgáló segédprogram néhány helyreállítási lehetőséggel rendelkezik.
Technológiailag, A libmdbx ACID-t, szigorú változtatássorosítást és nem blokkoló olvasásokat kínál lineáris skálázással a magokban PROCESSZOR. Támogatja az automatikus tömörítést, az automatikus adatbázis méretvezérlést és a rangsor lekérdezés becslését. 2016 óta a projekteket a Positive Technologies finanszírozza, és 2017 óta használják termékeikben.
A libmdbx esetén C ++ API kínálkozik, valamint a Rust, Haskell, Python, NodeJS, Ruby, Go, Nim rajongókkal kompatibilis kötések. A libfpta esetében csak az API leírása C / C ++ fejléc fájl formájában nyilvánosan elérhető.
A Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD és más kompatibilis rendszerek támogatása mellett POSIX.1-2008.
A libmdbx fő újdonságai 0.10.4
A libmdbx új verziójában 0.10.4 a fejlesztők azon dolgoztak, hogy képesek legyenek játszható építésekre, Ezenkívül javították a tesztelést és kibővítették a tesztparancsokat, hogy ellenőrizzék az oldalfa összes elérhető nem izomorf állapotát és az adatbázisban található GC tartalmat.
A C ++ API -ban egyszer a "noexcept", extra túlterhelés a "kurzor :: törlés ()" módszerhez, a pufferek megvalósítását megkönnyíti az "std :: string" használatával az igazítás biztosítása (aktuális a CLANG libstdc ++ esetén)
Ezen kívül azt is kiemelik szakaszos ellenőrzést hajtottak végre, egy sor ellenőrzéssel a stabilitás biztosítása az adatbázis szándékos károsítása esetén.
Másrészt kiemeljük, hogy javult az LTO -hoz szükséges fordítókomponensek keresése (linkidő -optimalizálás) a CMake -szkriptekben, emellett az egyidejű olvasók maximális száma 32.767 XNUMX -re nőtt, és a teljesítmény is javult a Valgrind és a AddressSanitizer használatakor.
A hibajavításokat illetően amelyek ebben az új verzióban készültek, a következőket említik:
- Javítva egy hiba, ahol nagyon ritka esetekben hurok / összeomlás fordulhat elő egy tranzakció végrehajtása során. A problémát a Positive Technologies szakemberei azonosították saját termékeik belső tesztelése során.
- Rögzített regresszió a piszkos oldalszórási algoritmusban (a módosított adatbázis -oldalak szelektív kilakoltatása), amely ritka, váratlan MDBX_PROBLEM hibában nyilvánul meg, amikor nagy tranzakciók adatai módosulnak.
- Javítva kisebb UndefinedBehaviorSanitizer és Coverity Scan problémák.
Javítva az elavult és nem használt belső zászló "P_DIRTY" ellenőrzés a régi könyvtári verziók által létrehozott adatbázis -képekbe ágyazott oldalakon. - Az SRW-zár rögzített rekurzív használata a Windows rendszerben, amikor MDBX_NOTLS módban dolgozik (szál helyi tároló használata nélkül), rögzített rendszerindítási generáció rendszeridő-változás esetén, a WSL1 és a WSL2 jobb észlelése, hozzáadva a csatlakoztatott Plan 9 adatbázis megnyitásának lehetőségét DrvFS.
Végül ha érdekel, hogy többet tudjon meg róla erről az új verzióról ellenőrizheti a részleteket A következő linken.