Lëshimi i DBMS-së së integruar libmdbx 0.13.2

Lëshimi i libmdbx 0.13.2 (MDBX) është publikuar, duke zbatuar një bazë të dhënash me vlera kyçe të ngulitura kompakte me performancë të lartë. Kodi libmdbx shpërndahet nën licencën Apache 2.0. Mbështeten të gjitha sistemet operative dhe arkitekturat aktuale, si dhe rusishtja Elbrus 2000. libmdbx ofron një API të 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ë ripërpunim i thellë i LMDB DBMS dhe është superior ndaj paraardhësit të tij në besueshmërinë, grupin e veçorive dhe performancën. Krahasuar me LMDB, libmdbx i kushton shumë theks cilësisë së kodit, stabilitetit të API, testimit dhe kontrolleve të automatizuara. Ofrohet një mjet për kontrollimin e integritetit të strukturës së bazës së të dhënave me disa aftësi rikuperimi. Për sa i përket teknologjisë, libmdbx ofron ACID, serializimin e fortë të ndryshimeve dhe lexime pa bllokim me shkallëzim linear nëpër bërthamat e CPU. Mbështetet kompaktimi automatik, menaxhimi automatik i madhësisë së bazës së të dhënave dhe vlerësimi i pyetjeve të gamës.

Ndryshimet kryesore:

  • PĂ«rshpejtoni pĂ«rditĂ«simin e GC kur kthehen/vendosni listat e faqeve nĂ« skenarĂ« komplekse. Modaliteti i komenteve korrigjuese eksperimentale tĂ« çaktivizuar mĂ« parĂ« Ă«shtĂ« pĂ«rmirĂ«suar dhe aktivizuar. Kjo ka pĂ«rmirĂ«suar thelbĂ«sisht konvergjencĂ«n (reduktuar numrin e riprovave) dhe gjithashtu ka eliminuar njĂ« defekt qĂ« çon nĂ« "looping" gjatĂ« kryerjes sĂ« transaksioneve (me kthimin e gabimit MDBX_PROBLEM) nĂ« kushte tĂ« rralla specifike.
  • Skriptet e ndĂ«rtimit tĂ« CMake pĂ«rfshijnĂ« standardin C23.
  • U shtuan makro T pĂ«r funksionet e çiftuara char/wchar_t.
  • MbĂ«shtetje e shtuar pĂ«r transaksionet e shkrimit tĂ« mbivendosur nĂ« API tĂ« C++.
  • Ka pĂ«rfunduar kalimi nĂ« edicionin e dytĂ« tĂ« specifikimit tĂ« versionit semantik ("Versioni Semantik 2") dhe Ă«shtĂ« siguruar eksportimi i informacionit tĂ« versionit nĂ« VERSION.json.
  • PĂ«r riprodhueshmĂ«rinĂ« e ndĂ«rtimit, shtoi mbĂ«shtetje pĂ«r variablin e mjedisit SOURCE_DATE_EPOCH. MbĂ«shtetja MDBX_BUILD_TIMESTAMP ruhet dhe kjo variabĂ«l ka pĂ«rparĂ«si.
  • U shtua aftĂ«sia pĂ«r tĂ« specifikuar informacion shtesĂ« nĂ« lidhje me ndĂ«rtimin e libmdbx nĂ«pĂ«rmjet opsionit MDBX_BUILD_METADATA. Tani informacioni i specifikuar thjesht pĂ«rfshihet brenda bibliotekĂ«s si vlera mdbx_build.metadata, dhe nĂ« tĂ« ardhmen do tĂ« pĂ«rdoret gjithashtu gjatĂ« krijimit tĂ« paketave, etj.
  • Regjistrimi i shtuar i gabimeve tĂ« kthyera nga API. Tani, pĂ«r ta bĂ«rĂ« kĂ«tĂ«, mjafton tĂ« vendosni nivelin e regjistrimit MDBX_LOG_DEBUG (pĂ«r gabimet e regjistrimit minus MDBX_NOTFOUND) ose MDBX_LOG_TRACE (pĂ«r regjistrimin e tĂ« gjitha gabimeve, si dhe MDBX_RESULT_TRUE).
  • Ndryshimi i Sjelljes:
    • U shtua metoda mdbx::cursor::get_multiple_samelength() dhe u riemĂ«rua mdbx::txn::put_multiple_samelength().
    • PĂ«r konsistencĂ«n e API-sĂ« nĂ« C++, operacioni MDBX_GET_MULTIPLE tani kthen gjithashtu vlerĂ«n e vetĂ« çelĂ«sit.
    • PĂ«r konstantat e madhĂ«sisĂ« mdbx::env::gjeometri, lloji bazĂ« Ă«shtĂ« ndryshuar nga size_t i panĂ«nshkruar nĂ« intptr_t i nĂ«nshkruar.
    • Zgjedhja pĂ«r tĂ« pĂ«rdorur ntdll nĂ« vend tĂ« CRT bĂ«het tani vetĂ«m kur çaktivizon nĂ« mĂ«nyrĂ« tĂ« qartĂ« API-nĂ« C++.
    • Siguron qĂ« kujtesa e transaksioneve tĂ« leximit tĂ« ndĂ«rprera/tĂ« ndĂ«rprera tĂ« kaluara te mdbx_txn_commit() tĂ« lirohet. Konventa API kĂ«rkon qĂ« transaksione tĂ« tilla tĂ« lĂ«shohen duke pĂ«rdorur mdbx_txn_abort(), gjĂ« qĂ« bĂ«n qĂ« mdbx_txn_commit() tĂ« kthejĂ« njĂ« gabim nĂ« raste tĂ« tilla pa ndĂ«rprerĂ« vetĂ« transaksionet. Kjo rezultoi nĂ« rrjedhje tĂ« kujtesĂ«s pĂ«r shkak tĂ« gabimeve nĂ« aplikacione, duke shkaktuar ndryshime nĂ« sjellje.
    • PĂ«rdorimi i makros __deprecated_enum nĂ«se pĂ«rcaktohet.
    • Kur ndĂ«rtohet me CMake, standardi i gjuhĂ«s C tani zgjidhet bazuar nĂ« CMAKE_C_STANDARD.

Burimi: opennet.ru

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster