Liberasyon DBMS libmdbx 0.11.7. Deplase devlopman nan GitFlic apre bloke sou GitHub

Bibliyotèk libmdbx 0.11.7 (MDBX) te lage ak aplikasyon yon baz done kle-valè ki wo-pèfòmans. Kòd libmdbx la gen lisans anba Lisans Piblik OpenLDAP. Tout sistèm operasyon ak achitekti aktyèl yo sipòte, osi byen ke Ris Elbrus 2000.

Liberasyon an remakab pou migrasyon pwojè a nan sèvis GitFlic apre, 15 avril 2022, administrasyon GitHub, san okenn avètisman oswa eksplikasyon, te efase libmdbx ansanm ak yon pakèt lòt pwojè, pandan y ap bloke aksè a anpil devlopè ki asosye ak konpayi yo sijè a sanksyon Etazini. Soti nan pwen de vi itilizatè yo, tout paj, depo a ak fouchèt nan pwojè a toudenkou tounen yon paj 404, san yo pa posiblite pou nenpòt kominikasyon ak chèche konnen rezon ki fè yo.

Malerezman, prèske tout pwoblèm, kote te gen anpil kesyon ak repons detaye, osi byen ke anpil diskisyon, yo te pèdi. Pèt enfòmasyon sa yo se sèl domaj objektif ke administrasyon GitHub te rive fè sou pwojè a. Kopi pasyèl nan diskisyon yo rete disponib sou archive.org.

Pèt senaryo CI konstwiksyon ak enfrastrikti (disponib pou pwojè OpenSource gratis) te fòse nou antreprann revizyon, inifikasyon ak eliminasyon ti dèt teknik. Koulye a, CI te retabli prèske nan menm limit, ak eksepsyon de tès yo bati ak kouri pou tout BSD ak Solaris varyant. Tipikman, apre aksyon yo, GitHub pa t resevwa okenn klarifikasyon oswa notifikasyon, apa de rapèl sou bezwen an pou peman ak tantativ pou retire lajan.

Depi dènye nouvèl sou liberasyon libmdbx v0.11.3, anplis de rekiperasyon nan aksyon GitHub, li vo sonje amelyorasyon ak koreksyon sa yo:

  • Te ajoute yon solisyon pou yon efè enkoyerans detekte / defo nan paj konbine ak kachèt tanpon nan nwayo Linux la. Nan sistèm kote paj ak kachèt tanpon yo vrèman konbine, pa gen okenn pwen nan nwayo a gaspiye memwa pou de kopi done lè w ap ekri nan yon dosye ki deja trase nan memwa. Se poutèt sa, done yo te ekri yo vin vizib nan kat memwa anvan apèl sistèm write() la fini, menm si done yo poko ekri sou disk.

    An jeneral, lòt konpòtman pa rasyonèl, paske ak yon fizyon difere, w ap toujou gen pou jwenn kadna pou lis paj, kopi done, oswa ajiste PTE. Se poutèt sa, règ koerans ki pa pale a te anvigè depi 1989, lè kachèt tanpon inifye a te parèt nan SRV4. Se poutèt sa, detekte aksidan etranj nan senaryo eksplwatasyon libmdbx chaje te mande anpil travay. Premyèman repwodui pwoblèm nan, Lè sa a, verifye ipotèz ak amelyorasyon tès.

    Koulye a, nou ka di avèk konfyans ke pwoblèm nan te byen idantifye, lokalize ak fyab elimine, malgre konpleksite a ak espesifik nan senaryo a repwodiksyon. Anplis de sa, youn nan devlopè Erigon (Ethereum) konfime operasyon an nan mekanis kontoune; nan ka li a, sou konstriksyon an debug, pwoteksyon an te deklanche kòm yon regresion akòz yon chèk afimasyon nesesè.

    Li ta dwe remake ke nan kontèks la nan itilizasyon toupatou nan libmdbx nan pwojè pwodiksyon, asire operasyon serye se fondamantalman pi enpòtan pase lè n ap kalkile konnen si li se yon ensèk oswa yon karakteristik ak si wi ou non koerans sa yo ka konte sou, anpil mwens rechèch pou la. kòz enkoyerans nan nwayo Linux la. Se poutèt sa, isit la nou ap pale sou repare yon pwoblèm ki ka afekte itilizatè yo.

  • Anregresyon erè EXDEV (Lyen kwa-aparèy) lè w kopye yon baz done san yo pa konpaktifikasyon nan yon lòt sistèm fichye, tou de atravè API a ak sèvis piblik mdbx_copy, te elimine.
  • Kris Zyp aplike sipò libmdbx nan Deno. Kai Wetlesen fèt anbalaj RPM pou Fedora. David Bouyssié te mete ann aplikasyon pou Scala.
  • Pwosesis fiks nan valè ki espesifye nan opsyon MDBX_opt_rp_augment_limit lè w ap trete gwo tranzaksyon nan baz done gwo. Précédemment, akòz yon erè, aksyon ki pa nesesè yo te kapab fèt, ki pafwa afekte pèfòmans nan aplikasyon Ethereum (Erigon / Akula / Silkworm) ak pwojè Binance Chain.
  • Yon anpil nan pinèz yo te fikse, ki gen ladan nan C++ API a. Fiks anpil pwoblèm bati nan konfigirasyon ra ak ekzotik. Yon lis konplè tout amelyorasyon enpòtan ki disponib nan ChangeLog.
  • Yo te fè yon total 185 chanjman nan 89 dosye, ≈3300 liy yo te ajoute, ≈4100 yo te efase. Plis yo te retire sitou akòz netwayaj dosye teknoloji ki deja initil ki asosye ak GitHub ak sèvis depandan yo.

Istorikman, libmdbx se yon retravay pwofon nan DBMS LMDB la epi li siperyè zansèt li yo nan fyab, seri karakteristik ak pèfòmans. Konpare ak LMDB, libmdbx mete anpil anfaz sou kalite kòd, estabilite API, tès, ak chèk otomatik. Yon sèvis piblik pou tcheke entegrite estrikti baz done a ak kèk kapasite rekiperasyon yo apwovizyone.

Teknoloji-saj, libmdbx ofri ACID, seri chanjman fò, ak lekti ki pa bloke ak echèl lineyè atravè nwayo CPU yo. Oto-konpaktifikasyon, jesyon otomatik gwosè baz done, ak estimasyon rechèch ranje yo sipòte. Depi 2016, pwojè a te finanse pa Positive Technologies epi yo te itilize nan pwodwi li yo depi 2017.

libmdbx ofri yon API C++ devlope, osi byen ke atachman antouzyas yo sipòte nan lang yo Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala.

Sous: opennet.ru

Add nouvo kòmantè