Labaad libmdbx v1.0 musharrax siideynta shan sano oo horumarineed ka dib.

Maktabadda libmdbx waa farcanka LMDB oo si weyn dib loo habeeyay - waxqabad aad u sarreeya, xog-ururin-qiimo-fure ah oo isku xidhan.
Nooca hadda ee v0.5 waa siidayn farsamo, calaamad u ah dhammaystirka wax kasta oo horumar ah iyo u gudubka marxaladda imtixaanka ugu dambeeya ee dadweynaha iyo xasilinta, iyada oo la samaynayo soo saarista ugu horreysa ee buuxda ee maktabadda.

LMDB waa DBMS qiimo-fure ah oo si cadaalad ah loo yaqaan oo macaamil ganacsi ah oo ku salaysan geed B+ iyada oo aan goynta firfircoon, kaas oo u oggolaanaya raxan habab badan oo xadhig ah in ay si tartame leh oo aad u hufan ugu shaqeeyaan xogta kaydka gudaha ee la wadaago (maaha shabakad). Dhanka kale, MDBX wuu ka dhakhso badan yahay oo wuu ka aamin badan yahay LMDB, halka libmdbx uu haysto dhammaan sifooyinka muhiimka ah ee awoowgeed, sida AASHITO iyo kuwa aan xannibin waxay ku akhriyaan miisaan toosan oo ku dhex jira xudunta CPU, waxayna sidoo kale ku daraysaa dhowr cusub.

Sharaxaad ku saabsan kala duwanaanshaha iyo hagaajinta libmdbx marka loo eego LMDB waxay u qalantaa maqaal gaar ah (qorsheysan in lagu daabaco HabrΓ© iyo Dhexdhexaad). Halkan waxaa ku habboon in la sheego kuwa ugu muhiimsan iyo kuwa la dareemi karo:

  • Asal ahaan, fiiro gaar ah ayaa la siiyaa tayada koodhka, tijaabinta iyo hubinta tooska ah.
  • Si mug leh u kontorool badan inta lagu jiro hawlgalka, laga bilaabo hubinta xuduudaha ilaa hantidhawrka gudaha ee qaabdhismeedka xogta.
  • Otamaatig ah u-cusboonaynta iyo maaraynta cabbirka xogta tooska ah.
  • Qaab hal kayd ah oo loogu talagalay 32-bit iyo 64-bit assemblies.
  • Qiyaasta cabbirka muunadda ee kala-duwanaanshaha (qiyaasta weydiinta kala duwan).
  • Taageerada furayaasha labanlaab ka weyn sida canjeelada iyo cabbirka bogga xog ururinta ee la dooran karo.

Musharaxa siidaynta libmdbx waa natiijada go'aanka (hoos eeg) si loo kala saaro mashaariicda MDBX iyo MithrilDB Agoosto 2019. Isla mar ahaantaana, libmdbx waxay go'aansatay inay tirtirto deynta farsamada ee ugu badan (macquul ah) iyo xasilinta maktabadda. Dhab ahaantii, 2-3 jeer in ka badan ayaa lagu sameeyay jihadii loo qoondeeyay intii markii hore la qiyaasay oo la qorsheeyay:

  • Taageerada Mac OS iyo aaladaha heerka labaad ayaa la hirgeliyay: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Taageerada AIX iyo HP-UX ayaa lagu dari karaa haddii loo baahdo.
  • Nadiifeeyay koodka iyadoo la adeegsanayo Nadiifiyaha Dhaqanka Aan La qeexin, Nadiifiyaha Ciwaanka, wuxuu meesha ka saaray dhammaan digniinaha marka lagu dhisayo -Wpedantic, dhammaan digniinaha Falanqeeyaha Joogtada ah ee Daboolida, iwm.
  • Cusbooneysii Sharaxaada API.
  • Isku darka koodhka isha ee fududaynta ku-xidhka
  • Samee taageero.
  • Taageerada wax kala iibsiga.
  • Isticmaalka bootid si loo go'aamiyo in OS uu dib u kiciyay iyo in kale (joojinta xogta wasakhaysan).
  • Dhamaadka-ilaa-dhamaadka tirinta bogag cusub/cusboonaaday iyo macluumaadka wax kala iibsiga ee la fidiyay.
  • Ikhtiyaarka MDBX_ACCEDE ee ku xidhidhiyaha xog-ururin hore u furnaa oo qaab ku habboon
  • Isticmaal OFD oo xannibay marka la heli karo.
  • Kaydinta kulul ee tuubada.
  • Algorithm-soocidda gaarka ah ee gudaha ee la habeeyay (ilaa 2-3 jeer ka dhakhso badan qsort() iyo ilaa 30% ka dhakhso badan std :: nooc()).
  • Dhererka furaha ugu badan waa la kordhiyay.
  • Si otomaatig ah u koontaroolka hore u akhri (xeeladda kaydinta faylka xogta ee xusuusta).
  • Is-afgarad badan oo degdeg badan
  • Istaraatiijiyad aad ugu wanagsan ee isku darka bogagga geedka B+
  • Xakamaynta nidaamyada faylalka aan deegaanka ahayn (NFS, Samba, iwm.) si looga hortago burburka xogta haddii si khaldan loo isticmaalo.
  • Qaabka imtixaannada waa la ballaariyay.

Horumarinta nooca "xiga" ee libmdbx wuxuu u socon doonaa sidii mashruuc gaar ah MithrilDB, halka vector-ka horumarinta nooca "hadda" ee MDBX looga golleeyahay in lagu qaboojiyo qaabka loo dejiyay iyo xasilinta. Go'aankan waxaa loo qaatay saddex arrimood:

  • Gebi ahaanba aan la jaan qaadi karin: MithrilDB waxay u baahan tahay qaab ka duwan (aan ku habboonayn) qaabka faylka xogta iyo API ka duwan (aan socon karin) si loo fuliyo dhammaan sifooyinka la qorsheeyay.
  • Koodhka isha cusub: Koodhka isha MithrilDB waxa laga dhigay shati ka madax banaan LMDB, mashruuca laftiisa waxa la qorsheeyay in lagu daabaco liisan ka duwan (waxa ogolaaday) AMA HADDII shati Apache 2.0iyo ma OpenLDAP Foundation).
  • Kala soociddu waxay ka fogaanaysaa jaahwareerka iman kara, waxay bixisaa hubsiimo badan, waxayna hubisaa in mashruucyadu leeyihiin dariiq madax-bannaan oo hore loogu socdo.

MithrilDB, sida MDBX, ayaa sidoo kale ku salaysan geed B+ iyo sidoo kale soo bandhigi doona waxqabad aad u sarreeya, iyada oo meesha laga saarayo tiro ka mid ah faa'iido darrada aasaasiga ah ee MDBX iyo LMDB. Gaar ahaan, dhibaatada "wax akhrinta dheer" waa la tirtiri doonaa, taas oo muujinaysa sida "barar" ee xogta sababtoo ah xaqiiqda ah in qashinka qashinka lagu xannibo macaamilka akhriska dheer. Tilmaamaha cusub ee MithrilDB waxaa ka mid ah:

  • Taageerada gelinta xogta kaydinta dhowr warbaahin oo kala duwan: HDD, SSD iyo xusuusta aan kacsanayn.
  • xeeladaha ugu wanagsan ee "qiimaha" iyo "qiimaha hooseeya", xogta "kulul", "diran" iyo "qabow".
  • isticmaalaya geedka Merkle si ay ula socdaan daacadnimada database.
  • isticmaalka ikhtiyaarka ah ee WAL iyo waxqabadka aad u sarreeya ee xaaladaha qorista degdega ah iyo dammaanad qaadka daacadnimada xogta.
  • Hagaajinta xogta caajiska ah ee saxanka.

Source: linux.org.ru

Add a comment