rqlite, izvrstan lagan distribuirani relacijski DBMS

Si tražite distribuirani DBMS koji koristi SQLite kao mehanizam za pohranu, dopustite mi da vam to kažem rqlite je pravi za vas, budući da omogućuje organiziranje rada klastera iz međusobno sinkroniziranih skladišta.

Od značajki rqlite, istaknuta je jednostavnost instalacije, implementacije i održavanja distribuirane pohrane otporan na kvarove, što je donekle slično etcd i Consul, ali koristi relacijski model podataka umjesto formata ključ / vrijednost.

O rqliteu

Konceptni algoritam Raft koristi se za sinkronizaciju svih čvorova. Rqlite koristiti originalnu SQLite knjižnicu i go-sqlite3 pokretački program, uz koji izvršava sloj koji obrađuje zahtjeve klijenta, replicira se u druge čvorove i nadgleda postignuti konsenzus o izboru glavnog čvora.

Izmjene u bazi podataka može izvršiti samo čvor odabran kao voditelj, ali veze s operacijama pisanja mogu se usmjeriti na druge čvorove u klasteru, koji će vratiti adresu voditelja za ponavljanje zahtjeva (u sljedećoj verziji obećavaju dodati automatsko prosljeđivanje poziva voditelju).

Glavni fokus je na toleranciji kvara, pa DBMS skala samo u operacijama čitanja, i operacije pisanja su usko grlo. Moguće je pokrenuti rqlite klaster s jednog čvora, a takvo rješenje može se koristiti za pružanje pristupa SQLiteu preko HTTP-a bez pružanja tolerancije kvarova.

SQLite podaci u svakom čvoru nisu pohranjeni u datoteci, već u memoriji. Na razini sloja s implementacijom Raft protokola vodi se evidencija svih SQLite naredbi koje dovode do promjene u bazi podataka.

Ovaj se zapis koristi za replikaciju (replikaciju na razini ponovne reprodukcije upita na druge čvorove), prilikom pokretanja novog čvora, ili za oporavak od gubitka veze.

Da bi se smanjila veličina zapisa, koristi se automatsko pakiranje koje započinje nakon određenog broja promjena i dovodi do potvrde snimke, protiv koje započinje novi zapis (stanje baze podataka u memoriji identično je snimci + zapis akumuliranih promjena).

Od značajki rqlite:

  • Jednostavnost postavljanja klastera, bez potrebe za zasebnom instalacijom SQLitea.
  • Sposobnost brzog dobivanja replicirane SQL pohrane.
  • Spremno za upotrebu u proizvodnim projektima.
  • Dostupnost HTTP (S) API-ja, koji omogućuje ažuriranje podataka u batch načinu i određivanje vodećeg čvora klastera. Također su osigurana sučelja naredbenog retka i knjižnice klijenta za razne programske jezike.
  • Prisutnost usluge za definiranje drugih čvorova koja vam omogućuje dinamičko stvaranje klastera.
  • Podrška za šifriranje razmjene podataka između čvorova.
  • Sposobnost prilagodbe razine provjere relevantnosti i dosljednosti podataka prilikom čitanja.
  • Izborna sposobnost povezivanja čvorova samo za čitanje koji ne sudjeluju u određivanju konsenzusa i koriste se za povećanje skalabilnosti klastera za operacije čitanja.
  • Podrška za izvorni oblik transakcija na temelju kombiniranja naredbi u jednom zahtjevu (nisu podržane transakcije temeljene na BEGIN, COMMIT, ROLLBACK, SAVEPOINT i RELEASE).

O rqliteu 6.0

Nova verzija uvodi značajne arhitektonske promjene usmjerene na poboljšanje pouzdanosti klastera poboljšanjem procesa usmjeravanja zahtjeva za čitanje i pisanje na ispravne čvorove klastera.

Rqlite čvorovi sada može multipleksirati više logičkih veza između njih koristeći TCP veze uspostavljene između čvorova protokolom Raft. Ako zahtjev zahtijeva ovlaštenje čvora vođe, ali je poslan sekundarnom čvoru, sekundarni čvor može odrediti adresu vođe i poslati ga klijentu, bez izvođenja Raft konsenzus izračuna.

Izmjena je također uklonila zasebnu komponentu za sinkronizaciju metapodataka i uklonila Raftovo zasebno rukovanje statusom i metapodacima.

Sekundarni čvorovi sada šalju zahtjeve glavnom čvoru samo kada je to potrebno, kada je potrebno saznati adresu čvora elektrode. API pruža mogućnost dobivanja informacija o statusu drugih čvorova u klasteru. Naredba Sysdump dodana je u CLI.

Konačno ako vas zanima više o tome ili potražite upute za instalaciju i korisnički priručnik, to možete učiniti s donje poveznice.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.