Korkeatoimisen sisseehitatud andmebaasi libmdbx 0.11.3 väljaandmine

Ilmus libmdbx 0.11.3 (MDBX) teekond, mis sisaldab kõrge jõudlusega kompaktset võtme-väärtuse sisseehitatud andmebaasi. libmdbx-i kood on jagatud OpenLDAP Public License'i litsentsi all. Toetatakse kõiki aktuaalseid operatsioonisüsteeme ja arhitektuure, sealhulgas Venemaa Elbrus 2000. Aasta lõpu seisuga 2021 kasutatakse libmdbx-i kahe kõige kiirema Ethereum'i kliendi — Erigon ja uue "Ahvena", mis on saadud teabe kohaselt kõige jõudsam Ethereum'i klient — andmebaasi tagajana.

Ajalooliselt on libmdbx sügavalt ümber töötatud LMDB andmebaasi ja ületab oma esivanemat usaldusväärsuse, võimaluste ja jõudluse poolest. Erinevalt LMDB-st on libmdbx-is suurt tähelepanu pööratud koodikvaliteedile, API stabiilsele tööle, testimisele ja automaatsetele kontrollidele. Kinnitatud andmebaasi struktuuri kontrollimise utiliit koos mõningate taastamisvõimalustega.

Tehnoloogiliselt pakub libmdbx ACID-i, ranget muudatuste serialiseerimist ja mitteblokkeerivat lugemist, mis skaleerub lineaarsete keskprotsessorite kärudega. Toetatakse automaatset kompaktimist, automaatset andmebaasi suuruse haldamist ja vahemike päringute hindamist.

libmdbx-ile on saadaval C++ API ja entusiastide poolt toetatud sidemed keeltele nagu Rust, Haskell, Python, NodeJS, Ruby, Go ja Nim.

Peamised uuendused, täiustused ja parandused, mis on lisatud pärast eelmist uudist 11. oktoobrist:

  • C++ API-t peetakse kasutamiseks valmis.
  • Andmete GC uuendamine on märgatavalt kiirenenenud suurte tehingute fikseerimise korral, mis on eriti oluline libmdbx-i kasutamisel Ethereum'i ökosüsteemis.
  • Andmebaasi vormingu sisemine signatuur on muudetud automaatse uuendamise toetamiseks, mis on kasutajate jaoks täiesti läbipaistev. See välistab valepositiivsed teated andmebaasi rikutuse kohta, kui vanemad versioonid raamatukogust loevad tehinguid, mille on fikseerinud ajakohased versioonid.
  • Lisatud funktsioonid mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() ja mdbx_env_get_syncbytes(). Lisatud tugi operatsioonile MDBX_SET_UPPERBOUND.
  • Eemaldatud kõik hoiatuseks sõnumid, mis tekkisid kõikide toetatud kompilaatoritega C++ 11/14/17/20 režiimides. Tagatud ühilduvus vanemate kompilaatoritega: clang alates 3.9, gcc alates 4.8, sealhulgas koostamine sdevtoolset-9 abil CentOS/RHEL 7 jaoks.
  • Eemaldatud võimalus meta-lehtede konfliktide tekkimiseks pärast käsitsi üleminekut kindlale meta-lehele utiliidi mdbx_chk abil.
  • Parandatud ootamatu MDBX_PROBLEM veateate tagastamine vanade meta-lehtede ümberkirjutamisel.
  • Parandatud MDBX_NOTFOUND tagastamine ebatäpsete vastete korral MDBX_GET_BOTH päringu töötlemisel.
  • Parandatud koostamisviga Linuxis, kui puuduvad pealkirjafailid, mis kirjeldavad liideseid tuumaga.
  • Parandatud konflikt MDBX_SHRINK_ALLOWED sisemise lipu ja MDBX_ACCEDE valiku vahel.
  • Eemaldatud mitmed liigsed assert-kontrollid.
  • Parandatud ootamatu MDBX_RESULT_TRUE tagastamine funktsioonist mdbx_env_set_option().
  • Kokku on tehtud üle 90 muudatuse 25 failis, lisatud ~1300 rida, eemaldatud ~600.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster