Sakin DBMS libmdbx 0.11.7. Matsar da haɓaka zuwa GitFlic Bayan Kulle akan GitHub

An fito da ɗakin karatu na libmdbx 0.11.7 (MDBX) tare da aiwatar da ƙaƙƙarfan ƙaƙƙarfan ƙima mai ƙima mai mahimmanci. An rarraba lambar libmdbx a ƙarƙashin Lasisin Jama'a na OpenLDAP. Ana tallafawa duk tsarin aiki na yanzu da gine-gine, da kuma Elbrus 2000 na Rasha.

Sakin sanannen sananne ne don ƙaura na aikin zuwa sabis na GitFlic bayan gwamnatin GitHub ta cire libmdbx tare da ɗimbin sauran ayyukan a ranar 15 ga Afrilu, 2022 ba tare da wani gargaɗi ko bayani ba, yayin da a lokaci guda toshe damar shiga yawancin masu haɓakawa da ke da alaƙa da kamfanonin da suka faɗi. karkashin takunkumin Amurka. Daga ra'ayi na mai amfani, duk shafuka, ma'ajiyar aiki da cokula masu yatsa na aikin ba zato ba tsammani sun juya zuwa shafi na "404", ba tare da yiwuwar wata hanyar sadarwa da gano dalilan ba.

Abin takaici, kusan dukkanin batutuwa sun ɓace, wanda akwai tambayoyi da yawa tare da cikakkun amsoshi, da kuma tattaunawa mai yawa. Asarar wannan bayanin shine kawai lalacewar haƙiƙa da gwamnatin GitHub ta yi nasarar yi akan aikin. Ana samun ɗan kwafi na tattaunawar a cikin rumbun adana bayanai.org.

Asarar ginanniyar rubutun CI da abubuwan more rayuwa (samuwa don ayyukan OpenSource kyauta) ya tilasta mana yin bita, haɗin kai da kawar da ƙaramin bashi na fasaha. Yanzu an mayar da CI zuwa kusan iri ɗaya, ban da ginanniyar gini da gwaje-gwaje don duk bambance-bambancen BSD da Solaris. A bayyane yake, bayan ayyukan GitHub, ba a sami ƙarin haske ko sanarwa ba, baya ga tunatarwa game da buƙatar biyan kuɗi da yunƙurin kashe kuɗi.

Tun da labari na ƙarshe game da sakin libmdbx v0.11.3, ban da murmurewa daga ayyukan GitHub, haɓakawa da gyare-gyare masu zuwa ya kamata a lura:

  • An ƙara hanyar aiki don gano tasirin rashin daidaituwa / lahani a cikin haɗewar shafi da ma'ajin buffer a cikin kernel na Linux. A kan tsarin da shafi da caches ɗin keɓaɓɓu suna haɗe da gaske, ba shi da ma'ana ga kernel don ɓata ƙwaƙwalwar ajiya akan kwafin bayanai guda biyu lokacin rubutawa zuwa fayil ɗin da aka riga aka yi taswirar ƙwaƙwalwar ajiya. Don haka, bayanan da ake rubutawa suna fitowa ta hanyar taswirar ƙwaƙwalwar ajiya kafin tsarin tsarin rubuta () ya ƙare, koda kuwa har yanzu ba a rubuta bayanan zuwa faifai ba.

    Gabaɗaya, sauran halayen ba su da ma'ana, saboda tare da jinkirin haɗuwa, har yanzu dole ne ku kama makullai don jerin shafi, kwafi bayanai, ko daidaita PTE. Saboda haka, ƙa'idar haɗin kai da ba a faɗi ba tana aiki tun 1989, lokacin da cache ɗin haɗin kai ya bayyana a cikin SRV4. Don haka, gano kasawar ban mamaki a cikin al'amuran samar da libmdbx na buƙatar aiki mai yawa. Na farko, ta hanyar sake haifar da matsalar, sannan ta hanyar tabbatar da hasashe da duba abubuwan ingantawa.

    Yanzu za mu iya da gaba gaɗi cewa an gano matsalar cikin dogaro, an ware shi kuma an kawar da shi cikin dogaro, duk da rikitarwa da ƙayyadaddun yanayin sake kunnawa. Bugu da ƙari, an tabbatar da aikin hanyar wucewa ta hanyar ɗaya daga cikin masu haɓaka Erigon (Ethereum), a cikin yanayinsa, akan ginin da aka gyara, kariyar ta haifar da koma baya saboda ƙarin tabbatarwa.

    Ya kamata a lura cewa a cikin mahallin amfani da libmdbx da yawa a cikin ayyukan aiki, yana da mahimmanci mafi mahimmanci don tabbatar da ingantaccen aiki, maimakon gano "wannan kuskure ne ko alama" kuma ko za a iya dogara da irin wannan haɗin kai, musamman rashin gano abubuwan da ke haifar da rashin daidaituwa a cikin kernel na Linux. Saboda haka, a nan muna magana ne game da gyara matsalar da za ta iya shafar masu amfani.

  • Kafaffen koma baya na kuskuren EXDEV (Cross-na'urar) lokacin zazzafan kwafin bayanai ba tare da haɗawa zuwa wani tsarin fayil ba, duka ta hanyar API kuma ta amfani da mdbx_copy utility.
  • Kris Zyp ya aiwatar da tallafi ga libmdbx a Deno. Kai Wetlesen ya shirya RPMs don Fedora. David Bouyssie ya aiwatar da ɗawainiya don Scala.
  • Kafaffen sarrafa ƙimar da zaɓin MDBX_opt_rp_augment_limit ya saita lokacin sarrafa manyan ma'amaloli a manyan ma'ajin bayanai. A baya can, saboda kwaro, ana iya aiwatar da ayyukan da ba dole ba, wanda wani lokaci ya shafi aikin aiwatarwa na Ethereum (Erigon / Akula / Silkworm) da ayyukan Binance Chain.
  • An gyara kwari da yawa, gami da waɗanda ke cikin C++ API. Kafaffen al'amurran ginawa da yawa a cikin ƙayyadaddun ƙayyadaddun saiti. Ana samun cikakken jerin duk mahimman abubuwan haɓakawa a cikin ChangeLog.
  • An yi jimlar canje-canje 185 zuwa fayiloli 89, an ƙara layin 3300, an share ≈4100. An cire shi galibi saboda goge fayilolin fasaha mara amfani da ke da alaƙa da GitHub da sabis na dogaro.

A tarihi, libmdbx babban sake fasalin LMDB DBMS ne kuma ya zarce zuriyarsa ta fuskar dogaro, saitin fasali da aiki. Idan aka kwatanta da LMDB, libmdbx yana ba da fifiko mai yawa akan ingancin lambar, kwanciyar hankali API, gwaji, da cak na atomatik. Ana ba da kayan aiki don bincika amincin tsarin bayanai tare da wasu zaɓuɓɓukan dawowa.

A fannin fasaha, libmdbx yana ba da ACID, tsantsar canjin serialization, da rashin toshewa karantawa tare da sikelin liarfi a cikin kwas ɗin CPU. Ana goyan bayan haɗakarwa ta atomatik, sarrafa girman bayanai ta atomatik, da ƙididdige ƙimar tambaya. Tun daga 2016, fasahar Positive Technologies ce ke ba da tallafin aikin kuma ana amfani da ita a cikin samfuran ta tun 2017.

libmdbx yana ba da haɓakar C++ API, da kuma abubuwan haɗin kai masu goyon baya ga Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.

source: budenet.ru

Add a comment