Ho lokolloa ha DBMS e kenyellelitsoeng ea tšebetso e phahameng ea libmdbx 0.10

Ka mor'a likhoeli tse tharo tsa nts'etsopele, libmdbx 0.10.0 (MDBX) e ile ea lokolloa, ho kenya ts'ebetsong ts'ebetso e phahameng ea ts'ebetso e phahameng, e kopantsoeng le lisebelisoa tsa bohlokoa tsa bohlokoa. Khoutu ea libmdbx e filoe laesense tlasa License ea OpenLDAP Public. libmdbx ke ts'ebetso e tebileng ea LMDB DBMS mme, ho ea ka bahlahisi, e phahametse moholo-holo oa eona ka ho tšepahala, bokhoni ba mefuta-futa le ts'ebetso. Ho boleloa hore libmdbx e potlakile ho 20% ho feta LMDB maemong a CRUD mme e fihla ho 30% ka potlako haeba litsamaiso tsa ka hare li koaletsoe ha ho etsoa libmdbx ho isa boemong bo ka bapisoang le LMDB.

Libmdbx e fana ka ACID, serialization ea phetoho e matla, 'me e sa thibele e bala e lekanyang ka ho lekana ho pholletsa le li-CPU cores. Ho libmdbx, tlhokomelo e ngata e lefshoa ho boleng ba khoutu, ts'ebetso e tsitsitseng ea API, liteko le licheke tsa othomathiki. E ts'ehetsa ho ikamahanya le boits'oaro, taolo ea boholo ba polokelo ea polokelo ka boiketsetso, sebopeho se le seng sa database bakeng sa likopano tsa 32-bit le 64-bit, le khakanyo ea lipotso tse fapaneng. Ho fanoe ka thuso ea ho lekola bots'epehi ba sebopeho sa database se nang le bokhoni bo itseng ba ho hlaphoheloa. Ho tloha ka 2016, morero ona o tšehelitsoe ka lichelete ke Positive Technologies mme esale e sebelisoa lihlahisoa tsa eona ho tloha 2017, mme likotlo tse behiloeng ke mmuso oa US khahlano le Positive Technologies ha li na phello e hlokomelehang.

Lintlafatso tse kholo, lintlafatso le litokiso li ekelitsoe ho tloha tokollong ea ho qetela:

  • Ruby e tlamang ke Mahlon E. Smith le phetolelo ea teko ea Python bindings ea Noel Kuntze e fumaneha, 'me litlamo tsa GoLang tsa Alexey Sharov li ntlafalitsoe.
  • Bakeng sa mokhoa oa "MDBX_WRITEMAP", ha data ea database e fetoloa ka kotloloho ho RAM, "ho tšolloa ho pepenene" ha maqephe a database a fetotsoeng ho disk ho kengoa ts'ebetsong. Hona joale, ka mor'a hore ts'ebetso e 'ngoe le e' ngoe e phethoe, maqephe a joalo a se a loketse ho ngolloa ho disk 'me OS kernel e ka khona ho hlakola maqephe a fetotsoeng ho disk,' me ho etsa transaction ho ke ke ha hloka phetoho ea bona. Ka lebaka leo, maemong a maphathaphathe a nang le RAM e sa lekaneng, boholo ba ts'ebetso ea disk bo ka fokotsoa ho fihlela makhetlo a 2.
  • Ho lelekoa ho kentsoeng ha likopi tsa moriti tse sa sebelisoeng nako e telele tsa maqephe a fetotsoeng, ka khetho ea ho lelekoa ha maqephe a nang le boleng bo boholo / bo bolelele, boo ka bongata bo boholo ba maemo bo fetotsoeng hanngoe feela ka transaction. Sephetho ke ho fokotsa sephethephethe sa disk le ts'ebetso e ntlafetseng maemong a nang le litšebelisano tse kholo haholo.
  • E kentse "bohlale" mokhoa oa ho arola maqephe ha o kenya linotlolo. Hona joale, ha u kenya tatellano e laetsoeng, maqephe a tlatsitsoe ka ho feletseng, 'me maemong a mang, sefate se leka-lekana ka ho fetisisa. Ka lebaka leo, ka karolelano, maqephe a marang-rang a tlatsitsoe ka mokhoa o nepahetseng haholoanyane 'me sefate sa B se leka-lekane, se nang le phello e ntle mosebetsing.
  • Lipalo-palo tsa ts'ebetso e nang le maqephe li kenyelelitsoe, tse u lumellang ho lekanya ka nepo litšenyehelo tsa ho fetola ts'ebetso ka database.
  • Ho se ho lokisitsoe litšitšili le litšitšili tse fetang leshome le metso e 'meli, ho kenyelletsa le: mathata a ho haha ​​​​ho sebelisa MinGW, ho sebelisa `std::filesystem::path` ho iOS <= 13.0, ho haha ​​​​liphetolelo tsa khale tsa Windows, joalo-joalo.
  • Ka kakaretso, liphetoho tse fetang 200 li entsoe ho lifaele tsa 66, ~ mela ea 6500 e kenyelelitsoe, ~ 4500 e hlakotsoe.

Ka thoko, nka rata ho ela hloko khetho ea morero oa Turbo-Geth (foroko ea turbo ea Go-Ethereum) libmdbx e le sebaka se secha sa polokelo, hape ke leboha sehlopha sa morero (haholo-holo Alexey Sharov, Artyom Vorotnikov le Alexey Akhunov) bakeng sa bona. thuso e kholo ea ho etsa liteko maemong a ts'ebeliso e feteletseng. Haholo-holo, ho ile ha sibolloa phoso ea taolo ea ho bala-pele / caching le ho felisoa, e leng se ileng sa lebisa ho senyeha ha ts'ebetso maemong ao ho leng thata ho a hlahisa a nang le li-database tse kholo.

Source: opennet.ru

Eketsa ka tlhaloso