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

Libmdbx 0.11.3 (MDBX) u lancerua me njĂ« implementim tĂ« bazĂ«s sĂ« tĂ« dhĂ«nave tĂ« integruar me performancĂ« tĂ« lartĂ« dhe formĂ« kompakte, e cila punon nĂ« mĂ«nyrĂ«n e çelĂ«sit-vlerĂ«s. Kodi libmdbx shpĂ«rndahet nĂ«n licencĂ«n OpenLDAP Public License. MbĂ«shtetet nga tĂ« gjitha sistemet operative dhe arkitekturave aktuale, pĂ«rfshirĂ« edhe Elbrusin 2000 tĂ« RusisĂ«. NĂ« fund tĂ« vitit 2021, libmdbx pĂ«rdoret si backend pĂ«r ruajtje nĂ« dy klientĂ«t mĂ« tĂ« shpejtĂ« tĂ« Ethereum — Erigon dhe 'Akula', e cila, sipas informacioneve tĂ« disponueshme, Ă«shtĂ« klienti mĂ« i shpejtĂ« i Ethereum.

Historikisht, libmdbx është një ripunim i thellë i SGBD LMDB dhe e tejkalon paraardhësin e saj në besueshmërinë, setin e mundësive dhe performancën. Krahasuar me LMDB, libmdbx i kushton një vëmendje të madhe cilësisë së kodit, stabilitetit të API-t, testeve dhe kontrollit automatik. Ofrohet një utilitar për verifikimin e integritetit të strukturës së DB me disa mundësi rikuperimi.

Libmdbx ofron ACID, një serilizim të rreptë të ndryshimeve dhe lexim pa bllokim me shkallëzim linear sipas bërthamave të CPU-it. Mbështetet kompaktifikimi automatik, menaxhimi automatik i madhësisë së DB, dhe vlerësimi i volumit të mostrave sipas intervaleve (range query estimation). Që nga viti 2016, projekti financohet nga kompania 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, përmirësimet dhe rregullimet kryesore, të shtuar pas njoftimit të mëparshëm më 11 tetor:

  • API C++ konsiderohet i gatshĂ«m pĂ«r pĂ«rdorim.
  • PĂ«rditĂ«simi i tĂ« dhĂ«nave GC Ă«shtĂ« ndjeshĂ«m i pĂ«rshpejtuar gjatĂ« bllokimit tĂ« transaksioneve tĂ« mĂ«dha, çka Ă«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 pĂ«rditĂ«simin automatik, i cili Ă«shtĂ« plotĂ«sisht transparent pĂ«r pĂ«rdoruesit. Kjo mundĂ«son pĂ«rjashtimin e mesazheve tĂ« rreme pĂ«r dĂ«mtimin e DB, kur versione tĂ« vjetra tĂ« bibliotekĂ«s pĂ«rdoren pĂ«r tĂ« lexuar transaksionet e bllokuara nga versionet aktuale.
  • Shtohen funksionet mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() dhe mdbx_env_get_syncbytes(). Shtohet mbĂ«shtetje pĂ«r operacionin MDBX_SET_UPPERBOUND.
  • TĂ« gjitha paralajmĂ«rimet gjatĂ« ndĂ«rtimit janĂ« eliminuar pĂ«r tĂ« gjithĂ« kompjuterĂ«t e mbĂ«shtetur nĂ« modet C++ 11/14/17/20. Siguruar pĂ«rputhshmĂ«ria me kompjuterĂ« tĂ« vjetĂ«r: clang duke filluar nga 3.9, gcc duke filluar nga 4.8, duke pĂ«rfshirĂ« ndĂ«rtimin pĂ«rmes sdevtoolset-9 pĂ«r CentOS/RHEL 7.
  • Eliminohet mundĂ«sia e konfliktit tĂ« meta-faqeve pas kalimit manual nĂ« njĂ« meta-faqe tĂ« caktuar me ndihmĂ«n e utilitarit mdbx_chk.
  • Rregullohet kthimi i njĂ« gabimi tĂ« papritur MDBX_PROBLEM gjatĂ« ripĂ«rshkrimit tĂ« meta-faqeve tĂ« vjetra.
  • Korrigjohet kthimi MDBX_NOTFOUND nĂ« rast tĂ« pĂ«rputhjes tĂ« pasaktĂ« gjatĂ« pĂ«rpunimit tĂ« kĂ«rkesĂ«s MDBX_GET_BOTH.
  • Saktohet njĂ« gabim ndĂ«rtimi nĂ« Linux kur mungojnĂ« skedarĂ«t ndihmĂ«s me pĂ«rshkrime tĂ« ndĂ«rfaqeve tĂ« bĂ«rthamĂ«s.
  • Rregullohet konfliktin midis flamurit tĂ« brendshĂ«m MDBX_SHRINK_ALLOWED dhe opsionit MDBX_ACCEDE.
  • Eliminohen disa kontrollesh assert tĂ« panevojshme.
  • Korrigjohet kthimi i befasishĂ«m MDBX_RESULT_TRUE nga funksioni mdbx_env_set_option().
  • NĂ« total janĂ« bĂ«rĂ« mbi 90 ndryshime nĂ« 25 skedarĂ«, janĂ« shtuar ~1300 rreshta, janĂ« fshirĂ« ~600.

Burimi: opennet.ru

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