rqlite, en fremragende letvægts distribueret relationel DBMS

Si du leder efter et distribueret DBMS der bruger SQLite som en lagermotor, lad mig fortælle dig det rqlite er den for dig, da det giver mulighed for at organisere en klynges arbejde fra lagre synkroniseret med hinanden.

Fra rqlite-funktionerne nem installation, implementering og vedligeholdelse fremhæves distribueret lager fejltolerant, hvilket svarer til etcd og konsul, men det bruger en relationel datamodel i stedet for et nøgle / værdi-format.

Om rqlite

Raft-konsensusalgoritmen bruges til at holde alle noder synkroniserede. Rqlite brug det originale SQLite-bibliotek og go-sqlite3-driveren, ud over som det udfører et lag, der behandler klientanmodninger, replikerer sig selv i andre noder og overvåger den konsensus, der er opnået om valget af hovednoden.

Ændringer i databasen kan kun foretages af den node, der er valgt som leder, men forbindelserne med skriveoperationer kan rettes til andre noder i klyngen, som vil returnere lederens adresse for at gentage anmodningen (i den næste version lover de at tilføje automatisk videresendelse af opkaldet til lederen).

Hovedfokus er på fejltolerance, så DBMS kun skala i læseoperationer, og skriveoperationer er flaskehalsen. Det er muligt at køre en rqlite-klynge fra en enkelt node, og en sådan løsning kan bruges til at give adgang til SQLite via HTTP uden at give fejltolerance.

SQLite-data i hver node lagres de ikke i en fil, men i hukommelsen. På lagniveau med implementeringen af ​​Raft-protokollen registreres alle SQLite-kommandoer, der fører til en ændring i databasen.

Denne post bruges til replikering (replikering på forespørgselens gentagelsesniveau til andre noder), når der startes en ny node, eller til at komme sig efter et tab af forbindelse.

For at reducere postens størrelse bruges automatisk emballage, der starter efter et bestemt antal ændringer og fører til bekræftelse af et øjebliksbillede, mod hvilket en ny post begynder (databasens tilstand i hukommelsen er identisk med snapshot + akkumuleret ændringslog).

Fra rqlite-funktionerne:

  • Nem installation af klynger uden behov for en separat SQLite-installation.
  • Evne til hurtigt at få replikeret SQL-lagring.
  • Klar til brug i produktionsprojekter.
  • Tilgængelighed af HTTP (S) API, som gør det muligt at opdatere data i batch-tilstand og bestemme lederknudepunktet i klyngen. En kommandolinjegrænseflade og klientbiblioteker til forskellige programmeringssprog findes også.
  • Tilstedeværelsen af ​​en tjeneste til at definere andre noder, der giver dig mulighed for dynamisk at oprette klynger.
  • Understøttelse af kryptering af dataudveksling mellem noder.
  • Evnen til at tilpasse niveauet for kontrol for relevans og konsistens af data under læsning.
  • Valgfri mulighed for at forbinde skrivebeskyttede noder, der ikke deltager i konsensusbestemmelse og bruges til at øge skalerbarheden af ​​klyngen til læseoperationer.
  • Støtte til den oprindelige form for transaktioner baseret på at kombinere kommandoer i en enkelt anmodning (transaktioner baseret på BEGIN, COMMIT, ROLLBACK, SAVEPOINT og RELEASE understøttes ikke).

Om rqlite 6.0

Den nye version introducerer betydelige arkitektoniske ændringer med det formål at forbedre klyngens pålidelighed ved at forbedre processen med at dirigere læse- og skriveanmodninger til de korrekte klyngenoder.

Rqlite noder nu kan multiplexere flere logiske forbindelser mellem dem ved hjælp af TCP-forbindelser, der er etableret mellem knudepunkterne ved hjælp af Raft-protokollen. Hvis anmodningen kræver lederknudepunktet, men sendes til den sekundære knude, kan den sekundære knude bestemme lederens adresse og overføre den til klienten uden at udføre Raft-konsensusberegningen.

Ændringen fjernede også den separate komponent til synkronisering af metadata og fjernede Rafts separate håndtering af status og metadata.

Sekundære noder sender nu kun anmodninger til leadnoden, når det er nødvendigt, når det er nødvendigt at finde ud af adressen på leadnoden. API'en giver mulighed for at få information om status for andre noder i klyngen. Sysdump-kommando tilføjet til CLI.

Endelig hvis du er interesseret i at vide mere om det eller se installationsvejledningen og brugervejledningen, du kan gøre det fra nedenstående link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.