libmdbx 0.13.6 kaasatud andmebaasi väljaanne

Avaldatud on libmdbx 0.13.6 (MDBX) teek, mis rakendab jõudluselt kõrge ja kompaktse võtme-väärtuse andmebaasi. libmdbx kood on litsentseeritud Apache 2.0 alusel. Toetatakse kõiki nüüdisaegseid operatsioonisüsteeme ja arhitektuure, sealhulgas Venemaa Elbrus 2000. libmdbx pakub arenenud API-d C++-le ning entusiastide loodud sidemed Rusti, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala keelele. Projekti, mis kasutavad libmdbx, hulka kuuluvad Isar, Erigon ja Reth, samuti ettevõtete StarkWare ja Positive Technologies arendused.

Ajalooliselt on libmdbx sügavalt ümber töötatud LMDB andmebaas ja ületab oma eelkäijat usaldusväärsuse, funktsioonide komplekti ja jõudluse poolest. Kõrval LMDB-ga pööratakse libmdbx-is suurt tähelepanu koodi kvaliteedile, API stabiilsele tööle, testimisele ja automaatsetele kontrollidele. Pakutakse andmebaasi struktuuri terviklikkuse kontrollimise tööriista koos mõningate taastumise võimalustega. Tehniliselt pakub libmdbx ACID-i, range muudatuste serialiseerimist ja blokeerimata lugemist, mis skaleerub lineaarsetes arvutijõududes. Toetatakse automaatset tihendamist, andmebaasi suuruse automaatset haldamist ja valikute suuruse hinnangut vahemike kaupa.

Peamised muudatused:

  • Käitumise muutmine: Kui kursori vabastamine pärast praegust tehingut ei ole võimalik, tagastab funktsioon mdbx_cursor_bind() nüüd MDBX_EINVAL asemel MDBX_BAD_TXN.
  • Potentsiaalsete probleemide vältimiseks on eemaldatud copy_file_range() kasutamine Linuxi tuumades 5.3 — 5.18.
  • std::invalid_argument visatakse nüüd selge sõnumiga MDBX_EINVAL.
  • Kursori kasutamisega seotud regress DBI=0 (aka GC/FreeDB) lugemis tehingutes on kõrvaldatud.
  • Regress EAGAIN tõrke vormis DB kopeerimisel NFS-i ja CIFS/SMB-l on kõrvaldatud.
  • API täiustamisel ja arendamisel on kopeerimisfunktsiooni juurde lisatud failide lukustuse haaramine nii fcntl() kui ka flock() kaudu. See siiski võib sõltuvalt kohaliku tuuma versioonist, kaugjuurdepääsu NFS-st ja montaaživalikutest põhjustada POSIX-iga seotud EAGAIN (11 enamikul platvormidel, sealhulgas Linuxis) tagastamist. serverilt Parandatud on viga merge/rebase'is mdbx_txn_release_all_cursors_ex() sees, mis võis tuua kaasa ootamatud MDBX_EBADSIGN vead ja mälu lekkeid.
  • Sisenevate tehingute lõpetamise teel on parandusassert kontrollitud.
  • Ootamatute MDBX_BUSY vigade tagastamine mdbx_txn_lock(dont_wait=false) on kõrvaldatud.
  • GCC 15.x ühilduvuse tagamiseks C23 režiimis on funktsioonide atribuutide määramise järjekorda muudetud.
  • Avaldatud on libmdbx 0.13.6 (MDBX) teek, mis rakendab jõudluselt kõrge ja kompaktse võtme-väärtuse andmebaasi. libmdbx kood on litsentseeritud Apache 2.0 alusel.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster