Lëshimi i sistemit të menaxhimit të të dhënave libmdbx 0.11.3 me performancë të lartë

ËshtĂ« publikuar biblioteka libmdbx 0.11.3 (MDBX) me implementimin e njĂ« databaze tĂ« integruar dhe me performancĂ« tĂ« lartĂ« nĂ« klasĂ«n çelĂ«s-vlerĂ«. Kodi i libmdbx distribuohet nĂ«n licencĂ«n OpenLDAP Public License. TĂ« gjitha sistemet operative dhe arkitekturave aktuale mbĂ«shteten, si dhe Elbrusi rus 2000. NĂ« fund tĂ« vitit 2021, libmdbx pĂ«rdoret si backend ruajtjeje nĂ« dy nga klientĂ«t mĂ« tĂ« shpejtĂ« tĂ« Ethereum — Erigon dhe

Historikisht, libmdbx është një ripërpunim i thellë i DBMS LMDB dhe e tejkalon paraardhësin e saj në besueshmëri, gamën e mundësive dhe performancën. Krahasuar me LMDB, libmdbx vendos një vëmendje të madhe te cilësia e kodit, funksionimi i qëndrueshëm i API-së, testimi dhe kontrollet automatike. Ofron një utilitar për kontrollin e integritetit të strukturës së DB me disa mundësi rikuperimi.

Teknologjikisht, libmdbx ofron ACID, serializim të rreptë të ndryshimeve dhe lexim jo-bllokues me përshkallëzim lineare sipas bërthamave të CPU. Mbështetet autokompaktifikimi, menaxhimi automatik i përmasave të DB, dhe vlerësimi i sasisë së zgjedhjeve sipas intervaleve (vlerësimi i zgjedhjes sipas intervaleve). Që nga viti 2016, projekti financohet nga kompanitë Positive Technologies dhe që nga viti 2017 përdoret në produktet e saj.

Për libmdbx ofrohet një API C++, si dhe lidhje të mbështetura nga entuziastët për gjuhët Rust, Haskell, Python, NodeJS, Ruby, Go, dhe Nim.

Novitetet kryesore, përmirësimet dhe rregullimet e shtuar pas njoftimit të mëparshëm më 11 tetor:

  • API C++ konsiderohet i gatshĂ«m pĂ«r pĂ«rdorim.
  • Rrjedhja e tĂ« dhĂ«nave GC Ă«shtĂ« pĂ«rshpejtuar ndjeshĂ«m gjatĂ« pĂ«rpunimit tĂ« transaksioneve masive, gjĂ« qĂ« Ă«shtĂ« veçanĂ«risht e rĂ«ndĂ«sishme kur pĂ«rdoret libmdbx nĂ« ekosistemin Ethereum.
  • NĂ«nshkrimi i brendshĂ«m i formatit tĂ« DB Ă«shtĂ« ndryshuar me mbĂ«shtetje pĂ«r azhurnimin automatik, i cili Ă«shtĂ« plotĂ«sisht transparent pĂ«r pĂ«rdoruesit. Kjo lejon pĂ«rjashtimin e njoftimeve false pĂ«r dĂ«mtimin e DB-sĂ«, kur versionet e vjetra tĂ« bibliotekĂ«s pĂ«rdoren pĂ«r leximin e transaksioneve tĂ« pĂ«rfunduara nga versionet aktuelle.
  • JanĂ« shtuar funksionet mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod(), dhe mdbx_env_get_syncbytes(). ËshtĂ« shtuar mbĂ«shtetje pĂ«r operacionin MDBX_SET_UPPERBOUND.
  • TĂ« gjitha paralajmĂ«rimet gjatĂ« ndĂ«rtimit me tĂ« gjitha kompilerĂ«t e mbĂ«shtetur janĂ« eliminuar nĂ« modet C++ 11/14/17/20. ËshtĂ« garantuar kompatibiliteti me kompilerĂ«t e vjetĂ«r: clang duke filluar nga 3.9, gcc duke filluar nga 4.8, pĂ«rfshirĂ« ndĂ«rtimin pĂ«rmes sdevtoolset-9 pĂ«r CentOS/RHEL 7.
  • ËshtĂ« eliminuar mundĂ«sia e konfliktit tĂ« meta-faqeve pas kalimit manual nĂ« njĂ« meta-faqe tĂ« caktuar duke pĂ«rdorur utilitarin mdbx_chk.
  • JanĂ« korrigjuar kthimet e gabimit tĂ« paparashikuar MDBX_PROBLEM gjatĂ« ripĂ«rsĂ«ritjes sĂ« meta-faqeve tĂ« vjetra.
  • Korrektuar kthimi MDBX_NOTFOUND nĂ« rast tĂ« njĂ« pĂ«rputhjeje tĂ« papĂ«rshtatshme gjatĂ« pĂ«rpunimit tĂ« kĂ«rkesĂ«s MDBX_GET_BOTH.
  • Rregulluar problemi i compilimit nĂ« Linux nĂ« mungesĂ« tĂ« skedave tĂ« titujve qĂ« pĂ«rshkruajnĂ« ndĂ«rfaqet me kernelin.
  • Korrektuar kolizionin midis flamurit tĂ« brendshĂ«m MDBX_SHRINK_ALLOWED dhe opsionit MDBX_ACCEDE.
  • Eliminuar disa kontrolle tĂ« tepĂ«rta assert.
  • Korrektuar kthimin e papritur MDBX_RESULT_TRUE nga funksioni mdbx_env_set_option().
  • NĂ« total janĂ« bĂ«rĂ« mĂ« shumĂ« se 90 ndryshime nĂ« 25 skedarĂ«, janĂ« shtuar ~1300 rreshta, janĂ« fshirĂ« ~600.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster