Lëshimi i bazës së të dhënave të integruara libmdbx 0.13

ËshtĂ« publikuar botimi i bibliothekĂ«s libmdbx 0.13.1 (MDBX) me implementimin e njĂ« baze tĂ« dhĂ«nash tĂ« integruar tĂ« klasĂ«s çelĂ«s-vlerĂ« me performancĂ« tĂ« lartĂ«. Kodi libmdbx shpĂ«rndahet nĂ«n licencĂ«n Apache 2.0. PĂ«rkrahĂ«n tĂ« gjitha sistemet operative dhe arkitekturat aktuale, si dhe Elbrus 2000 nga Rusia. PĂ«r libmdbx ofrohet njĂ« API i zhvilluar pĂ«r C++, si dhe lidhje tĂ« mbĂ«shtetura nga entuziastĂ« pĂ«r gjuhĂ«t Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.

Historikisht, libmdbx është një rishikim i thellë i DBMS LMDB dhe tejkalon paraardhësin e tij në besueshmëri, gamën e mundësive dhe performancë. Në krahasim me LMDB, në libmdbx përkushtohet një vëmendje e madhe për cilësinë e kodit, funksionimin stabil të API, testimin dhe verifikimet automatike. Ofron një utilitar për verifikimin e integritetit të strukturës së DB me disa mundësi rikorrigjimi. Teknologjikisht, libmdbx ofron ACID, serializim të rreptë të ndryshimeve dhe lexim jo-bllokues me shkallëzim linear sipas bërthamave të CPU. Mbështetet kompaktifikimi automatik, menaxhimi automatik i madhësisë së DB-së, dhe vlerësimi i sasisë së mostrave sipas grupeve (range query estimation).

Ndryshimet kryesore:

  • Ndryshimi i licencĂ«s pĂ«r kodin nga OpenLDAP Public License nĂ« Apache 2.0.
  • Zgjerimi i API-sĂ« sĂ« kursoreve me operacione mĂ« tĂ« reja dhe tĂ« qarta pĂ«r pozicionimin sipas kushteve <, =, > pĂ«r tĂ« dyja çelĂ«sat dhe çiftet çelĂ«s-vlerĂ«. Funksionet e reja mdbx_cursor_unbind() dhe mdbx_txn_release_all_cursors() janĂ« shtuar pĂ«r menaxhim tĂ« fleksibĂ«l tĂ« kursoreve nĂ« skenarĂ«t e riutilizimit pĂ«r tĂ« reduktuar shpenzimet. Funksionet mdbx_cursor_scan() dhe mdbx_cursor_scan_from() pĂ«r skanimin e tabelave duke pĂ«rdorur predikat funksional dhe reduktimin e shpenzimeve tĂ« shoqĂ«ruara.
  • Ristrukturimi i kursoreve pĂ«r unifikimin e sjelljes, kod mĂ« tĂ« rregullt, dhe reduktimin e degĂ«zimeve dhe operacioneve tĂ« makinerisĂ«.
  • Transferimi i funksionalitetit tĂ« utilitarit mdbx_chk brenda bibliotekĂ«s nĂ« formĂ«n e funksionit mdbx_env_chk() pĂ«r kontrollin e integritetit tĂ« strukturĂ«s sĂ« DB, duke pĂ«rfshirĂ« logjikĂ«n e aplikacionit.
  • Opsioni MDBX_opt_gc_time_limit pĂ«r kontroll mĂ« fleksibĂ«l tĂ« kohĂ«s sĂ« shpenzuar pĂ«r gjetjen e sekuencave tĂ« fqinjĂ«sisĂ« sĂ« faqeve tĂ« lira nĂ« GC.
  • Reduktim tĂ« konsiderueshĂ«m tĂ« shpenzimeve pĂ«r nisjen e transaksioneve nĂ« skenarĂ«t me njĂ« numĂ«r tĂ« madh DBI-hendĂ«sh, falĂ« inicializimit tĂ« vonuar/pĂ«rgjumur tĂ« elementeve tĂ« tabelave ndihmĂ«se. PĂ«rfshirĂ«, mekanizmi i mbĂ«shtetjes sĂ« grupeve tĂ« hollĂ« tĂ« DBI-hendĂ«ve, i menaxhuar nga opsioni MDBX_ENABLE_DBI_SPARSE, i cili Ă«shtĂ« aktivizuar si parazgjedhje.
  • Reduktim tĂ« shpenzimeve pĂ«r hapjen e DBI-hendĂ«ve. PĂ«rfshirĂ«, mekanizmi i lĂ«shimit tĂ« vonuar dhe mbĂ«shtetjes sĂ« rrugĂ«s sĂ« shpejtĂ« pĂ«r hapjen pa pĂ«rdorimin e bllokimeve, i menaxhuar nga opsioni MDBX_ENABLE_DBI_LOCKFREE, i cili Ă«shtĂ« aktivizuar si parazgjedhje.
  • MbĂ«shtetje pĂ«r "parkimin" e transaksioneve tĂ« leximit me pĂ«rjashtimin e tyre pĂ«r riprodhimin e MVCC-momenteve tĂ« vjetra dhe parandalimin e problemeve qĂ« shkaktohen nga ndalimi i procesimit tĂ« mbeturinave. Mekanizmi i parkimit dhe pĂ«rjashtimit tĂ« transaksioneve tĂ« parkura Ă«shtĂ« si njĂ« shtesĂ«, ashtu edhe njĂ« alternativĂ« mĂ« tĂ« lehtĂ« pĂ«r pĂ«rdorim nĂ« krahasim me thirrjen Handle-Slow-Readers. PĂ«r lehtĂ«si, funksionet mdbx_txn_park() dhe mdbx_txn_unpark() kanĂ« argumetn shtesĂ« qĂ« lejojnĂ« kĂ«rkesĂ«n pĂ«r "shkĂ«rdhimin" automatik tĂ« transaksioneve tĂ« parkura dhe rinisjen e atyre tĂ« pĂ«rjashtuara. Opcione tĂ« pĂ«rkatshme -d dhe -p janĂ« shtuar nĂ« utilitarin mdbx_copy.
  • MbĂ«shtetje pĂ«r rivendosjen e njĂ« ambienti tĂ« hapur tĂ« punĂ«s me DB nĂ« njĂ« proces dytĂ«sor pas degĂ«zimit/ndarjes sĂ« procesit pĂ«rmes mdbx_env_resurrect_after_fork().
  • MbĂ«shtetje pĂ«r rinamingun e tabelave pĂ«rmes mdbx_dbi_rename() dhe mdbx_dbi_rename2(). Funksioni mdbx_enumerate_tables() Ă«shtĂ« shtuar pĂ«r tĂ« marrĂ« informacion rreth tabelave tĂ« emĂ«ruara nga pĂ«rdoruesit.
  • MĂ«nyra e funksionimit MDBX_NOSTICKYTHREADS nĂ« vend tĂ« MDBX_NOTLS pĂ«r tĂ« thjeshtĂ«suar integrimin me flokĂ«t e lehta/nitĂ« dhe pĂ«r multitasking me transaksionet sipas sistemeve operative.
  • PĂ«r identifikimin e DB Ă«shtĂ« shtuar UUID i disponueshĂ«m nĂ« fushĂ«n mi_dxbid tĂ« strukturĂ«s MDBX_envinfo, e cila Ă«shtĂ« marrĂ« pĂ«rmes mdbx_env_info_ex(). ËshtĂ« implementuar marrja e informacionit mbi DB pa e hapur atĂ« falĂ« mdbx_preopen_snapinfo().
  • MbĂ«shtetje pĂ«r funksionet e regjistrimit tĂ« thirrjeve pa funksionalitetin vprintf(), qĂ« e bĂ«n disi mĂ« tĂ« lehtĂ« pĂ«rdorimin e regjistrimit nĂ« lidhjet me gjuhĂ« tĂ« tjera programimi.
  • Shtimi nĂ« API tĂ« funksioneve mdbx_txn_copy2pathname() dhe mdbx_txn_copy2fd().
  • Ristrukturimi i kodit burimor me refaktorizim.
  • PĂ«rdorimi i termit "tabelĂ«" nĂ« vend tĂ« "subDb".
  • Deklarimi i opsioneve MDBX_COALESCE dhe MDBX_NOTLS si tĂ« vjetra. ZĂ«vendĂ«simi i opsionit tĂ« ndĂ«rtimit MDBX_USE_VALGRIND me opsionin e pranuar ENABLE_MEMCHECK.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster