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

Laeborari ea libmdbx 0.11.3 (MDBX) e lokollotsoe ka ho kengoa ts'ebetsong ha pokello ea lintlha tsa bohlokoa tsa compact compact embedded key-value. Khoutu ea libmdbx e filoe laesense tlasa License ea OpenLDAP Public. Lisebelisoa tsohle tsa hona joale tsa ts'ebetso le meralo ea meralo li tšehetsoa, ​​hammoho le Serussia Elbrus 2000. Qetellong ea 2021, libmdbx e sebelisoa e le sebaka sa polokelo ho bareki ba babeli ba potlakileng ba Ethereum - Erigon le "Shark" e ncha, eo, ho ea ka e fumanehang. tlhahisoleseding, ke mofani oa Ethereum ea sebetsang ka ho fetisisa.

Ho tloha khale, libmdbx ke ts'ebetso e tebileng ea LMDB DBMS 'me e phahametse moholo-holo oa eona ka ho tšepahala, ho beha likarolo le ts'ebetso. Ha e bapisoa le LMDB, libmdbx e hatisa haholo boleng ba khoutu, botsitso ba API, liteko le licheke tse ikemetseng. Ho fanoe ka thuso ea ho lekola bots'epehi ba sebopeho sa database se nang le bokhoni bo itseng ba ho hlaphoheloa.

Bohlale ba thekenoloji, libmdbx e fana ka ACID, serialization ea phetoho e matla, le ho bala ho sa thibeleng ka sekhahla sa mela ho li-CPU cores. Boikemisetso ba boiketsetso, taolo ea boholo ba database, le khakanyo ea lipotso tse fapaneng lia tšehetsoa. Ho tloha ka 2016, projeke e tšehelitsoe ka lichelete ke Positive Technologies mme esale e sebelisoa lihlahisoa tsa eona ho tloha 2017.

libmdbx e fana ka C++ API, hammoho le litlamo tsa puo tse tšehelitsoeng ke batho ba chesehang bakeng sa Rust, Haskell, Python, NodeJS, Ruby, Go, le Nim.

Lintlafatso tse kholo, lintlafatso le litokiso li ekelitsoe ho tloha litaba tse fetileng ka la 11 Mphalane:

  • C ++ API e nkoa e loketse ho sebelisoa.
  • Ntlafatso ea data ea GC ha ho etsoa litšebelisano tse kholo e potlakisitsoe haholo, e leng bohlokoa haholo ha o sebelisa libmdbx tikolohong ea Ethereum.
  • Saeno ea kahare ea sebopeho sa database e fetotsoe ho ts'ehetsa ntlafatso ea othomathiki, e leng pepeneneng ho basebelisi. Sena se o nolofalletsa ho tlosa melaetsa e fosahetseng mabapi le bobolu ba polokelongtshedimosetso ha ho sebediswa diphetolelo tsa kgale tsa laeborari ho bala diphetolelo tse rekotilweng ke diphetolelo tsa hona jwale.
  • Mesebetsi e ekelitsoeng mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() le mdbx_env_get_syncbytes(). Ts'ehetso e kentsoeng bakeng sa ts'ebetso ea MDBX_SET_UPPERBOUND.
  • Litemoso tsohle ha u haha ​​ka li-compilers tsohle tse tšehetsoeng ka mekhoa ea C ++ 11/14/17/20 li felisitsoe. Ho lumellana le bahlophisi ba lefa ho tiisitsoe: clang ho tloha ho 3.9, gcc ho tloha ho 4.8, ho kenyelletsa kopano e sebelisang cdevtoolset-9 bakeng sa CentOS/RHEL 7.
  • Lokisa monyetla oa khohlano ea leqephe la meta ka mor'a hore u fetohele leqepheng le itseng la meta u sebelisa sesebelisoa sa mdbx_chk.
  • Ho lokisitse phoso e neng e sa lebelloa ea MDBX_PROBLEM ha ho ngoloa maqephe a meta a lefa.
  • E tsitsitse e khutlisang MDBX_NOTFOUND haeba ho na le ntho e tšoanang hantle ha ho sebetsoa kopo ea MDBX_GET_BOTH.
  • Lokisa phoso ea ho bokella Linux ha ho se na lifaele tsa lihlooho tse nang le litlhaloso tsa li-interfaces le kernel.
  • E lokisitse likhohlano lipakeng tsa MDBX_SHRINK_ALLOWED folakha ea kahare le khetho ea MDBX_ACCEDE.
  • Litlhahlobo tse 'maloa tse sa hlokahaleng li felisitsoe.
  • Phetoho e sa lebelloang e tsitsitseng ea MDBX_RESULT_TRUE ho tsoa ho mdbx_env_set_option() ts'ebetso.
  • Ka kakaretso, liphetoho tse fetang 90 li entsoe ho lifaele tsa 25, ~ mela ea 1300 e kenyelelitsoe, ~ 600 e hlakotsoe.

Source: opennet.ru

Eketsa ka tlhaloso