Ukukhishwa kwe-DBMS libmdbx 0.11.7. Hambisa Ukuthuthukiswa ku-GitFlic Ngemva Kwe-Lockdown ku-GitHub

Umtapo wezincwadi we-libmdbx 0.11.7 (MDBX) ukhululwe ngokusetshenziswa kwesizindalwazi senani lokhiye olusebenza ngokuhlangene olusebenza kahle kakhulu. Ikhodi ye-libmdbx ilayisensi ngaphansi kwe-OpenLDAP Public License. Zonke izinhlelo zokusebenza zamanje kanye nezakhiwo ziyasekelwa, kanye ne-Russian Elbrus 2000.

Ukukhishwa kuyaphawuleka ngokuthuthela kwephrojekthi kusevisi ye-GitFlic ngemuva komhla ziyi-15 kuMbasa, 2022, abaphathi be-GitHub, ngaphandle kwanoma yisiphi isexwayiso noma incazelo, basuse i-libmdbx kanye nenqwaba yamanye amaphrojekthi, ngesikhathi esifanayo bevimbela ukufinyelela konjiniyela abaningi abahlobene izinkampani ezingaphansi unswinyo lwaseMelika. Ngokombono wabasebenzisi, wonke amakhasi, inqolobane kanye nezimfoloko zephrojekthi ngokuzumayo zaphenduka ikhasi le-404, ngaphandle kokuba nokwenzeka kwanoma yikuphi ukuxhumana nokuthola izizathu.

Ngeshwa, cishe zonke izindaba, lapho bekunemibuzo eminingi enezimpendulo ezinemininingwane, kanye nezingxoxo eziningi, zilahlekile. Ukulahleka kwalolu lwazi kuwukuphela komonakalo oyinhloso abaphathi be-GitHub abakwazile ukuwenza kuphrojekthi. Ingxenye yamakhophi ezingxoxo isatholakala ku-archive.org.

Ukulahlekelwa yizimo ze-CI ezakhiwe kanye nengqalasizinda (etholakalayo kumaphrojekthi we-OpenSource mahhala) kwasiphoqa ukuthi sibuyekeze, sihlanganise futhi siqedwe isikweletu esincane sobuchwepheshe. Manje i-CI isibuyiselwe cishe ngezinga elifanayo, ngaphandle kokuhlolwa kokwakha nokuqhuba kwakho konke okuhlukile kwe-BSD ne-Solaris. Ngokuvamile, ngemva kwezenzo, i-GitHub ayizange ithole izincazelo noma izaziso, ngaphandle kwezikhumbuzo mayelana nesidingo sokukhokha nemizamo yokucisha imali.

Kusukela izindaba zokugcina mayelana nokukhishwa kwe-libmdbx v0.11.3, ngaphezu kokululama ezenzweni ze-GitHub, kufanelekile ukuqaphela ukuthuthukiswa nokulungiswa okulandelayo:

  • Kwengezwe indlela yokusebenza ukuze uthole umphumela wokungahambisani/isici ekhasini elihlanganisiwe kanye nenqolobane yebhafa kukernel ye-Linux. Ezinhlelweni lapho ikhasi nezinqolobane zebhafa kuhlanganiswe ngempela, akukho phuzu kumemori yokumosha i-kernel yamakhophi amabili edatha lapho ubhalela ifayela eselivele lifakwe kumephu kumemori. Ngakho-ke, idatha ebhalwayo ibonakala ngemephu yememori ngaphambi kokuba ucingo lwesistimu luqedwe, noma ngabe idatha ingakabhalwa kudiski.

    Ngokuvamile, okunye ukuziphatha akunangqondo, ngoba ngokuhlanganisa okuhlehlisiwe, kusazodingeka uthole izingidi zohlu lwamakhasi, ukopishe idatha, noma ulungise i-PTE. Ngakho-ke, umthetho wokuhambisana okungakhulunywanga ngawo ubulokhu usebenza kusukela ngo-1989, lapho inqolobane yebhafa ehlanganisiwe ivela ku-SRV4. Ngakho-ke, ukuthola ukuphahlazeka okungajwayelekile kuzimo zokuxhaphaza ze-libmdbx kudinga umsebenzi omningi. Okokuqala ukukhiqiza kabusha inkinga, bese uqinisekisa imibono kanye nokuthuthukiswa kokuhlolwa.

    Manje singasho ngokuqiniseka ukuthi inkinga ikhonjwe ngendlela enokwethenjelwa, yasendaweni futhi yaqedwa ngokuthembekile, naphezu kobunzima kanye nokucaciswa kwesimo sokukhiqiza kabusha. Ukwengeza, ukusebenza komshini wokudlula kuqinisekiswe omunye wabathuthukisi be-Erigon (Ethereum); esimweni sakhe, ekwakhiweni kokulungisa iphutha, ukuvikelwa kwaqalwa njengokuhlehla ngenxa yokuhlolwa okungadingekile kokugomela.

    Kufanele kuqashelwe ukuthi esimweni sokusetshenziswa okubanzi kwe-libmdbx kumaphrojekthi wokukhiqiza, ukuqinisekisa ukuthi ukusebenza okuthembekile kubaluleke kakhulu kunokuthola ukuthi iyisiphazamisi noma isici nokuthi ukuhambisana okunjalo kungathenjelwa kukho, kungasaphathwa ukusesha izimbangela zokungahambisani ngaphakathi kwe-Linux kernel. Ngakho-ke, lapha sikhuluma ngokulungisa inkinga okungenzeka ukuthi ithinte abasebenzisi.

  • Ukuhlehla kwephutha le-EXDEV (Isixhumanisi se-Cross-device) lapho kushisa kukopishwa isizindalwazi ngaphandle kokuhlanganiswa kolunye uhlelo lwefayela, kokubili nge-API kanye nensiza ye-mdbx_copy, kususiwe.
  • UKris Zyp usebenzise ukwesekwa kwe-libmdbx eDeno. U-Kai Wetlesen udizayine ukupakishwa kwe-RPM ye-Fedora. U-David Bouyssié usebenzise izibopho ze-Scala.
  • Ukucutshungulwa okulungisiwe kwevelu eshiwo inketho ye-MDBX_opt_rp_augment_limit lapho kucutshungulwa ukuthengiselana okukhulu kuzinqolobane ezinkulu. Ngaphambilini, ngenxa yephutha, izenzo ezingadingekile zingenziwa, ngezinye izikhathi ezithinta ukusebenza ekusetshenzisweni kwe-Ethereum (Erigon/Akula/Silkworm) kanye namaphrojekthi we-Binance Chain.
  • Izimbungulu eziningi zilungisiwe, okuhlanganisa ne-C++ API. Kulungiswe izinkinga eziningi zokwakha ngokulungiselelwa okungandile nokungavamile. Uhlu oluphelele lwakho konke ukuthuthukiswa okubalulekile luyatholakala ku-ChangeLog.
  • Ingqikithi yezinguquko ze-185 zenziwe kumafayela angu-89, ≈ imigqa engu-3300 yengezwe, ≈4100 isusiwe. Okuningi kususiwe ikakhulukazi ngenxa yokuhlanzwa kwamafayela obuchwepheshe asevele angenamsebenzi ahlotshaniswa ne-GitHub kanye nezinsizakalo ezincikile.

Ngokomlando, i-libmdbx iwukuklama kabusha okujulile kwe-LMDB DBMS futhi idlula umsunguli wayo ngokokwethembeka, ukusethwa kwesici nokusebenza. Uma kuqhathaniswa ne-LMDB, i-libmdbx igcizelela kakhulu ikhwalithi yekhodi, ukuzinza kwe-API, ukuhlola, nokuhlola okuzenzakalelayo. Isisetshenziswa sokuhlola ubuqotho besakhiwo sesizindalwazi sihlinzekwa ngezinye izinketho zokuthola kabusha.

Ngokusebenzisa ubuchwepheshe, i-libmdbx inikeza i-ACID, ukuguqulwa okuqinile kwe-serialization, nokufunda okungavimbeli okunomugqa wokukala kuwo wonke ama-CPU cores. Ukuhlanganisa okuzenzakalelayo, ukuphathwa kosayizi wesizindalwazi okuzenzakalelayo, kanye nesilinganiso semibuzo yobubanzi kuyasekelwa. Kusukela ngo-2016, iphrojekthi ixhaswe yi-Positive Technologies futhi isetshenziswe emikhiqizweni yayo kusukela ngo-2017.

I-libmdbx inikeza i-C++ API ethuthukisiwe, kanye nezibopho ezisekelwa umshisekeli ezilimini ezithi Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.

Source: opennet.ru

Engeza amazwana