rqlite, en utmerket lett distribuert relasjons DBMS

Si du leter etter et distribuert DBMS som bruker SQLite som lagringsmotor, la meg fortelle deg det rqlite er den for deg, siden det tillater organisering av en klynges arbeid basert på synkroniserte lagre.

Fra rqlite-funksjonene, enkel installasjon, implementering og vedlikehold er uthevet av distribuert lagring feiltolerant, som er noe lik etcd og konsul, men den bruker en relasjonsdatamodell i stedet for et nøkkel / verdi-format.

Om rqlite

Raft-konsensusalgoritmen brukes til å holde alle noder synkroniserte. Rqlite bruk originalt SQLite-bibliotek og go-sqlite3-driver, i tillegg til at den utfører et lag som behandler klientforespørsler, replikerer seg selv i andre noder og overvåker konsensusen som er nådd om valget av hovednoden.

Endringer i databasen kan bare gjøres av noden som er valgt som leder, men forbindelsene med skriveoperasjoner kan rettes til andre noder i klyngen, som vil returnere lederens adresse for å gjenta forespørselen (i neste versjon lover de å legge til automatisk videresending av samtalen til lederen).

Hovedfokus er på feiltoleranse, så DBMS skalere bare i leseoperasjoner, og skriveoperasjoner er flaskehalsen. Det er mulig å kjøre en rqlite-klynge fra en enkelt node, og en slik løsning kan brukes til å gi tilgang til SQLite via HTTP uten å gi feiltoleranse.

SQLite-data i hver node er de ikke lagret i en fil, men i minnet. På lagnivå med implementeringen av Raft-protokollen blir det ført en oversikt over alle SQLite-kommandoer som fører til endring i databasen.

Denne posten brukes til replikering (replikering på spørringsavspillingsnivå til andre noder), når du starter en ny node, eller for å gjenopprette fra tap av tilkobling.

For å redusere størrelsen på posten brukes automatisk emballasje, som starter etter et spesifisert antall endringer og fører til bekreftelse av et øyeblikksbilde, mot hvilket en ny post begynner (tilstanden til databasen i minnet er identisk med øyeblikksbilde + akkumulert endringslogg).

Fra rqlite-funksjonene:

  • Enkel distribusjon av klynger, uten behov for en separat SQLite-installasjon.
  • Evne til raskt å skaffe replikert SQL-lagring.
  • Klar til bruk i produksjonsprosjekter.
  • Tilgjengelighet av HTTP (S) API, som gjør det mulig å oppdatere data i batch-modus og bestemme ledernoden til klyngen. Et kommandolinjegrensesnitt og klientbiblioteker for forskjellige programmeringsspråk er også gitt.
  • Tilstedeværelsen av en tjeneste for å definere andre noder som lar deg dynamisk lage klynger.
  • Støtte for kryptering av datautveksling mellom noder.
  • Evnen til å tilpasse nivået for å kontrollere relevans og konsistens av data når du leser.
  • Valgfri mulighet til å koble til skrivebeskyttede noder som ikke deltar i konsensusbestemmelse og brukes til å øke skalerbarheten i klyngen for leseoperasjoner.
  • Støtte for den opprinnelige formen for transaksjoner basert på å kombinere kommandoer i en enkelt forespørsel (transaksjoner basert på BEGIN, COMMIT, ROLLBACK, SAVEPOINT og RELEASE støttes ikke).

Om rqlite 6.0

Den nye versjonen introduserer betydelige arkitektoniske endringer med sikte på å forbedre klyngepåliteligheten ved å forbedre prosessen med å lede lese- og skriveforespørsler til riktige klyngenoder.

Rqlite noder nå kan multipleksere flere logiske forbindelser mellom dem ved hjelp av TCP-forbindelsene som er etablert mellom nodene ved hjelp av Raft-protokollen. Hvis forespørselen krever autorisasjon fra ledernoden, men sendes til den sekundære noden, kan den sekundære noden bestemme adressen til lederen og overføre den til klienten uten å utføre Raft-konsensusberegningen.

Endringen fjernet også den separate komponenten for synkronisering av metadata og fjernet Rafts separate håndtering av status og metadata.

Sekundære noder sender nå forespørsler til leadnoden bare når det er nødvendig, når det er nødvendig å finne ut adressen til leadnoden. API gir muligheten til å skaffe informasjon om statusen til andre noder i klyngen. Sysdump-kommando lagt til CLI.

Endelig hvis du er interessert i å vite mer om det eller se installasjonsinstruksjonene og brukerhåndboken, du kan gjøre det fra lenken under.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.