VĂ€ljaande sisseehitatud andmebaasi libmdbx 0.13.3

Avaldatud teekide libmdbx 0.13.3 (MDBX) vĂ€ljaanne, mis sisaldab kĂ”rgtehnoloogilise kompaktselt sisseehitatud vĂ”tme-vÀÀrtuse andmebaasi. Libmdbx'i kood on levitatud Apache 2.0 litsentsi alusel. Toetatud on kĂ”ik kaasaegsed operatsioonisĂŒsteemid ja arhitektuurid, sealhulgas Venemaa Elbrus 2000. Libmdbx pakub arenenud API-d C++ jaoks ning toetatud on entusiastide loodud sidemed Rusti, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno ja Scala keeltega.

Ajalooliselt on libmdbx sĂŒgavalt ĂŒmber töödelud andmebaas LMDB-st ning ĂŒletab oma eelkĂ€ijat usaldusvÀÀrsuse, vĂ”imaluste ja jĂ”udluse poolest. LMDB-ga vĂ”rreldes on libmdbx-is suurt tĂ€helepanu pööratud koodi kvaliteedile, API stabiilsele toimimisele, testimisele ja automaatsetele kontrollidele. Saadaval on andmebaasi struktuuri terviklikkuse kontrollimise utiliit mĂ”ningate taastamisvĂ”imalustega. Tehnoloogiliselt pakub libmdbx ACID-i, ranget muudatuste seeriat ja mittetakistavat lugemist, millel on lineaarne skaleerimine CPU tuumade vahel. Toetatud on automaatne kompaktimine, andmebaasi suuruse automaatne haldamine ning vahemike pĂ”hjal tehtud valimite hindamine.

Peamised muudatused:

  • Versioon 0.13.x saavutab stabiilse staatuse. Alanud on 0.14.x haru arendamine.
  • C API-sse on lisatud funktsioon mdbx_cursor_count_ex(), mis lubab saada nii vastava praeguse vĂ”tme mitme vÀÀrtuse arvu kui ka teavet sisemiste puude kohta, mis neid vÀÀrtusi salvestavad.
  • C++ API-s on lisatud meetod mdbx::txn::make_broken(), mis on sarnane mdbx_txn_break()-le.
  • Utiliitides mdbx_copy, mdbx_drop, mdbx_dump, mdbx_load, mdbx_stat on realiseeritud vigade, hoiatusete ja olulisete sĂ”numite logimine libmdbx-ist.
  • KĂ€itumise muutus:
    • Kui prĂŒgikogumise profiliseerimine on sisse lĂŒlitatud (kompresseerimine valikuga MDBX_ENABLE_PROFGC=ON), loetakse nĂŒĂŒd CPU aja kulud lehtede loendite ĂŒhendamiseks, s.t. funktsiooni pnl_merge() töötamiseks.
    • Testimise utiliidis on andmemudeli reĆŸiimi nimetus muudetud data.dups-ilt data.multi-ks.
    • Kursori otsingu sees on tĂ€iustatud vĂ”tme pikkuse kontrolli.
    • Kui kasutaja ei mÀÀra mdbx_env_set_option(MDBX_opt_txn_dp_limit) kaudu oma vÀÀrtust, siis kohandatakse dirty-pages-limit-i iga mitte-embedditud kirjutava tehingu kĂ€ivitamisel, lĂ€htuvalt saadaval olevast RAM-ist ja andmebaasi suurusest.
    • MDBX_NOSTICKYTHREADS reĆŸiimis lubatakse sisemiste tehingute commit/abort mistahes lĂ”imes/töötlevas seadmes.
    • Katses, et proovite alustada sisemisi tehinguid MDBX_WRITEMAP reĆŸiimis, logitakse ja tagastatakse MDBX_INCOMPATIBLE viga.
    • C++ API-s kasutatakse konstruktorites / initsialiseerijates ja meetodites, mis on seotud andmebaasi geomeetria loomisega, vaikimisi ainult default-vÀÀrtusi.
    • mdbx_env_set_geometry() sees on tĂ€iustatud heuristikad, et leida kasutaja poolt nĂ”utud andmebaasi geomeetria vaikeparameetreid.
  • Parandused:
    • Parandatud regressor, mis takistab muteksist vabastamise katset, kui proovitakse uuesti sulgeda dbi-deskriptorit, sealhulgas siis, kui ĂŒritatakse deskriptorit selgelt sulgeda pĂ€rast seotud tabeli kustutamist.
    • Parandatud olukord, kus sisemised / duplikaatkursorite seisund pĂ€rast andmete sisestamist MDBX_APPEND-reĆŸiimis ei taastunud Ă”igesti.
    • Toetatakse boot_id saamist LXC-konteineris töötamisel.
    • Parandatud viga sisemiste lugemis-tehingute kĂ€ivitamise vale töötlemise osas. NĂŒĂŒd tagastatakse sellistes olukordades MDBX_EINVAL viga, kuna pesakonna tohi toetada ainult lugemise-salvestamise tehinguid.
    • Parandatud SIGSEGV regress, mis tekitab nullaadressile juurdepÀÀsu kasutades ainult lugemisreĆŸiime, nĂ€iteks andmebaasi paigutamisel ainult kirjutuskaitstud meediasse.

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