Mwepụta nke DBMS libmdbx 0.11.3 arụmarụ dị elu agbakwunyere

E wepụtara ọbá akwụkwọ libmdbx 0.11.3 (MDBX) yana mmejuputa nchekwa data bara uru bara uru dị elu. Enyere ikike ikike koodu libmdbx n'okpuru ikikere Ọhaneze OpenLDAP. A na-akwado sistemụ arụmọrụ na ụlọ ọrụ niile ugbu a, yana Russian Elbrus 2000. Na njedebe nke 2021, a na-eji libmdbx dị ka nchekwa nchekwa na ndị ahịa Ethereum abụọ kachasị ngwa ngwa - Erigon na “Shark” ọhụrụ, nke, dị ka dị si dị. ozi, bụ onye ahịa Ethereum kacha arụ ọrụ.

N'akụkọ ihe mere eme, libmdbx bụ nrụgharị miri emi nke LMDB DBMS ma dị elu karịa nna nna ya na ntụkwasị obi, nhazi atụmatụ na arụmọrụ. Tụnyere LMDB, libmdbx na-etinye aka na mma koodu, nkwụsi ike API, nnwale na nlele akpaaka. A na-ewepụta ngwa maka ịlele iguzosi ike n'ezi ihe nke usoro nchekwa data yana ụfọdụ ike mgbake.

Nkà na ụzụ maara ihe, libmdbx na-enye ACID, mgbanwe mgbanwe siri ike, yana enweghị mgbochi na-agụ ya na ntanetị n'ofe cores CPU. Akwado nkwado akpaaka, njikwa nha nchekwa data akpaka, yana nleba anya ajụjụ. Kemgbe 2016, Teknụzụ Dị Mma na-akwado ọrụ a ma jiri ya na ngwaahịa ya kemgbe 2017.

libmdbx na-enye C++ API, yanakwa njide asụsụ nke ndị na-anụ ọkụ n'obi na-akwado maka Rust, Haskell, Python, NodeJS, Ruby, Go, na Nim.

Nnukwu ihe ọhụrụ, ndozi na mmezi agbakwunyere kemgbe akụkọ gara aga na Ọktoba 11:

  • A na-ahụta C++ API dị ka ọ dị njikere maka ojiji.
  • Mmelite nke data GC mgbe ị na-eme nnukwu azụmahịa emeela ngwa ngwa, nke dị mkpa karịsịa mgbe ị na-eji libmdbx na gburugburu ebe obibi Ethereum.
  • Agbanwewo mbinye aka dị n'ime nke usoro nchekwa data iji kwado mmelite akpaka, nke na-apụta ìhè nye ndị ọrụ. Nke a na-enye gị ohere iwepụ ozi na-ezighị ezi gbasara nrụrụ nchekwa data mgbe a na-eji nsụgharị nke ụlọ akwụkwọ ochie mee ihe iji gụọ azụmahịa ndị nsụgharị dị ugbu a dekọrọ.
  • Ọrụ agbakwunyere mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() na mdbx_env_get_syncbytes(). Nkwado agbakwunyere maka ọrụ MDBX_SET_UPPERBOUND.
  • Ịdọ aka ná ntị niile mgbe a na-ewu ụlọ na ndị nchịkọta niile akwadoro na ụdị C++ 11/14/17/20 ewepụla. A kwadoro ndakọrịta na ndị nchịkọta ihe nketa: clang malite na 3.9, gcc malite na 4.8, gụnyere mgbakọ na-eji cdevtoolset-9 maka CentOS/RHEL 7.
  • Edoziri ohere nke esemokwu ibe meta mgbe ejiri aka mdbx_chk gbanwee gaa na ibe meta akọwapụtara.
  • A na-eweghachite mperi MDBX_PROBLEM a na-atụghị anya ya mgbe ọ na-edegharị ibe meta ihe nketa.
  • MDBX_NOTFOUND na-eweghachite ma ọ bụrụ na egwuregwu ezighi ezi mgbe ị na-ahazi arịrịọ MDBX_GET_BOTH.
  • Edoziri mperi mkpokọta na Linux na enweghị faịlụ nkụnye eji isi mee nwere nkọwa nke interfaces na kernel.
  • Edoziri esemokwu n'etiti ọkọlọtọ ime MDBX_SHRINK_ALLOWED yana nhọrọ MDBX_ACCEDE.
  • Ewepụla ọtụtụ ndenye ego na-enweghị isi.
  • Nlaghachi MDBX_RESULT_TRUE na-atụghị anya ya site na ọrụ mdbx_env_set_option().
  • Na mkpokọta, e mere ihe karịrị 90 mgbanwe na faịlụ 25, ~ 1300 ahịrị agbakwunyere, ~ 600 ehichapụrụ.

isi: opennet.ru

Tinye a comment