Hoʻokuʻu ʻia o DBMS libmdbx 0.10.4 a me libfpta 0.3.9 i hoʻopili ʻia.

Ua hoʻokuʻu ʻia nā hale waihona puke libmdbx 0.10.4 (MDBX) me ka hoʻokō ʻana i kahi waihona waiwai kī nui i hoʻopili ʻia, a me ka waihona libfpta 0.3.9 (FPTA) e pili ana, e hoʻokō ana i kahi hōʻike papa o ka ʻikepili me nā helu helu lua a me ka hui. ma luna o MDBX. Māhele ʻia nā hale waihona puke ʻelua ma lalo o nā laikini i ʻae ʻia e OSI. Kākoʻo ʻia nā ʻōnaehana hana a me nā hale hana o kēia manawa, a me ka Russian Elbrus 2000.

ʻO ka mōʻaukala, ʻo libmdbx kahi hana hou o ka LMDB DBMS a ʻoi aku ka maikaʻi ma mua o kona kūpuna i ka hilinaʻi, ka hoʻonohonoho hiʻohiʻona a me ka hana. Hoʻohālikelike ʻia me LMDB, kau nui ʻo libmdbx i ka maikaʻi o ke 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 mea hiki ke 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 makahiki 2016, ua hoʻolako kālā ʻia nā papahana e Positive Technologies a mai ka makahiki 2017 ua hoʻohana ʻia i kāna huahana.

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. No libfpta, ʻo ka wehewehe API wale nō i loaʻa i ka lehulehu ma ke ʻano o kahi faila poʻomanaʻo C/C++.

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

  • Hiki ke hana hou.
  • Hoʻopaʻa i kahi pahu ma muli o ia, i nā kūlana kakaʻikahi, hiki i kahi loop/freeze ke hiki i ka wā o kahi hana kālepa. Ua ʻike ʻia ka pilikia e nā loea Positive Tecnologies i ka wā e hoʻāʻo ai i loko o kā lākou huahana ponoʻī.
  • Ua hoʻomaikaʻi ʻia nā hoʻokolohua a ua hoʻonui ʻia nā hiʻohiʻona hoʻāʻo e nānā i nā mokuʻāina non-isomorphic āpau o ka lāʻau ʻaoʻao a me nā mea GC i loko o ka waihona.
  • Ma ka C ++ API, ua hoʻopaʻa ʻia kahi "noexcept" hou, ua hoʻohui ʻia nā overloads hou no ke ʻano "cursor :: erase ()", ua mālama ʻia ka hoʻokō ʻana i nā buffers i ka hoʻohana ʻana o "std :: string" e hōʻoia i ka alignment. (pili no CLANG libstdc++).
  • ʻO ka hoʻihoʻi ʻana i ka ʻaoʻao lepo e kahe ana i ka algorithm (ke koho ʻana i nā ʻaoʻao ʻikepili i hoʻololi ʻia) i hōʻike ʻia e kahi hewa i manaʻo ʻole ʻia MDBX_PROBLEM i ka wā i hoʻopau ʻia ai ka hoʻololi ʻana i ka ʻikepili i nā kālepa nui.
  • Ua hoʻokō ʻia kahi hoʻāʻo phasing me ka hoʻohui ʻana i kahi helu o nā loiloi e hōʻoia i ka paʻa i ka wā i manaʻo ʻia ka pōʻino i ka waihona.
  • Hoʻoponopono i nā ʻōlelo aʻo liʻiliʻi UndefinedBehaviorSanitizer a me nā pilikia Coverity Scan.
  • Hoʻopaʻa i ka nānā ʻana i ka hae kūloko "P_DIRTY" kahiko a ʻaʻole i hoʻohana hou ʻia i nā ʻaoʻao pūnana i loko o nā kiʻi waihona i hana ʻia e nā mana kahiko o ka waihona.
  • Ma nā palapala CMake, ua hoʻomaikaʻi ʻia ka ʻimi ʻana i nā ʻāpana compiler no LTO (link-time optimization).
  • Ua hoʻonui ʻia ka helu kiʻekiʻe o nā mea heluhelu like i 32767.
  • Hoʻonui i ka hana i ka wā e hoʻohana ai iā Valgrind a me AddressSanitizer.
  • Ma Windows, ua hoʻopau ʻia ka hoʻohana hou ʻana o SRW-lock i ka wā e hana ai i ka mode MDBX_NOTLS (me ka ʻole o ka hoʻohana ʻana i ka waihona kūloko kūloko) ua hoʻopau ʻia, ua hoʻopaʻa ʻia ka hanauna bootid inā ua loli ka manawa o ka ʻōnaehana, ua hoʻomaikaʻi ʻia ka ʻike WSL1 a me WSL2, a me ka hiki ke hana. wehe i kahi waihona ma Plan 9 i kau ʻia ma o DrvFS ua hoʻohui ʻia.
  • ʻO ka huina, ʻoi aku ma mua o 160 mau hoʻololi i 57 faila, ~5000 laina i hoʻohui ʻia, ~2500 i holoi ʻia.

Mahalo nui wau i ka hui papahana Erigon (Ethereum ecosystem) no kā lākou kōkua ʻana i ka hoʻāʻo ʻana i nā hiʻohiʻona hoʻohana koʻikoʻi. He mea nui i loko o ʻelima mau mahina mai ka hoʻokuʻu ʻia ʻana o libmdbx v0.10.0, me ka nui o ka waihona o 1-2 TB i kēlā me kēia hoʻonohonoho Erigon (hoʻohana ʻia ma 7% o nā nodes Ethereum), ʻekolu wale nō hōʻike o ka palaho waihona i loaʻa, nā mea āpau i loaʻa ma muli o nā kumu o waho, ʻaʻole nā ​​​​polokalamu hewa: ma nā hihia ʻelua ke kumu o ka hemahema o ka RAM, ma ke kolu he hewa i ka hoʻonohonoho hou ʻana i ka ʻikepili i kahi hoʻonohonoho kikoʻī o ka subsystem mālama e hoʻohana ana i ka BTRFS.

Source: opennet.ru

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