Lëshimi i bazës së të dhënave të integruar libmdbx 0.13.6

ËshtĂ« publikuar njĂ« version i bibliotekĂ«s libmdbx 0.13.6 (MDBX) me implementimin e njĂ« baze tĂ« dhĂ«nash kompakte tĂ« integruar me performancĂ« tĂ« lartĂ« klasĂ« çelĂ«s-vlerĂ«. Kodi libmdbx shpĂ«rndahet nĂ«n licencĂ«n Apache 2.0. PĂ«rkrahjen e plotĂ« e kanĂ« tĂ« gjitha sistemet operative dhe arkitekturĂ«n aktuale, pĂ«rfshirĂ« Elbrus 2000 tĂ« RusisĂ«. PĂ«r libmdbx ofrohet njĂ« API e zhvilluar pĂ«r C++, pĂ«rveç lidhjeve tĂ« mbĂ«shtetur nga entuziastĂ«t pĂ«r gjuhĂ«t Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala. Nga projektet qĂ« pĂ«rdorin libmdbx, mund tĂ« pĂ«rmenden Isar, Erigon dhe Reth, si dhe zhvillimet e kompanive StarkWare dhe Positive Technologies.

Historikisht, libmdbx është një ripunim i thellë i bazës së të dhënave LMDB dhe e tejkalon paraardhësin e saj në besueshmëri, funksionalitete dhe performancë. Krahasuar me LMDB, në libmdbx i është kushtuar shumë vëmendje cilësisë së kodit, qëndrueshmërisë së API, testimit dhe kontrolleve automatike. Sigurohet një mjet për të verifikuar integritetin e strukturës së bazës së të dhënave me disa mundësi rikuperimi. Teknologjikisht, libmdbx ofron ACID, serilizim të rreptë të ndryshimeve dhe lexim të pakonkurrueshëm me shkallëzim linear sipas bërthamave të CPU. Mbështetet kompaktimi automatik, menaxhimi automatik i madhësisë së bazës së të dhënave, dhe vlerësimi i shumësive të zgjedhura sipas intervaleve (range query estimation).

Ndryshimet kryesore:

  • Ndryshimi i sjelljes: Kur nuk Ă«shtĂ« e mundur tĂ« shkĂ«putet kursori nga transaksioni i tij aktual, funksioni mdbx_cursor_bind() tani kthen MDBX_EINVAL nĂ« vend tĂ« MDBX_BAD_TXN.
  • PĂ«r tĂ« shmangur probleme tĂ« mundshme, pĂ«rdorimi i copy_file_range() Ă«shtĂ« çaktivizuar nĂ« kernelĂ«t Linux 5.3 — 5.18.
  • Throw std::invalid_argument tani bĂ«het me njĂ« mesazh tĂ« qartĂ« MDBX_EINVAL.
  • Regresioni gjatĂ« pĂ«rdorimit tĂ« kursorĂ«ve pĂ«r DBI=0 (aka GC/FreeDB) nĂ« transaksionet lexuese Ă«shtĂ« eliminuar.
  • Regresioni qĂ« shkaktonte gabimin EAGAIN gjatĂ« kopjimit tĂ« DB-sĂ« nĂ« NFS dhe CIFS/SMB Ă«shtĂ« eliminuar.
  • NĂ« pĂ«rmirĂ«simet/zhvillimin e API, funksioni i kopjimit ka pasur tĂ« shtuar mbajtjen e bllokimit tĂ« skedarĂ«ve pĂ«rmes si fcntl(), ashtu edhe flock(). MegjithatĂ«, nĂ« varĂ«si tĂ« versionit tĂ« kernelit lokal, versionit tĂ« largĂ«t serverĂ« NFS dhe opsioneve tĂ« montimit, kjo mund tĂ« shkaktonte kthimin e gabimit POSIX EAGAIN (11 nĂ« shumicĂ«n e platformave, pĂ«rfshirĂ« Linux).
  • Gabimi merge/rebase brenda mdbx_txn_release_all_cursors_ex() qĂ« mund tĂ« shkaktonte mĂ« pas gabime tĂ« papritura MDBX_EBADSIGN dhe rrjedhjen e memories Ă«shtĂ« rregulluar.
  • Kontrolli assert nĂ« rrugĂ«n e pĂ«rfundimit tĂ« transaksioneve tĂ« thella Ă«shtĂ« rregulluar.
  • PĂ«rjashtimi i mundĂ«sisĂ« qĂ« tĂ« kthehet njĂ« gabim tĂ« papritur MDBX_BUSY nga mdbx_txn_lock(dont_wait=false) Ă«shtĂ« eliminuar.
  • PĂ«r qĂ«llime pajtueshmĂ«rie me GCC 15.x nĂ« modin C23, ka ndryshuar rendi i specifikimit tĂ« atributeve tĂ« funksioneve.

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