Decentralizētā LF krātuve ir nodota atvērtai licencei

Tagad ir pieejams decentralizēts, replicēts atslēgu/vērtību datu krātuve LF 1.1.0. Projektu izstrādā ZeroTier, kas izstrādā virtuālo Ethernet komutatoru, kas ļauj vienā virtuālajā lokālajā tīklā apvienot pie dažādiem nodrošinātājiem izvietotās hostus un virtuālās mašīnas, kuras dalībnieki apmainās ar datiem P2P režīmā. Projekta kods ir uzrakstīts C valodā. Jaunais laidiens ir ievērojams ar pāreju uz bezmaksas MPL 2.0 licenci (Mozilla Public License).

Iepriekš LF kods bija pieejams saskaņā ar BSL (Business Source License), kas nav bezmaksas, jo tiek diskriminētas noteiktas lietotāju kategorijas. BSL licenci ierosināja MySQL līdzdibinātāji kā alternatīvu Open Core modelim. BSL būtība ir tāda, ka uzlabotās funkcionalitātes kods sākotnēji ir pieejams modificēšanai, taču kādu laiku bez maksas var izmantot tikai tad, ja tiek izpildīti papildu nosacījumi, kuru apiešanai nepieciešams iegādāties komerclicenci.

LF ir pilnībā decentralizēta sistēma, kas ļauj izvietot vienu datu krātuvi atslēgas vērtības formātā virs patvaļīga skaita mezglu. Dati tiek sinhronizēti visos mezglos, un visas izmaiņas tiek pilnībā replicētas visos mezglos. Visi LF mezgli ir vienādi viens ar otru. Atsevišķu krātuves darbību koordinējošu mezglu neesamība ļauj atbrīvoties no viena kļūmes punkta, un pilnīgas datu kopijas klātbūtne katrā mezglā novērš informācijas zudumu, kad atsevišķi mezgli neizdodas vai tiek atvienoti.

Lai tīklam pievienotu jaunu mezglu, nav jāiegūst atsevišķas atļaujas – ikviens var izveidot savu mezglu. LF datu modelis ir veidots ap virzītu aciklisku grafiku (DAG), kas vienkāršo sinhronizāciju un ļauj izmantot dažādas konfliktu risināšanas un drošības stratēģijas. Atšķirībā no sadalītās hash tabulas (DHT) sistēmām, IF arhitektūra sākotnēji ir paredzēta lietošanai neuzticamos tīklos, kur netiek garantēta pastāvīga mezglu pieejamība. No LF pielietojuma jomām tiek minēta visizturīgāko uzglabāšanas sistēmu izveide, kurās tiek glabāti salīdzinoši nelieli kritisko datu apjomi, kas reti mainās. Piemēram, LF ir piemērots atslēgu krātuvēm, sertifikātiem, identitātes parametriem, konfigurācijas failiem, jaucējkodiem un domēnu nosaukumiem.

Lai aizsargātu pret pārslodzi un ļaunprātīgu izmantošanu, tiek piemērots rakstīšanas operāciju intensitātes ierobežojums koplietojamā krātuvē, kas ieviests, pamatojoties uz darba apliecinājumu - lai varētu saglabāt datus, krātuves tīkla dalībniekam ir jāaizpilda noteikta uzdevums, kas ir viegli pārbaudāms, bet aprēķinos prasa lielus resursus (līdzīgi kā organizējot sistēmu paplašināšanu, pamatojoties uz blokķēdi un CRDT). Aprēķinātās vērtības tiek izmantotas arī kā zīme, risinot konfliktus.

Kā alternatīvu tīklā var iedarbināt sertifikācijas iestādi, kas izsniedz dalībniekiem kriptogrāfiskos sertifikātus, dodot tiesības pievienot ierakstus bez darba apstiprinājuma un dodot prioritāti konfliktu risināšanā. Pēc noklusējuma krātuve ir pieejama bez ierobežojumiem jebkuru dalībnieku pieslēgšanai, taču pēc izvēles, pamatojoties uz sertifikātu sistēmu, var izveidot norobežotas privātās krātuves, kurās par dalībniekiem var kļūt tikai tīkla īpašnieka sertificēti mezgli.

Galvenās LF iezīmes:

  • Viegli izvietot savu krātuvi un izveidot savienojumu ar esošajiem publiskajiem krātuves tīkliem.
  • Nav viena neveiksmes punkta un iespējas visus iesaistīt krātuves uzturēšanā.
  • Ātra piekļuve visiem datiem un iespēja piekļūt datiem, kas paliek tā mezglā, pat pēc tīkla savienojuma pārtraukuma.
  • Universāls drošības modelis, kas ļauj kombinēt dažādus konfliktu risināšanas mehānismus (lokālā heiristika, svars, pamatojoties uz paveikto darbu, ņemot vērā citu mezglu uzticības līmeni, sertifikātus).
  • Elastīga API datu vaicāšanai, kas ļauj norādīt vairākas ligzdotas atslēgas vai vērtību diapazonus. Spēja saistīt vairākas vērtības vienai atslēgai.
  • Visi dati tiek glabāti šifrētā veidā, ieskaitot atslēgas, un pārbaudīti. Sistēmu var izmantot, lai organizētu konfidenciālu datu glabāšanu neuzticamos mezglos. Ierakstus, kuriem atslēgas nav zināmas, nevar noteikt ar brutālu spēku (nezinot atslēgu, nav iespējams iegūt ar to saistītos datus).

Ierobežojumi ietver koncentrēšanos uz mazu, reti mainīgu datu glabāšanu, bloķēšanas un garantētas datu konsekvences neesamību, augstas prasības CPU, atmiņai, diska vietai un joslas platumam, kā arī pastāvīgu krātuves lieluma palielināšanos laika gaitā.

Avots: opennet.ru

Pievieno komentāru