Kuburitswa kwepamusoro-kushanda kwakamisikidzwa DBMS libmdbx 0.11.3

Libmdbx 0.11.3 (MDBX) raibhurari yakaburitswa nekushandiswa kwepamusoro-soro compact yakamisikidzwa key-value database. Iyo libmdbx kodhi ine rezinesi pasi peOpenLDAP Public License. Zvose zvemazuva ano maitiro ekushanda uye zvivakwa zvinotsigirwa, pamwe chete neRussia Elbrus 2000. Pakupera kwe2021, libmdbx inoshandiswa sechigadziro chekuchengetedza mune mbiri dzinokurumidza Ethereum vatengi - Erigon uye "Shark" itsva, iyo, maererano neinowanika. ruzivo, ndiyo yepamusoro-inoshanda Ethereum mutengi.

Nhoroondo, libmdbx igadziriso yakadzama yeLMDB DBMS uye inodarika tateguru wayo maererano nekuvimbika, seti yezvimiro uye kuita. Kuenzaniswa neLMDB, libmdbx inoisa zvakanyanya kukoshesa pamhando yekodhi, kugadzikana kweAPI, kuyedzwa, uye otomatiki cheki. Chishandiso chekutarisa kutendeseka kweiyo dhatabhesi chimiro chinopihwa nedzimwe sarudzo dzekudzoreredza.

Tekinoroji-huchenjeri, libmdbx inopa ACID, yakasimba shanduko serialization, uye isiri-kuvhara kuverenga ine mutsara kuyera muCPU cores. Auto-compactification, otomatiki dhatabhesi saizi manejimendi, uye renji yemubvunzo fungidziro inotsigirwa. Kubva 2016, chirongwa ichi chave chichitsigirwa nePositive Technologies uye chave chichishandiswa muzvigadzirwa zvayo kubvira 2017.

libmdbx inopa C++ API, pamwe chete nevanofarira-inotsigirwa mutauro inosunga yeRust, Haskell, Python, NodeJS, Ruby, Go, uye Nim.

Hunyowani hukuru, kuvandudzwa uye kugadzirisa kwakawedzerwa kubva panhau yapfuura muna Gumiguru 11:

  • Iyo C ++ API inonzi yakagadzirira kushandiswa.
  • Kugadziridzwa kweGC data kana uchiita kutengeserana kukuru kwakakurumidza kukurumidza, izvo zvinonyanya kukosha kana uchishandisa libmdbx muEthereum ecosystem.
  • Iyo siginicha yemukati yefomati yedatabase yakashandurwa kuti itsigire otomatiki kugadzirisa, iri pachena kune vashandisi. Izvi zvinokutendera kuti ubvise mameseji ekunyepa pamusoro pehuwori hwepadatabase kana shanduro dzekare dzeraibhurari dzichishandiswa kuverenga kutengeserana kwakarekodhwa neshanduro dzazvino.
  • Akawedzera mabasa mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() uye mdbx_env_get_syncbytes(). Yakawedzerwa rutsigiro rweMDBX_SET_UPPERBOUND oparesheni.
  • Yese yambiro kana uchivaka nevose vanotsigirwa compilers muC ++ 11/14/17/20 modes dzakabviswa. Kuenderana nevagadziri venhaka kunovimbiswa: clang kutanga kubva 3.9, gcc kutanga kubva 4.8, kusanganisira musangano uchishandisa cdevtoolset-9 yeCentOS/RHEL 7.
  • Yakagadzirisa mukana wekukonana kwepeji meta mushure mekushandura kune imwe meta peji uchishandisa iyo mdbx_chk utility.
  • Kugadzirisa kusatarisira MDBX_PROBLEM kukanganisa kudzoserwa paunenge uchinyora mapeji enhaka meta.
  • Yakagadzika kudzoka MDBX_NOTFOUND kana paine mutambo usina chaiwo paunenge uchigadzirisa chikumbiro cheMDBX_GET_BOTH.
  • Yakagadzirisa kukanganisa kwekuunganidza paLinux mukushaikwa kwemafaira emusoro ane tsananguro dzemainterfaces nekernel.
  • Yakagadzirisa kusawirirana pakati peMDBX_SHRINK_ALLOWED yemureza wemukati neMDBX_ACCEDE sarudzo.
  • Kuongorora kwakawanda kusingakoshi kwekusimbisa kwakabviswa.
  • Yakagadziriswa isingatarisirwe kudzoka kweMDBX_RESULT_TRUE kubva mdbx_env_set_option() basa.
  • Pakazara, kupfuura 90 shanduko dzakaitwa kune 25 mafaera, ~ 1300 mitsetse yakawedzerwa, ~ 600 yakabviswa.

Source: opennet.ru

Voeg