Ukukhishwa kokusebenza okuphezulu kwe-DBMS eshumekiwe libmdbx 0.10

Ngemva kwezinyanga ezintathu zokuthuthukiswa, i-libmdbx 0.10.0 (MDBX) ikhishwe, isebenzisa isizindalwazi esisebenza kahle kakhulu, esihlanganisiwe, nesifakiwe. Ikhodi ye-libmdbx inelayisensi ngaphansi kweLayisensi Yomphakathi ye-OpenLDAP. I-libmdbx iwukubhalwa kabusha okukhulu kohlelo lokuphathwa kwesizindalwazi se-LMDB futhi, ngokusho kwabathuthukisi bayo, idlula eyandulelayo ngokuthembeka, isethi yezici, kanye nokusebenza. I-Libmdbx kuthiwa ishesha kufika ku-20% kune-LMDB ezimweni ze-CRUD, futhi ishesha kufika ku-30% uma ukuhlolwa kwangaphakathi kukhutshaziwe ezingeni elifana ne-LMDB ngesikhathi sokwakhiwa.

I-Libmdbx inikeza i-ACID, ukuhlelwa kwezinguquko okuqinile, kanye nokufundwa okungavimbeli okunesilinganiso esiqondile kuwo wonke ama-cores e-CPU. I-Libmdbx igcizelela kakhulu ikhwalithi yekhodi, ukuzinza kwe-API, ukuhlolwa, kanye nokuhlolwa okuzenzakalelayo. Isekela ukuhlanganiswa okuzenzakalelayo, ukuphathwa kosayizi wedathabheyisi okuzenzakalelayo, ifomethi yedathabheyisi ehlanganisiwe yokwakha okungu-32-bit no-64-bit, kanye nokulinganisa umbuzo wobubanzi. Insizakalo yokuhlola ubuqotho besakhiwo sedathabheyisi enamakhono athile okubuyisa ifakiwe. Kusukela ngo-2016, iphrojekthi ixhaswe yi-Positive Technologies futhi isetshenziswe emikhiqizweni yayo kusukela ngo-2017. Izijeziso zikahulumeni wase-US ngokumelene ne-Positive Technologies azizange zibe nomthelela obonakalayo.

Izici ezintsha ezibalulekile, ukuthuthukiswa, kanye nokulungiswa okungeziwe kusukela ekukhishweni kokugcina:

  • Ukubopha kukaMahlon E. Smith ngeRuby kanye nokubopha kukaNoel Kuntze ngePython sekuyatholakala manje, kanti ukubopha kuka-Alexey Sharov ngeGoLang sekubuyekeziwe.
  • Kwimodi ethi "MDBX_WRITEMAP", lapho idatha yesizindalwazi iguqulwa ngqo ku-RAM, "ukusula okusobala" kwamakhasi esizindalwazi aguquliwe abe yidiski sekuqalisiwe. Manje, ngemva kokuqedwa komsebenzi ngamunye, la makhasi asuke esekulungele ukubhalelwa kudiski, futhi i-kernel ye-OS ingasula ngokuzenzakalelayo amakhasi aguquliwe abe yidiski, ngaphandle kokudinga ukuthi aguqulwe lapho kwenziwa ukuthengiselana. Ngenxa yalokho, ezimweni ezinomthwalo omningi one-RAM enganele, ivolumu yokusebenza kwediski ingancishiswa kufikela ku-2x.
  • Kuqaliswe ukukhishwa kwamakhophi esithunzi angasetshenziswanga isikhathi eside amakhasi aguquliwe, kukhethwa ukukhishwa kwamakhasi anamanani amakhulu/amade, okuthi ezimweni eziningi aguqulwe kanye kuphela ngokuthengiselana ngakunye. Lokhu kunciphisa ithrafikhi yediski futhi kuthuthukisa ukusebenza ezimweni lapho kuthengiselana khona kakhulu.
  • Imodi yokuhlukanisa ikhasi "ehlakaniphile" isetshenzisiwe ekufakweni kwezihluthulelo. Manje, uma kufakwa ukulandelana okuhleliwe, amakhasi agcwaliswa ngokuzenzakalelayo ngokuphelele, futhi kwezinye izimo, umuthi ulinganiswe kahle kakhulu. Ngenxa yalokho, ngokwesilinganiso, amakhasi esizindalwazi agcwaliswa kahle kakhulu, kanti umuthi we-B ulinganiswe kahle, okunomthelela omuhle ekusebenzeni.
  • Izibalo zokusebenza kwekhasi ezengeziwe, okuvumela ukulinganisa izindleko okunembile kwemisebenzi yokuguqulwa kwedatha.
  • Kulungiswe amaphutha namaphutha angaphezu kweshumi nambili, okuhlanganisa: izinkinga zokwakha nge-MinGW, kusetshenziswa i-`std::filesystem::path` ku-iOS <= 13.0, ukwakha ngokuqondiswa kwezinguqulo ezindala Windows nokunye.
  • Sekukonke, izinguquko ezingaphezu kuka-200 zenziwe kumafayela angu-66, ~ imigqa engu-6500 yengezwe, ~ 4500 yasuswa.

Ngingathanda ukuncoma ngokukhethekile iphrojekthi ye-Turbo-Geth (i-turbo fork ye-Go-Ethereum) ngokukhetha i-libmdbx njenge-backend yayo entsha yokugcina idatha, futhi ngibonge ithimba lephrojekthi (ikakhulukazi u-Alexey Sharov, u-Artem Vorotnikov, no-Alexey Akhunov) ngosizo lwabo olubanzi ekuhlolweni ezimweni zokusetshenziswa ngokweqile. Ngokukhethekile, bathole futhi balungisa iphutha ekuphathweni kokufunda kusengaphambili/ukugcinwa kwedatha okwakubangela ukwehla kokusebenza ezimweni okunzima ukuzikhiqiza kabusha ngama-database amakhulu.

Source: opennet.ru

Thenga ukusingathwa okuthembekile kwamasayithi anokuvikelwa kwe-DDoS, amaseva e-VPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekile ngokuvikelwa kwe-DDoS, amaseva e-VPS VDS | ProHoster