Kutulutsidwa kwa magwiridwe antchito apamwamba a DBMS libmdbx 0.11.3

Laibulale ya libmdbx 0.11.3 (MDBX) inatulutsidwa ndi kukhazikitsidwa kwa nkhokwe yamtengo wapatali yamtengo wapatali. Khodi ya libmdbx ili ndi chilolezo pansi pa OpenLDAP Public License. Zonse zamakono zogwirira ntchito ndi zomangamanga zimathandizidwa, komanso Russian Elbrus 2000. Kumapeto kwa 2021, libmdbx imagwiritsidwa ntchito ngati chosungira kumbuyo kwa makasitomala awiri a Ethereum othamanga kwambiri - Erigon ndi "Shark" yatsopano, yomwe, malinga ndi zomwe zilipo. zambiri, ndiye kasitomala wa Ethereum wapamwamba kwambiri.

M'mbiri, libmdbx ndikukonzanso kwakuya kwa LMDB DBMS ndipo imaposa kholo lake potengera kudalirika, mawonekedwe ndi magwiridwe antchito. Poyerekeza ndi LMDB, libmdbx imagogomezera kwambiri khalidwe la code, kukhazikika kwa API, kuyesa, ndi cheke chokhazikika. Chida chowonera kukhulupirika kwadongosolo la database chimaperekedwa ndi njira zina zobwezeretsa.

Mwanzeru zaukadaulo, libmdbx imapereka ACID, kusintha kosinthika kolimba, komanso kuwerenga kosatsekereza kokhala ndi mizere mizere kudutsa ma CPU cores. Kuphatikizika kwachangu, kasamalidwe ka kukula kwa database, ndi kuyerekezera kwamafunso kumathandizidwa. Kuyambira 2016, polojekitiyi yathandizidwa ndi Positive Technologies ndipo yakhala ikugwiritsidwa ntchito pazinthu zake kuyambira 2017.

libmdbx imapereka C++ API, komanso zomangira zoyankhulirana zothandizidwa ndi okonda Rust, Haskell, Python, NodeJS, Ruby, Go, ndi Nim.

Zatsopano zazikulu, kuwongolera ndi kuwongolera zomwe zawonjezeredwa kuyambira nkhani zam'mbuyomu pa Okutobala 11:

  • C ++ API imatengedwa kuti ndiyokonzeka kugwiritsidwa ntchito.
  • Kusintha kwa deta ya GC pochita malonda akuluakulu kwafulumizitsa kwambiri, zomwe ndizofunikira makamaka pogwiritsa ntchito libmdbx mu Ethereum ecosystem.
  • Siginecha yamkati yamawonekedwe a database yasinthidwa kuti izithandizira kukonzanso zokha, zomwe zimawonekera kwa ogwiritsa ntchito. Izi zimakupatsani mwayi kuti muchotse mauthenga onama okhudza ziphuphu zakumalo osungirako mabuku pomwe ma laibulale akale agwiritsidwa ntchito powerenga zochitika zojambulidwa ndi mitundu yaposachedwa.
  • Ntchito zowonjezera mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() ndi mdbx_env_get_syncbytes(). Zowonjezera zothandizira pa MDBX_SET_UPPERBOUND.
  • Machenjezo onse akamamanga ndi ophatikiza onse omwe amathandizidwa mumitundu ya C ++ 11/14/17/20 achotsedwa. Kugwirizana ndi ophatikizira cholowa kumatsimikizika: kugunda kuyambira 3.9, gcc kuyambira 4.8, kuphatikiza kusonkhana pogwiritsa ntchito cdevtoolset-9 ya CentOS/RHEL 7.
  • Kukonza kuthekera kwa mikangano yamasamba a meta mutasinthira pamanja patsamba linalake la meta pogwiritsa ntchito mdbx_chk.
  • Tinakonza zolakwika zosayembekezereka za MDBX_PROBLEM zomwe zikubwezedwa polemba pamwamba masamba a meta.
  • Kukonzekera kubwerera MDBX_NOTFOUND ngati kuli kofanana kwenikweni mukakonza pempho la MDBX_GET_BOTH.
  • Konzani cholakwika chophatikiza pa Linux pakalibe mafayilo amutu okhala ndi mafotokozedwe a mawonekedwe ndi kernel.
  • Tinakonza mkangano pakati pa mbendera ya mkati ya MDBX_SHRINK_ALLOWED ndi njira ya MDBX_ACCEDE.
  • Macheke angapo osafunikira achotsedwa.
  • Kubwerera mosayembekezereka kwa MDBX_RESULT_TRUE kuchokera mdbx_env_set_option() ntchito.
  • Pazonse, zosintha zopitilira 90 zidapangidwa ku mafayilo 25, ~ mizere 1300 idawonjezedwa, ~ 600 idachotsedwa.

Source: opennet.ru

Kuwonjezera ndemanga