rqlite, odličen lahek porazdeljen relacijski DBMS

Si iščete porazdeljeni DBMS ki uporablja SQLite kot pomnilniški mehanizem, naj vam to povem rqlite je tisti za vas, saj omogoča organiziranje dela grozda iz medsebojno sinhroniziranih skladišč.

Od funkcij rqlite, poudarjena je enostavnost namestitve, izvedbe in vzdrževanja porazdeljenega pomnilnika odporen proti napakam, ki je nekoliko podoben etcd in Consul, vendar uporablja relacijski podatkovni model namesto zapisa ključ / vrednost.

O rqlite

Soglasni algoritem Raft se uporablja za sinhronizacijo vseh vozlišč. Rqlite uporabite izvirno knjižnico SQLite in gonilnik go-sqlite3, poleg tega pa izvede plast, ki obdeluje zahteve odjemalca, se replicira v druga vozlišča in spremlja doseženo soglasje o izbiri glavnega vozlišča.

Spremembe v zbirki podatkov lahko izvede samo vozlišče, izbrano za vodjo, vendar lahko povezave z operacijami pisanja usmerimo na druga vozlišča v gruči, ki bodo vrnila naslov vodje za ponovitev zahteve (v naslednji različici obljubljajo, da bodo dodali samodejno preusmeritev klica vodji).

Glavni poudarek je na toleranci napak, torej DBMS lestvica samo pri operacijah branja, in pisanje so ozko grlo. Iz enega vozlišča je mogoče zagnati gručo rqlite in takšno rešitev lahko uporabimo za zagotovitev dostopa do SQLite prek HTTP brez zagotavljanja tolerance napak.

Podatki SQLite v vsakem vozlišču niso shranjeni v datoteki, temveč v pomnilniku. Na ravni plasti se z izvajanjem protokola Raft vodi evidenca vseh ukazov SQLite, ki vodijo do spremembe baze podatkov.

Ta zapis se uporablja za kopiranje (kopiranje na ravni predvajanja poizvedbe na druga vozlišča), ob zagonu novega vozlišča, ali za obnovitev zaradi izgube povezave.

Za zmanjšanje velikosti zapisa se uporablja samodejno pakiranje, ki se zažene po določenem številu sprememb in vodi do potrditve posnetka, na podlagi katerega se začne nov zapis (stanje baze podatkov v pomnilniku je enako posnetku + dnevnik kopičenih sprememb).

Med funkcijami rqlite:

  • Enostavnost uvedbe gruče brez potrebe po ločeni namestitvi SQLite.
  • Sposobnost hitrega pridobivanja podvojenega pomnilnika SQL.
  • Pripravljen za uporabo v proizvodnih projektih.
  • Razpoložljivost API-ja HTTP (S), ki omogoča posodabljanje podatkov v paketnem načinu in določanje vodilnega vozlišča gruče. Na voljo so tudi vmesnik ukazne vrstice in odjemalske knjižnice za različne programske jezike.
  • Prisotnost storitve za definiranje drugih vozlišč, ki vam omogoča dinamično ustvarjanje gruč.
  • Podpora za šifriranje izmenjave podatkov med vozlišči.
  • Sposobnost prilagajanja ravni preverjanja ustreznosti in skladnosti podatkov med branjem.
  • Izbirna zmožnost povezovanja vozlišč samo za branje, ki ne sodelujejo pri določanju konsenza in se uporabljajo za povečanje razširljivosti gruče za bralne operacije.
  • Podpora za izvorno obliko transakcij, ki temelji na kombiniranju ukazov v eni zahtevi (transakcije, ki temeljijo na BEGIN, COMMIT, ROLLBACK, SAVEPOINT in RELEASE, niso podprte).

O rqlite 6.0

Nova različica uvaja pomembne arhitekturne spremembe za izboljšanje zanesljivosti grozdov z izboljšanjem procesa usmerjanja zahtev za branje in pisanje na pravilna vozlišča gruče.

Vozlišča Rqlite zdaj lahko multipleksira več logičnih povezav med njimi s pomočjo povezav TCP, ki jih med vozlišči vzpostavi protokol Raft. Če zahteva zahteva pooblastilo vozlišča vodje, vendar je poslano sekundarnemu vozlišču, lahko sekundarno vozlišče določi naslov vodje in ga pošlje odjemalcu, ne da bi pri tem opravil izračun konsenza Raft.

S spremembo je bila odstranjena tudi ločena komponenta za sinhronizacijo metapodatkov in odstranjeno ločeno ravnanje Rafta s statusom in metapodatki.

Sekundarna vozlišča zdaj pošiljajo zahteve vodilnemu vozlišču le, kadar je to potrebno, ko je treba ugotoviti naslov vodilnega vozlišča. API omogoča pridobivanje informacij o stanju drugih vozlišč v gruči. Ukaz Sysdump dodan v CLI.

Končno če vas zanima več o tem ali preglejte navodila za namestitev in uporabniški priročnik, lahko to storite s spodnje povezave.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.