Hoʻokuʻu ʻia o DBMS libmdbx 0.11.3 i hoʻokomo ʻia i ka hana kiʻekiʻe.

Ua hoʻokuʻu ʻia ka hale waihona puke libmdbx 0.11.3 (MDBX) me ka hoʻokō ʻana i kahi waihona waiwai kī nui i hoʻopili ʻia. Ua laikini ʻia ka code libmdbx ma lalo o ka OpenLDAP Public License. Kākoʻo ʻia nā ʻōnaehana hana āpau a me nā hale kiʻi i kēia manawa, a me ka Russian Elbrus 2000. I ka hopena o 2021, hoʻohana ʻia ʻo libmdbx ma ke ʻano he backend mālama i nā mea kūʻai aku ʻelua Ethereum wikiwiki loa - Erigon a me ka "Shark" hou, e like me ka loaʻa. ʻike, ʻo ia ka mea kūʻai aku Ethereum kiʻekiʻe loa.

ʻO ka mōʻaukala, ʻo libmdbx kahi hoʻolālā hohonu o ka LMDB DBMS a ʻoi aku i kona progenitor ma ke ʻano o ka hilinaʻi, ka hoʻonohonoho hiʻohiʻona a me ka hana. Hoʻohālikelike ʻia me LMDB, hoʻokau nui ʻo libmdbx i ka maikaʻi code, kūpaʻa API, hoʻāʻo, a me nā loiloi automated. Hāʻawi ʻia kahi mea pono no ka nānā ʻana i ka pono o ka waihona waihona me kekahi mau koho hoʻihoʻi.

Hāʻawi ʻo libmdbx i ka ACID, ka hoʻololi hoʻololi ikaika, a me ka heluhelu ʻole ʻana me ka scaling linear ma waena o nā cores CPU. Kākoʻo ʻia ka hoʻopaʻapaʻa ʻakomi, ka hoʻokele ʻana i ka nui o ka waihona waihona, a me ka helu ʻana i nā nīnau. Mai ka 2016, ua hoʻolako kālā ʻia ka papahana e Positive Technologies a ua hoʻohana ʻia i kāna huahana mai 2017.

Hāʻawi ʻo libmdbx i kahi API C++, a me nā paʻa ʻōlelo i kākoʻo ʻia no Rust, Haskell, Python, NodeJS, Ruby, Go, a me Nim.

ʻO nā mea hou, nā hoʻomaikaʻi a me nā hoʻoponopono i hoʻohui ʻia mai ka nūhou mua ma ʻOkakopa 11:

  • Manaʻo ʻia ka C++ API e mākaukau no ka hoʻohana.
  • ʻO ka hōʻano hou o kaʻikepili GC i ka wā e hana ai i nā kālepa nui ua hoʻonui nuiʻia, a he mea nui loa ia i ka hoʻohanaʻana i ka libmdbx i ka kaiaola Ethereum.
  • Ua hoʻololi ʻia ka pūlima o loko o ka waihona waihona no ke kākoʻo ʻana i ka hoʻonui ʻana i nā mea hoʻohana. ʻAe kēia iā ʻoe e hoʻopau i nā leka hoʻopunipuni e pili ana i ka palaho ʻikepili i ka wā e hoʻohana ʻia ai nā mana kahiko o ka waihona e heluhelu ai i nā kālepa i hoʻopaʻa ʻia e nā mana o kēia manawa.
  • Nā hana i hoʻohui ʻia mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() a me mdbx_env_get_syncbytes(). Hoʻohui i ke kākoʻo no ka hana MDBX_SET_UPPERBOUND.
  • Ua hoʻopau ʻia nā ʻōlelo aʻo a pau i ke kūkulu ʻana me nā mea hoʻopili i kākoʻo ʻia ma C++ 11/14/17/20. Hoʻopaʻa ʻia ka hoʻohālikelike ʻana me nā mea hoʻohui hoʻoilina: clang e hoʻomaka ana mai 3.9, gcc e hoʻomaka ana mai 4.8, me ka hui ʻana me ka hoʻohana ʻana i cdevtoolset-9 no CentOS/RHEL 7.
  • Hoʻoponopono i ka hiki ke hoʻopaʻapaʻa ʻaoʻao ma hope o ka hoʻololi lima ʻana i kahi ʻaoʻao meta kikoʻī me ka hoʻohana ʻana i ka pono mdbx_chk.
  • Ua hoʻihoʻi ʻia ka hewa MDBX_PROBLEM i manaʻo ʻole ʻia i ke kākau ʻana i nā ʻaoʻao meta hoʻoilina.
  • Hoʻoponopono i ka hoʻihoʻi ʻana i MDBX_NOTFOUND inā loaʻa kahi hoʻokūkū kūpono ʻole i ka wā e hoʻoponopono ai i kahi noi MDBX_GET_BOTH.
  • Hoʻopaʻa i kahi hewa hōʻuluʻulu ma Linux me ka loaʻa ʻole o nā faila poʻomanaʻo me nā wehewehe o nā pilina me ka kernel.
  • Hoʻoponopono i kahi paio ma waena o ka hae kūloko MDBX_SHRINK_ALLOWED a me ke koho MDBX_ACCEDE.
  • Ua hoʻopau ʻia kekahi mau hōʻoia hōʻoia pono ʻole.
  • Hoʻoponopono i ka hoʻihoʻi ʻole ʻia o MDBX_RESULT_TRUE mai ka hana mdbx_env_set_option().
  • ʻO ka huina, ʻoi aku ma mua o 90 mau hoʻololi i 25 faila, ~1300 laina i hoʻohui ʻia, ~600 i holoi ʻia.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka