Malcentralizita LF-stokado estis translokigita al malferma permesilo

LF 1.1.0, malcentralizita, reproduktita ŝlosila/valora datumvendejo, nun haveblas. La projekto estas disvolvita de ZeroTier, kiu disvolvas virtualan Ethernet-ŝaltilon, kiu ebligas al vi kombini gastigantojn kaj virtualajn maŝinojn situantajn ĉe malsamaj provizantoj en unu virtuala loka reto, kies partoprenantoj interŝanĝas datumojn en P2P-reĝimo. La projektkodo estas skribita en C-lingvo. La nova eldono estas rimarkinda pro sia transiro al la libera MPL 2.0-licenco (Mozilla Public License).

Antaŭe, la LF-kodo estis havebla sub BSL (Komerca Fonta Licenco), kiu ne estas senpaga pro diskriminacio kontraŭ iuj kategorioj de uzantoj. La BSL-licenco estis proponita fare de la kunfondintoj de MySQL kiel alternativo al la Open Core-modelo. La esenco de BSL estas, ke la kodo de altnivela funkcieco estas komence disponebla por modifo, sed dum iom da tempo povas esti uzata senpage nur se pliaj kondiĉoj estas plenumitaj, kiuj postulas la aĉeton de komerca permesilo por eviti.

LF estas tute malcentralizita sistemo kaj permesas vin disfaldi ununuran datumvendejon en ŝlosilvalora formato aldone al arbitra nombro da nodoj. Datenoj estas konservitaj sinkronigitaj tra ĉiuj nodoj, kaj ĉiuj ŝanĝoj estas plene reproduktitaj tra ĉiuj nodoj. Ĉiuj nodoj en LF estas egalaj unu al la alia. La foresto de apartaj nodoj kunordigantaj la funkciadon de la stokado permesas vin forigi ununuran punkton de fiasko, kaj la ĉeesto de kompleta kopio de la datumoj sur ĉiu nodo forigas la perdon de informoj kiam individuaj nodoj malsukcesas aŭ estas malkonektitaj.

Por konekti novan nodon al la reto, vi ne bezonas akiri apartajn permesojn - ĉiu povas komenci sian propran nodon. La datummodelo de LF estas konstruita ĉirkaŭ direktita acikla grafeo (DAG), kiu simpligas sinkronigon kaj enkalkulas gamon da konfliktosolvado kaj sekurecstrategioj. Male al distribuita hashtablo (DHT) sistemoj, la IF-arkitekturo estas komence dizajnita por uzo en nefidindaj retoj kie la konstanta havebleco de nodoj ne estas garantiita. Inter la kampoj de apliko de LF, la kreado de la plej pluviveblaj stokadsistemoj estas menciita, en kiuj relative malgrandaj volumoj de kritikaj datumoj estas stokitaj kiuj malofte ŝanĝiĝas. Ekzemple, LF taŭgas por ŝlosilaj vendejoj, atestiloj, identecaj parametroj, agordaj dosieroj, hashoj kaj domajnaj nomoj.

Por protekti kontraŭ troŝarĝo kaj misuzo, limo de la intenseco de skribaj operacioj al la komuna stokado estas aplikata, efektivigita surbaze de pruvo de laboro - por povi ŝpari datumojn, partoprenanto en la stokado-reto devas plenumi certan. tasko, kiu estas facile kontrolita, sed postulas grandajn komputilajn rimedojn (similaj al organizado de la ekspansio de sistemoj bazitaj sur blokĉeno kaj CRDT). La kalkulitaj valoroj ankaŭ estas uzataj kiel signo dum solvado de konfliktoj.

Kiel alternativo, atestila aŭtoritato povas esti lanĉita en la reto por elsendi kriptografiajn atestojn al partoprenantoj, donante la rajton aldoni rekordojn sen konfirmo de laboro kaj donante prioritaton en solvado de konfliktoj. Defaŭlte, la stokado disponeblas sen limigoj por konekti iujn ajn partoprenantojn, sed laŭvole, surbaze de atestsistemo, oni povas krei forigitajn privatajn stokaĵojn, en kiuj nur nodoj atestitaj de la posedanto de la reto povas fariĝi partoprenantoj.

Ĉefaj trajtoj de LF:

  • Facile disfaldi vian propran stokadon kaj konekti al ekzistantaj publikaj stokaj retoj.
  • Ne ekzistas ununura punkto de fiasko kaj la kapablo impliki ĉiujn en konservado de la stokado.
  • Altrapida aliro al ĉiuj datumoj kaj la kapablo aliri datumojn restantajn sur ĝia nodo, eĉ post interrompo en retkonektebleco.
  • Universala sekureca modelo, kiu ebligas al vi kombini diversajn konfliktsolvajn mekanismojn (lokaj heŭristiko, pezo bazita sur finita laboro, konsiderante la fidan nivelon de aliaj nodoj, atestiloj).
  • Fleksebla API por pridemandi datumojn, kiuj permesas specifi plurajn nestitajn ŝlosilojn aŭ valorintervalojn. Kapablo ligi plurajn valorojn al unu ŝlosilo.
  • Ĉiuj datumoj estas konservitaj en ĉifrita formo, inkluzive de ŝlosiloj, kaj kontrolitaj. La sistemo povas esti uzata por organizi la konservadon de konfidencaj datumoj sur nefidindaj nodoj. Rekordoj por kiuj la ŝlosiloj ne estas konataj ne povas esti determinitaj per krudforto (sen koni la ŝlosilon, estas neeble akiri la datumojn asociitajn kun ĝi).

Limigoj inkluzivas fokuson pri stokado de malgrandaj, malofte ŝanĝiĝantaj datumoj, la foresto de seruroj kaj garantiita datuma konsistenco, altaj postuloj por CPU, memoro, diskospaco kaj bendolarĝo, kaj konstanta pliiĝo en stokado grandeco dum tempo.

fonto: opennet.ru

Aldoni komenton