A beágyazott libmdbx 0.13.3 kiadása

Megjelent a libmdbx 0.13.3 (MDBX) könyvtár kiadása, amely egy nagy teljesítményű, kompakt beágyazott kulcs-érték adatbázist valósít meg. A libmdbx kódja Apache 2.0 licenc alatt terjeszthető. Támogatott minden aktuális operációs rendszer és architektúra, valamint az orosz Elbrus 2000. A libmdbx-hez fejlett API érhető el C++ nyelven, valamint támogatottak a lelkes közreműködők által létrehozott Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno és Scala nyelvi kötődései.

Történelmileg a libmdbx a LMDB adatbázis mélyreható újragondolása, amely megbízhatóságban, képességekben és teljesítményben 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 stabil működésére, a tesztelésre és az automatikus ellenőrzésekre. Egy adatbázis-struktúra integritásának ellenőrzésére szolgáló segédprogram is rendelkezésre áll, amely bizonyos helyreállítási lehetőségeket is biztosít. Technológiailag a libmdbx ACID, szigorú változás-sorozatolás és blokkolás nélküli olvasás támogatását nyújtja, lineáris skálázódással a CPU magok felett. A program automatikus tömörítése és az adatbázis méretének automatikus kezelése, valamint a tartományok szerinti lekérdezések becslésének lehetősége is biztosított.

Főbb változások:

  • A 0.13.x ág stabil státuszt kapott. Megkezdődött a 0.14.x ág fejlesztése.
  • A C API-hoz hozzáadódott az mdbx_cursor_count_ex() függvény, amely lehetővé teszi a jelenlegi kulcshoz tartozó többértékű elemek számának, valamint a tároló fa információinak lekérdezését, amely ezeket az értékeket tárolja.
  • A C++ API-hoz hozzáadódott a mdbx::txn::make_broken() metódus, amely megfelel a mdbx_txn_break() függvénynek.
  • A mdbx_copy, mdbx_drop, mdbx_dump, mdbx_load, mdbx_stat eszközökben megvalósításra került a libmdbx hibáinak, figyelmeztetéseinek és fontos üzeneteinek naplózása.
  • A viselkedés megváltozása:
    • A szemétgyűjtő profilozásának (MDBX_ENABLE_PROFGC=ON opcióval végzett build) engedélyezésekor most már számítják a CPU időt a lapok összefésülésére, vagyis a pnl_merge() függvény működésére.
    • A tesztelési eszközben az adatmód értéke átnevezésre került data.dups-ról data.multi-ra.
    • Módosítva lett a kulcs hosszának ellenőrzése a cursor_seek() belsejében.
    • Ha a mdbx_env_set_option(MDBX_opt_txn_dp_limit) segítségével a felhasználó nem ad meg konkrét értéket, akkor a dirty-pages-limit beállítása minden nem beágyazott írási tranzakció indításakor a rendelkezésre álló RAM és az adatbázis mérete alapján történik.
    • MDBX_NOSTICKYTHREADS módban engedélyezett a beágyazott tranzakciók commit/abortálása bármely szálból.
    • Beágyazott tranzakciók indításakor MDBX_WRITEMAP módban naplózás és MDBX_INCOMPATIBLE hibakód visszaadása történik.
    • A C++ API konstruktorai/kezdeti beállításai és a DB geometria megformálásához kapcsolódó metódusok alapértelmezés szerint csak alapértelmezett értékeket használnak.
    • A mdbx_env_set_geometry() belsejében finomították a felhasználó által „alapértelmezett” módon megadott DB geometriai paraméterek kiválasztására irányuló heurisztikákat.
  • Javítások:
    • Megszüntették a mutesz nem feloldásával kapcsolatos regressziót az dbi-leíró többszöri bezárásának megkísérlésekor, beleértve a kapcsolódó tábla törlése utáni közvetlen bezárás megkísérlését is.
    • Megszüntették a nested/dupsort kurzor állapotának regresszióját adatok MDBX_APPEND módban történő beszúrásakor.
    • A boot_id lekérdezésének támogatása LXC konténerben végzett munka során.
    • Kijavították a belső olvasási tranzakció indítási kísérleteinek helytelen kezelését. Most ilyen esetekben MDBX_EINVAL hiba tér vissza, mivel a beágyazottság csak írás-olvasás tranzakciók esetén támogatott.
    • Kijavították a SIGSEGV regressziót, amely a nullcímre történő hivatkozáskor jelentkezett, amikor csak olvasási módban dolgoztak LCK fájl használata nélkül, például ha az adatbázis csak olvasható médián helyezkedik el.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster