Publikimi i sistemit të menaxhimit të të dhënave të integruara libmdbx 0.13.2

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

Historikisht, libmdbx është një ripunim i thellë i DBMS LMDB dhe tejkalon paraardhësin e tij në besueshmëri, gamën e mundësive dhe performancën. Krahasuar me LMDB, libmdbx i kushton vëmendje të madhe cilësisë së kodit, qëndrueshmërisë së API, testimit dhe verifikimeve automatike. Ofron një mjet për verifikimin 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 shkallëzim linear sipas njësive CPU. Mbështetet auto-kompaktifikimi, menaxhimi automatik i madhësisë së DB, dhe vlerësimi i volumit të kërkesave në intervale (range query estimation).

Ndryshimet kryesore:

  • PĂ«rmirĂ«simi i GC Ă«shtĂ« pĂ«rshpejtuar gjatĂ« kthimit/jeshjes sĂ« listave tĂ« faqeve nĂ« skenarĂ« tĂ« ndĂ«rlikuar. ËshtĂ« pĂ«rmirĂ«suar dhe aktivizuar njĂ« regjim eksperimental korrigjues qĂ« ishte deaktivizuar mĂ« parĂ«. Kjo ka pĂ«rmirĂ«suar ndjeshĂ«m konvergjencĂ«n (ka reduktuar numrin e pĂ«rpjekjeve tĂ« pĂ«rsĂ«ritura) dhe gjithashtu ka eliminuar njĂ« defekt qĂ« shkakton 'ngĂ«rç' gjatĂ« konvertimit tĂ« transaksioneve (me kthim tĂ« gabimit MDBX_PROBLEM) nĂ« kushte tĂ« rralla specifike.
  • NĂ« skenaret e ndĂ«rtimit CMake Ă«shtĂ« pĂ«rfshirĂ« standardi C23.
  • T-makro janĂ« shtuar pĂ«r funksionet çift char/wchar_t.
  • NĂ« API-nĂ« C++ Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r transaksionet shkruese tĂ« shumta tĂ« ngjashme.
  • ËshtĂ« realizuar kalimi nĂ« edicionin e dytĂ« tĂ« specifikimit tĂ« versionimit semantik ('Semantic Versioning 2') dhe Ă«shtĂ« siguruar eksporti i informacionit rreth versionit nĂ« VERSION.json.
  • PĂ«r tĂ« siguruar riprodhueshmĂ«rinĂ« e ndĂ«rtimeve, Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r variablĂ«n e mjedisit SOURCE_DATE_EPOCH. MbĂ«shtetja pĂ«r MDBX_BUILD_TIMESTAMP Ă«shtĂ« ruajtur dhe kjo variablĂ« ka pĂ«rparĂ«si.
  • ËshtĂ« shtuar mundĂ«sia pĂ«r tĂ« specifikuar informacion tĂ« shtuar rreth ndĂ«rtimit tĂ« libmdbx nĂ«pĂ«rmjet opsionit MDBX_BUILD_METADATA. Tani informacioni i dhĂ«nĂ« thjesht pĂ«rfshihet brenda bibliotekĂ«s si vlera mdbx_build.metadata, dhe mĂ« vonĂ« do tĂ« pĂ«rdoret gjithashtu gjatĂ« formimit tĂ« paketave etj.
  • ËshtĂ« shtuar regjistrimi i gabimeve qĂ« kthehen nga API. Tani pĂ«r kĂ«tĂ« mjafton tĂ« caktoni nivelin e regjistrimit MDBX_LOG_DEBUG (pĂ«r regjistrimin e gabimeve pĂ«rveç MDBX_NOTFOUND) ose MDBX_LOG_TRACE (pĂ«r regjistrimin e tĂ« gjitha gabimeve, si dhe MDBX_RESULT_TRUE).
  • Ndryshimi i sjelljes:
    • Ështe shtuar metoda mdbx::cursor::get_multiple_samelength() dhe e renomihet mdbx::txn::put_multiple_samelength().
    • PĂ«r njĂ«trajtshmĂ«rinĂ« e API-sĂ« C++ gjatĂ« kryerjes sĂ« operacionit MDBX_GET_MULTIPLE tani gjithashtu kthehet vlera e vetĂ« çelĂ«sit.
    • PĂ«r konstantet dimensionale mdbx::env::geometry, tipi bazĂ« Ă«shtĂ« ndryshuar nga size_t pa shenjĂ« nĂ« intptr_t me shenjĂ«.
    • Zgjedhja pĂ«r pĂ«rdorimin e ntdll nĂ« vend tĂ« CRT tani bĂ«het vetĂ«m kur C++ API Ă«shtĂ« shprehimisht çaktivizuar.
    • Garantohet lirimi i memories nga transaksionet e leximit tĂ« anuluara / tĂ« ndĂ«rprera qĂ« dĂ«rgohen nĂ« mdbx_txn_commit(). MarrĂ«veshja e API kĂ«rkon qĂ« kĂ«to transaksione tĂ« lirohen nĂ«pĂ«rmjet mdbx_txn_abort(), duke shkaktuar qĂ« funksioni mdbx_txn_commit() tĂ« kthejĂ« njĂ« gabim nĂ« kĂ«to raste, pa shkatĂ«rruar vetĂ« transaksionet. Kjo çoi nĂ« rrjedhje memories pĂ«r shkak tĂ« gabimeve nĂ« aplikacione, qĂ« nxitĂ«n ndryshimin e sjelljes.
    • PĂ«rdorimi i makros __deprecated_enum, nĂ«se Ă«shtĂ« i pĂ«rcaktuar.
    • GjatĂ« ndĂ«rtimit pĂ«rmes CMake, zgjedhja e standardit tĂ« gjuhĂ«s C tani bĂ«het nĂ« pĂ«rputhje me CMAKE_C_STANDARD.

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