VĂ€ljaanne sisseehitatud andmebaasi libmdbx 0.13.2

Ilmus vĂ€lja libmdbx 0.13.2 (MDBX) teek, mis rakendab kĂ”rge jĂ”udlusega kompaktset sisseehitatavat vĂ”tme-vÀÀrtus andmebaasi. libmdbx kood on levitatav Apache 2.0 litsentsi alusel. Toetatakse kĂ”iki kaasaegseid operatsioonisĂŒsteeme ja arhitektuure, sealhulgas Venemaa Elbrus 2000. libmdbx jaoks on pakutud arenenud API C++-le ning toetatud huviliste raamistikke Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.

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:

  • GC vĂ€rskendust tippide/tagastamisel lehtede loendites keerukates stsenaariumides on kiirus suurenenud. Parandatud ja aktiveeritud eelnevalt vĂ€lja lĂŒlitatud katsetav tagasiside reĆŸiim. See parandas oluliselt kokkulangevust (vĂ€hendas ĂŒmberkatsete arvu) ning kĂ”rvaldati viga, mis viis „tsĂŒklisse” tehingute fikseerimisel (MDBX_PROBLEM viga) harvades spetsiifilistes tingimustes.
  • CMake'i ehitus skriptides on lisatud standard C23.
  • Lisatud on T-makro paari funktsioonide char/wchar_t jaoks.
  • C++ API-s on lisatud toetust pesastatud kirjutamise tehingutele.
  • Liigutud on teine ​​redaktsioon semantilise versioonikontseptsiooni spetsifikatsioonist (‘Semantic Versioning 2’) ja tagatud versiooni info eksportimine VERSION.json faili.
  • Kogude korduvuse tagamiseks on lisatud keskkonnamuutuja SOURCE_DATE_EPOCH tugi. MDBX_BUILD_TIMESTAMP tugi on sĂ€ilinud ja see muutujal on esikohal.
  • Lisatud on vĂ”imalus mÀÀrata lisainfot libmdbx kogumise kohta lĂ€bi valiku MDBX_BUILD_METADATA. See info lisatakse nĂŒĂŒd lihtsalt raamatukokku mdbx_build.metadata vÀÀrtusena ja hiljem kasutatakse seda ka pakettide koostamisel jne.
  • Lisatud on vigade logimine, mis tagastatakse API-st. NĂŒĂŒd piisab, kui mÀÀrata MDBX_LOG_DEBUG logimise tase (vigade logimiseks vĂ€lja arvatud MDBX_NOTFOUND) vĂ”i MDBX_LOG_TRACE (kĂ”igi vigade logimiseks, sealhulgas MDBX_RESULT_TRUE).
  • KĂ€itumise muutus:
    • Lisatud on meetod mdbx::cursor::get_multiple_samelength() ja renimeeritud on mdbx::txn::put_multiple_samelength().
    • C++ API ĂŒhtsuse tagamiseks tagastatakse MDBX_GET_MULTIPLE operatsiooni teostamisel nĂŒĂŒd ka vĂ”tme vÀÀrtus.
    • MÔÔtkonstantide mdbx::env::geometry baastĂŒĂŒp on muudetud ilma mĂ€rgita size_t tĂŒĂŒbi asemel mĂ€rgiliseks intptr_t-iks.
    • Valik ntdll kasutamiseks CRT asemel tehakse nĂŒĂŒd ainult siis, kui C++ API on selgesĂ”naliselt vĂ€ljalĂŒlitatud.
    • Tagatud on mĂ€luleke tagasi lĂŒkatud/katkestatud lugemistehingutelt, mis edastatakse mdbx_txn_commit(). API kokkulepe nĂ”uab, et sellised tehingud vabastataks mdbx_txn_abort() kaudu, mistĂ”ttu funktsioon mdbx_txn_commit() tagastab sellistel juhtudel vea, mitte ei hĂ€vita ise tehingut. See pĂ”hjustas mĂ€lulekkeid rakenduste vigade tĂ”ttu, mis sundis kĂ€itumist muutma.
    • Makro __deprecated_enum kasutamine, kui see on mÀÀratletud.
    • CMake'i kaudu ehitamisel valitakse C keele standard nĂŒĂŒd CMAKE_C_STANDARD arvestusega.

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