libmdbx 0.10.4 přichází s různými vylepšeními a opravami chyb

Uvolnění knihovny verze 0.10.4 "Libmdbx" ve kterém celkem, bylo provedeno více než 160 změn u 57 souborů, přidáno ~ 5000 2500 řádků a ~ XNUMX XNUMX odstraněno. Pro ty, kteří neznají libmdbx, byste měli vědět, že se jedná o sadu knihoven, které jsou implementací kompaktní, vysoce výkonné integrované databáze třídy klíč-hodnota.

Historicky, libmdbx je hluboké přepracování LMDB DBMS a překonává svého předchůdce spolehlivostí, sadou funkcí a výkonem. Ve srovnání s LMDB libmdbx klade velký důraz na kvalitu kódu, stabilitu API, testování a automatické kontroly. Nástroj pro ověření integrity databázové struktury je vybaven některými možnostmi obnovy.

Technologicky, libmdbx nabízí ACID, serializaci striktních změn a neblokující čtení s lineárním škálováním napříč jádry CPU. Podporuje automatické zhutňování, automatické řízení velikosti databáze a odhad dotazů. Od roku 2016 jsou projekty financovány společností Positive Technologies a od roku 2017 se používají ve svých produktech.

Pro libmdbx, je nabízeno C ++ API, stejně jako vazby kompatibilní s nadšenci Rust, Haskell, Python, NodeJS, Ruby, Go, Nim. Pro libfpta je veřejně dostupný pouze popis API ve formě hlavičkového souboru C / C ++.

Kromě podpory systémů Linux, Windows, MacOS, Android, iOS, FreeBSD, DragonFly, Solaris, OpenSolaris, OpenIndiana, NetBSD, OpenBSD a dalších kompatibilních systémů POSIX.1-2008.

Hlavní nové funkce libmdbx 0.10.4

V této nové verzi libmdbx 0.10.4 vývojáři pracovali na tom, aby byli schopni poskytnout možnost hratelných sestavení, Kromě toho bylo vylepšeno testování a byly rozšířeny testovací skripty, které kontrolují všechny dosažitelné neizomorfní stavy stromu stránek a obsahu GC v databázi.

V C ++ API opraveno jednou „noexcept“, přidáno další přetížení pro metodu „cursor :: erase ()“, implementace vyrovnávacích pamětí je odlehčena použitím "std :: string" k zajištění zarovnání (aktuální pro CLANG libstdc ++)

Kromě toho je také zdůrazněno, že bylo provedeno fázové ověřování s přidáním řady ověřování k zajištění stability v případě záměrného poškození databáze.

Na druhé straně je zdůrazněno, že ve skriptech CMake bylo vylepšeno hledání komponent kompilátoru nezbytných pro LTO (optimalizace času propojení), kromě toho byl zvýšen maximální počet simultánních čteček na 32.767 XNUMX a také výkon vylepšeno při použití Valgrind a AddressSanitizer.

Opravy chyb které byly vytvořeny v této nové verzi, jsou zmíněny následující:

  • Opravená chyba, kdy ve velmi výjimečných případech mohlo dojít ke smyčce / havárii při provádění transakce. Problém zjistili specialisté z Positive Technologies při interním testování vlastních produktů.
  • Opravená regrese v algoritmu rozlití špinavých stránek (selektivní vystěhování upravených databázových stránek) projevující se vzácnou neočekávanou chybou MDBX_PROBLEM při změně dat ve velkých transakcích.
  • Opravené drobné problémy s UndefinedBehaviorSanitizer a Coverity Scan.
    Opravená zastaralá a nepoužívaná interní kontrola příznaků „P_DIRTY“ na stránkách vnořených do obrazů databáze vytvořených starými verzemi knihovny.
  • Opravené rekurzivní použití zámku SRW ve Windows při práci v režimu MDBX_NOTLS (bez použití místního úložiště vláken), opraveno generování bootidu v případě změny systémového času, vylepšená detekce WSL1 a WSL2, přidána možnost otevřít databázi Plan 9 připojenou pomocí DrvFS.

Konečně pokud máte zájem o tom vědět více o této nové verzi můžete zkontrolovat podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.