Fa'asa'olotoina o le DBMS libmdbx 0.11.3 fa'atino maualuga

O le faletusi libmdbx 0.11.3 (MDBX) na faʻasaʻolotoina faʻatasi ai ma le faʻatinoina o se faʻamaumauga faʻapipiʻi faʻapipiʻi faʻapipiʻi maualuga. O le libmdbx code ua laiseneina i lalo ole OpenLDAP Public License. O loʻo lagolagoina uma faiga faʻaoga ma fausaga faʻapitoa, faʻapea foʻi ma le Rusia Elbrus 2000. I le faaiuga o le 2021, o le libmdbx o loʻo faʻaaogaina e avea o se mea e teu ai i tua i le lua faʻatau vave Ethereum - Erigon ma le "Shark" fou, lea, e tusa ai ma avanoa. faʻamatalaga, o le tagata e sili ona maualuga le faʻatinoga o le Ethereum client.

I le tala faasolopito, o le libmdbx o se toe faʻaleleia loloto o le LMDB DBMS ma e sili atu i lona tuaa i le faʻatuatuaina, seti faʻaaliga ma faʻatinoga. Fa'atusatusa i le LMDB, libmdbx e tu'uina le tele o le fa'amamafa i le tulaga lelei o le code, fa'amautu API, su'ega, ma siaki otometi. O lo'o tu'uina atu se fa'aoga mo le siakiina o le fa'amaoni o le fausaga o fa'amaumauga fa'atasi ma nisi o mea e mafai ona toe fa'aleleia.

Fa'atekonolosi-poto, libmdbx ofo atu ACID, suiga malosi fa'asologa, ma le le poloka le faitau fa'atasi ma laina fa'asolo i luga ole CPU. E lagolagoina le fa'amaopoopoina otometi, fa'atonu le tele o fa'amaumauga o fa'amaumauga, ma le fa'atatauga o fesili. Talu mai le 2016, o le poloketi na faʻatupeina e Positive Technologies ma ua faʻaaogaina i ana oloa talu mai le 2017.

libmdbx ofo atu se C++ API, faʻapea foʻi ma faʻasalalauga gagana lagolago mo Rust, Haskell, Python, NodeJS, Ruby, Go, ma Nim.

O fa'afouga tetele, fa'aleleia ma fa'asa'oga fa'aopoopo talu mai tala fou talu ai ia Oketopa 11:

  • Ole C++ API ua manatu ua sauni mo le fa'aoga.
  • O le faʻafouina o faʻamaumauga a le GC pe a faia ni fefaʻatauaʻiga tetele ua matua faʻavavevaveina, lea e sili ona taua pe a faʻaaoga le libmdbx i le Ethereum Ecosystem.
  • O le saini i totonu o le faʻamaumauga o faʻamaumauga ua suia e lagolago ai le faʻafouina otometi, lea e manino atoatoa i tagata faʻaoga. Ole mea lea e mafai ai ona e fa'ate'aina fa'amatalaga sese e uiga i fa'amaumauga o fa'amaumauga pe a fa'aogaina lomiga tuai o le faletusi e faitau ai fefa'atauaiga o lo'o fa'amaumauina e lomiga o lo'o iai nei.
  • Fa'aopoopo galuega mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() ma mdbx_env_get_syncbytes(). Fa'aopoopo le lagolago mo le fa'agaioiga MDBX_SET_UPPERBOUND.
  • O lapata'iga uma pe a fausia ma fa'apipi'i lagolago uma ile C++ 11/14/17/20 modes ua fa'aumatia. E fa'amautinoa le feso'ota'iga ma tu'ufa'atasiga fa'aleaganu'u: pi'i e amata mai i le 3.9, gcc amata mai le 4.8, e aofia ai le fa'apotopotoga e fa'aaoga ai le cdevtoolset-9 mo CentOS/RHEL 7.
  • Fa'amauina le avanoa o se fete'ena'iga itulau meta pe a uma ona sui ma le lima i se itulau fa'apitoa e fa'aaoga ai le mdbx_chk aoga.
  • Fa'atonu MDBX_PROBLEM fa'aletonu fa'afuase'i ua toe fa'afo'i pe a toe fa'asolo i tua itulau meta.
  • Toe fa'afo'i MDBX_NOTFOUND pe a iai se fa'atusa le sa'o pe a fa'agasolo se talosaga MDBX_GET_BOTH.
  • Faʻamauina se mea sese faʻapipiʻi i luga o Linux i le leai o ni faila ulutala ma faʻamatalaga o fesoʻotaʻiga ma le fatu.
  • Fa'amauina se fete'ena'iga i le va o le MDBX_SHRINK_ALLOWED fu'a totonu ma le filifiliga MDBX_ACCEDE.
  • Le tele o siaki fa'amaonia e le'o mana'omia ua fa'aumatia.
  • Toe fo'i fa'afuase'i le MDBX_RESULT_TRUE mai le galuega mdbx_env_set_option().
  • I le aofaʻi, e sili atu i le 90 suiga na faia i faila 25, ~ 1300 laina faʻaopoopo, ~ 600 na tapeina.

puna: opennet.ru

Faaopoopo i ai se faamatalaga