Sgaoileadh de DBMS freumhaichte àrd-choileanadh libmdbx 0.11.3

Chaidh an leabharlann libmdbx 0.11.3 (MDBX) fhoillseachadh le bhith a’ buileachadh stòr-dàta luach-iuchrach freumhaichte àrd-choileanadh. Tha an còd libmdbx ceadaichte fo Chead Poblach OpenLDAP. Tha a h-uile siostam obrachaidh agus ailtireachd gnàthach a’ faighinn taic, a bharrachd air an Elbrus 2000 Ruiseanach. Aig deireadh 2021, bidh libmdbx air a chleachdadh mar backend stòraidh anns an dà neach-dèiligidh Ethereum as luaithe - Erigon agus an “Shark” ùr, a tha, a rèir na tha ri fhaighinn. fiosrachadh, an neach-dèiligidh Ethereum le coileanadh as àirde.

Gu h-eachdraidheil, tha libmdbx na ath-dhealbhadh domhainn den LMDB DBMS agus a ’dol thairis air an tùsaire a thaobh earbsachd, seata feart agus coileanadh. An coimeas ri LMDB, tha libmdbx a 'cur mòran cuideam air càileachd còd, seasmhachd API, deuchainn, agus sgrùdaidhean fèin-ghluasadach. Tha goireas airson sgrùdadh a dhèanamh air ionracas structar an stòr-dàta air a thoirt seachad le cuid de roghainnean ath-bheothachaidh.

A thaobh teicneòlas, tha libmdbx a’ tabhann ACID, sreathachadh atharrachaidh làidir, agus leughaidhean gun bhacadh le sgèileadh sreathach thairis air coraichean CPU. Thathas a’ toirt taic do cho-chòrdadh fèin-ghluasadach, riaghladh meud stòr-dàta fèin-ghluasadach, agus tuairmse raon ceist. Bho 2016, tha am pròiseact air a bhith air a mhaoineachadh le Positive Technologies agus chaidh a chleachdadh anns na toraidhean aige bho 2017.

Tha libmdbx a’ tabhann C ++ API, a bharrachd air ceanglaichean cànain le taic dealasach airson Rust, Haskell, Python, NodeJS, Ruby, Go, agus Nim.

Ùr-ghnàthachaidhean mòra, leasachaidhean agus ceartachaidhean air an cur ris bho na naidheachdan roimhe air 11 Dàmhair:

  • Thathas den bheachd gu bheil an C ++ API deiseil airson a chleachdadh.
  • Tha ùrachadh dàta GC nuair a thathar a’ dèanamh ghnothaichean mòra air a luathachadh gu mòr, rud a tha gu sònraichte cudromach nuair a thathar a’ cleachdadh libmdbx ann an eag-shiostam Ethereum.
  • Tha ainm-sgrìobhte taobh a-staigh cruth an stòr-dàta air atharrachadh gus taic a thoirt do ùrachadh fèin-ghluasadach, a tha gu tur follaiseach do luchd-cleachdaidh. Leigidh seo leat cuir às do theachdaireachdan meallta dearbhach mu choirbeachd stòr-dàta nuair a thèid seann dreachan den leabharlann a chleachdadh gus gnothaichean a tha clàraichte le dreachan gnàthach a leughadh.
  • Gnìomhan air an cur ris mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() agus mdbx_env_get_syncbytes(). Taic a bharrachd airson obrachadh MDBX_SET_UPPERBOUND.
  • Chaidh cuir às do gach rabhadh nuair a bhios tu a’ togail leis a h-uile inneal-cruinneachaidh le taic ann am modhan C ++ 11/14/17/20. Thathas a’ dèanamh cinnteach gu bheil co-chòrdalachd le luchd-cruinneachaidh dìleab: clang a’ tòiseachadh bho 3.9, gcc a’ tòiseachadh bho 4.8, a’ toirt a-steach co-chruinneachadh a’ cleachdadh cdevtoolset-9 airson CentOS / RHEL 7.
  • Chàirich sinn an comas còmhstri duilleag meta às deidh dha atharrachadh le làimh gu duilleag meta sònraichte a’ cleachdadh goireas mdbx_chk.
  • Mearachd MDBX_PROBLEM stèidhichte ris nach robh dùil ga thilleadh nuair a thathar a’ sgrìobhadh thairis air duilleagan meta dìleab.
  • Chàir sinn tilleadh MDBX_NOTFOUND gun fhios nach bi maids neo-mhearachdach ann nuair a bhios tu a’ giullachd iarrtas MDBX_GET_BOTH.
  • Chàirich sinn mearachd cruinneachaidh air Linux às aonais faidhlichean cinn le tuairisgeulan air eadar-aghaidh leis an kernel.
  • Chàirich sinn còmhstri eadar bratach a-staigh MDBX_SHRINK_ALLOWED agus an roghainn MDBX_ACCEDE.
  • Chaidh grunn sgrùdaidhean dearbhaidh neo-riatanach a chuir às.
  • Tilleadh seasmhach ris nach robh dùil de MDBX_RESULT_TRUE bho ghnìomh mdbx_env_set_option().
  • Uile gu lèir, chaidh còrr is 90 atharrachadh a dhèanamh air 25 faidhle, chaidh ~1300 loidhne a chur ris, chaidh ~600 a sguabadh às.

Source: fosgailtenet.ru

Cuir beachd ann