Decentralizuota LF saugykla buvo perkelta į atvirąją licenciją

Dabar pasiekiama LF 1.1.0, decentralizuota, pakartota rakto / vertės duomenų saugykla. Projektą kuria „ZeroTier“, kurianti virtualų Ethernet komutatorių, leidžiantį sujungti pas skirtingus tiekėjus esančius hostus ir virtualias mašinas į vieną virtualų vietinį tinklą, kurio dalyviai keičiasi duomenimis P2P režimu. Projekto kodas parašytas C kalba. Naujasis leidimas pasižymi perėjimu prie nemokamos MPL 2.0 licencijos („Mozilla Public License“).

Anksčiau LF kodas buvo prieinamas pagal BSL (verslo šaltinio licenciją), kuri nėra nemokama dėl tam tikrų kategorijų vartotojų diskriminacijos. BSL licenciją kaip alternatyvą Open Core modeliui pasiūlė MySQL įkūrėjai. BSL prielaida yra ta, kad išplėstinio funkcionalumo kodas iš pradžių yra prieinamas modifikacijai, tačiau tam tikrą laiką gali būti naudojamas nemokamai tik tuo atveju, jei įvykdomos papildomos sąlygos, kurių apeiti reikia įsigyti komercinę licenciją.

LF yra visiškai decentralizuota sistema, leidžianti įdiegti vieną duomenų saugyklą rakto vertės formatu ant savavališko skaičiaus mazgų. Duomenys sinchronizuojami visuose mazguose, o visi pakeitimai yra visiškai atkartojami visuose mazguose. Visi LF mazgai yra lygūs vienas kitam. Atskirų mazgų, koordinuojančių saugyklos veikimą, nebuvimas leidžia atsikratyti vieno gedimo taško, o visos duomenų kopijos buvimas kiekviename mazge pašalina informacijos praradimą, kai atskiri mazgai sugenda arba yra atjungiami.

Norint prijungti naują mazgą prie tinklo, nereikia gauti atskirų leidimų – kiekvienas gali sukurti savo mazgą. LF duomenų modelis sukurtas remiantis nukreiptu acikliniu grafiku (DAG), kuris supaprastina sinchronizavimą ir leidžia taikyti įvairias konfliktų sprendimo ir saugumo strategijas. Skirtingai nei paskirstytos maišos lentelės (DHT) sistemos, IF architektūra iš pradžių sukurta naudoti nepatikimuose tinkluose, kur negarantuojamas nuolatinis mazgų prieinamumas. Iš LF taikymo sričių minimas labiausiai išgyvenamų saugojimo sistemų kūrimas, kuriose saugomi palyginti nedideli kritinių duomenų kiekiai, kurie retai kinta. Pavyzdžiui, LF tinka raktų saugykloms, sertifikatams, tapatybės parametrams, konfigūracijos failams, maišoms ir domenų pavadinimams.

Siekiant apsisaugoti nuo perkrovos ir piktnaudžiavimo, taikomas rašymo operacijų į bendrinamą saugyklą intensyvumo limitas, įgyvendinamas remiantis darbo įrodymu – tam, kad būtų galima išsaugoti duomenis, saugojimo tinklo dalyvis turi atlikti tam tikrą užduotis, kuri yra lengvai patikrinama, tačiau reikalauja didelių skaičiavimo resursų (panašiai kaip organizuojant blokų grandine ir CRDT pagrįstų sistemų plėtrą). Apskaičiuotos vertės taip pat naudojamos kaip ženklas sprendžiant konfliktus.

Kaip alternatyva, tinkle gali būti paleista sertifikatų institucija, kuri dalyviams išduoda kriptografinius sertifikatus, suteikiančius teisę pridėti įrašus be patvirtinimo apie darbą ir suteikiant pirmenybę sprendžiant konfliktus. Pagal numatytuosius nustatymus saugykla yra prieinama be apribojimų jungti bet kuriuos dalyvius, tačiau pasirinktinai, remiantis sertifikatų sistema, galima sukurti aptvertas privačias saugyklas, kuriose dalyviais gali tapti tik tinklo savininko sertifikuoti mazgai.

Pagrindinės LF savybės:

  • Lengva įdiegti savo saugyklą ir prisijungti prie esamų viešųjų saugyklų tinklų.
  • Nėra vieno gedimo taško ir galimybės visus įtraukti į saugyklos priežiūrą.
  • Greita prieiga prie visų duomenų ir galimybė pasiekti duomenis, likusius jo mazge, net ir sutrikus tinklo ryšiui.
  • Universalus saugumo modelis, leidžiantis derinti įvairius konfliktų sprendimo mechanizmus (vietinė euristika, svoris pagal atliktą darbą, atsižvelgiant į kitų mazgų pasitikėjimo lygį, sertifikatus).
  • Lanksti API duomenų užklausai, leidžianti nurodyti kelis įdėtus raktus arba reikšmių diapazonus. Galimybė susieti kelias reikšmes su vienu raktu.
  • Visi duomenys, įskaitant raktus, saugomi užšifruota forma ir yra patikrinti. Sistema gali būti naudojama organizuoti konfidencialių duomenų saugojimą nepatikimuose mazguose. Įrašai, kurių raktai nežinomi, negali būti nustatyti žiauria jėga (nežinant rakto, neįmanoma gauti su juo susijusių duomenų).

Apribojimai apima susitelkimą į mažų, retai besikeičiančių duomenų saugojimą, užraktų nebuvimą ir garantuotą duomenų nuoseklumą, didelius CPU, atminties, vietos diske ir pralaidumo reikalavimus bei nuolatinį saugyklos dydžio didėjimą laikui bėgant.

Šaltinis: opennet.ru

Добавить комментарий