Kutulutsidwa kwa magwiridwe antchito apamwamba a DBMS libmdbx 0.10

Pambuyo pa miyezi itatu yachitukuko, libmdbx 0.10.0 (MDBX) inatulutsidwa, ndikugwiritsira ntchito nkhokwe yamtengo wapatali yamtengo wapatali, yosakanikirana. Khodi ya libmdbx ili ndi chilolezo pansi pa OpenLDAP Public License. libmdbx ndikukonzanso mozama kwa LMDB DBMS ndipo, malinga ndi omwe akupanga, ndi apamwamba kuposa makolo ake kudalirika, kuthekera kosiyanasiyana ndi magwiridwe antchito. Zimanenedwa kuti libmdbx imafika ku 20% mofulumira kuposa LMDB muzochitika za CRUD komanso mpaka 30% mofulumira ngati zowongolera zamkati zimayimitsidwa pomanga libmdbx ku mlingo wofanana ndi LMDB.

Libmdbx imapereka ACID, kusintha kosinthika kolimba, komanso kuwerenga kosatsekereza komwe kumayenderana ndi ma CPU cores. Mu libmdbx, chidwi chachikulu chimaperekedwa ku mtundu wa code, magwiridwe antchito okhazikika a API, kuyesa ndi kuyang'ana basi. Imathandizira kudziphatika, kasamalidwe ka kukula kwa database, mtundu umodzi wankhokwe wamisonkhano ya 32-bit ndi 64-bit, komanso kuyerekezera kwamafunso osiyanasiyana. Chida chowunikira kukhulupirika kwadongosolo la database ndi kuthekera kobwezeretsa kumaperekedwa. Kuyambira 2016, polojekitiyi yathandizidwa ndi Positive Technologies ndipo yakhala ikugwiritsidwa ntchito pazinthu zake kuyambira 2017, ndipo zilango zomwe boma la US limapereka motsutsana ndi Positive Technologies zilibe vuto lililonse.

Zatsopano zazikulu, kuwongolera ndi kukonza zomwe zawonjezeredwa kuyambira pomwe zidatulutsidwa komaliza:

  • Kumanga kwa Ruby ndi Mahlon E. Smith ndi kuyesa kwa Python bindings ndi Noel Kuntze zilipo, ndipo GoLang bindings ndi Alexey Sharov zasinthidwa.
  • Pamayendedwe a "MDBX_WRITEMAP", data ya database ikasinthidwa mwachindunji mu RAM, "kutayika kowonekera" kwamasamba osinthidwa kukhala disk kumakhazikitsidwa. Tsopano, mukamaliza ntchito iliyonse, masamba oterowo amakhala okonzeka kulembera ku diski ndipo kernel ya OS imatha kutsitsa masamba osinthidwa kukhala disk, ndipo kuchita malonda sikufuna kusinthidwa. Zotsatira zake, muzochitika zotanganidwa ndi RAM yosakwanira, kuchuluka kwa ntchito za disk kumatha kuchepetsedwa mpaka 2 nthawi.
  • Kuthamangitsidwa kwazithunzi zomwe zakhala zikugwiritsidwa ntchito kwa nthawi yayitali zamasamba osinthidwa, ndikukonda kuthamangitsidwa kwamasamba okhala ndi zikhalidwe zazikulu / zazitali, zomwe muzochitika zambiri zimasinthidwa kamodzi kokha pakugulitsa. Zotsatira zake ndikuchepetsa kuchuluka kwa ma disk ndikuwongolera magwiridwe antchito pamiyeso yayikulu kwambiri.
  • Anakhazikitsa njira ya "smart" yogawa masamba poyika makiyi. Tsopano, pakuyika zotsatizana, masamba amangodzazidwa kwathunthu, ndipo nthawi zina, mtengowo umakhala wokwanira bwino. Zotsatira zake, pafupifupi, masamba a database amadzazidwa bwino kwambiri ndipo mtengo wa B ndi wokhazikika, womwe umakhala ndi zotsatira zabwino pakuchita bwino.
  • Ziwerengero za ntchito zomwe zili ndi masamba zawonjezedwa, zomwe zimakulolani kuti muyese molondola mtengo wakusintha ntchito ndi database.
  • Zoposa khumi ndi ziwiri nsikidzi ndi nsikidzi zakhazikitsidwa, kuphatikiza: zovuta pakumanga pogwiritsa ntchito MinGW, kugwiritsa ntchito `std::filesystem::path` mu iOS <= 13.0, kumanga molunjika kumitundu yakale ya Windows, ndi zina zambiri.
  • Pazonse, zosintha zopitilira 200 zidapangidwa ku mafayilo 66, ~ mizere 6500 idawonjezedwa, ~ 4500 idachotsedwa.

Payokha, ndikufuna kuzindikira kusankha kwa polojekiti ya Turbo-Geth (mphanda wa turbo wa Go-Ethereum) libmdbx ngati chosungira chatsopano, komanso kuthokoza gulu la polojekiti (makamaka Alexey Sharov, Artyom Vorotnikov ndi Alexey Akhunov) chifukwa cha ntchito yawo. zothandiza kwambiri pakuyesa muzochitika zogwiritsidwa ntchito kwambiri. Makamaka, cholakwika pakuwongolera zowerengera / zosungirako zidapezeka ndikuchotsedwa, zomwe zidapangitsa kuti magwiridwe antchito azikhala ovuta kutulutsanso ndi ma database akulu.

Source: opennet.ru

Kuwonjezera ndemanga