rqlite, una excel·lent DBMS relacional distribuïda i lleugera

Si aquestes a la recerca d'un DBMS distribuït que utilitzi SQLite com a motor d'emmagatzematge, dejame dir-te que rqlite és l'indicat per a tu, Ja que permet organitzar la feina d'un clúster a partir d'emmagatzematges sincronitzats entre si.

De les característiques de rqlite, es destaca la facilitat d'instal·lació, implementació i manteniment de l'emmagatzematge distribuït tolerant a falles, que és una cosa similar a ETCD i Consul, però utilitza un model de dades relacionals en lloc d'un format clau / valor.

sobre rqlite

L'algorisme de consens de Raft s'utilitza per mantenir tots els nodes sincronitzats. Rqlite fa servir la biblioteca SQLite original i el controlador go-SQLite3, A més dels quals executa una capa que processa les sol·licituds de el client, es replica a altres nodes i monitoritzes el consens assolit sobre l'elecció de el node principal.

Els canvis a la base de dades només poden ser realitzats pel node seleccionat com a líder, Però les connexions amb operacions d'escriptura poden dirigir-se a altres nodes de clúster, que tornaran la direcció de l'líder per repetir la sol·licitud (en la propera versió, prometen afegir el desviament automàtic de la crida a el líder).

L'enfocament principal està en la tolerància a falles, de manera que el DBMS escala només en operacions de lectura, i les operacions d'escriptura són el coll d'ampolla. És possible executar un clúster rqlite des d'un sol node i aquesta solució es pot utilitzar per proporcionar accés a SQLite a través d'HTTP sense proporcionar tolerància a falles.

Les dades de SQLite en cada node no s'emmagatzemen en un arxiu, sinó en la memòria. En el nivell de la capa amb la implementació de l'protocol Raft, es manté un registre de tots els ordres SQLite que condueixen a un canvi a la base de dades.

Aquest registre s'utilitza per a la replicació (replicació en el nivell de reproducció de la consulta a altres nodes), a l'iniciar un nou node o per recuperar-se d'una pèrdua de connectivitat.

Per reduir la mida de l'registre, s'utilitza l'empaquetat automàtic, que comença després d'un nombre específic de canvis i condueix a la confirmació d'una instantània, pel que fa a la qual comença un nou registre (l'estat de la base de dades en la memòria és idèntic a l'instantània + el registre de canvis acumulats).

De les característiques de rqlite:

  • Facilitat d'implementació de clústers, sense la necessitat d'una instal·lació de SQLite per separat.
  • Capacitat per obtenir ràpidament emmagatzematge SQL replicat.
  • A punt per a usar en projectes de producció.
  • Disponibilitat d'HTTP (S) API, que permet actualitzar dades en mode batch i determinar el node líder de l'clúster. També es proporcionen una interfície de línia d'ordres i biblioteques de client per a diversos llenguatges de programació.
  • La presència d'un servei per definir altres nodes que li permet crear clústers de forma dinàmica.
  • Suport per al xifrat de l'intercanvi de dades entre nodes.
  • La capacitat de personalitzar el nivell de verificació de la rellevància i la coherència de les dades a l'llegir.
  • Capacitat opcional per connectar nodes de sol lectura que no participen en la determinació de l'consens i s'utilitzen per augmentar l'escalabilitat d'el clúster per a operacions de lectura.
  • Suport per a la forma nativa de transaccions basades en la combinació de comandaments en una sola sol·licitud (les transaccions basades en BEGIN, COMMIT, ROLLBACK, SAVEPOINT i RELEASE no són compatibles).

Sobre rqlite 6.0

La nova versió introdueix canvis arquitectònics significatius destinats a millorar la fiabilitat de l'clúster a l'millorar el procés de dirigir les sol·licituds de lectura i escriptura als nodes de l'clúster correctes.

Els nodes de Rqlite ara poden multiplexar múltiples connexions lògiques entre ells utilitzant les connexions TCP establertes entre els nodes pel protocol Raft. Si la sol·licitud requereix l'autoritat de el node líder, però s'envia a el node secundari, el node secundari pot determinar la direcció de l'líder i transmetre-la a el client, sense realitzar el càlcul de consens de Raft.

El canvi també va eliminar el component separat per sincronitzar metadades i va eliminar el maneig separat de l'estat i metadades de Raft.

Els nodes secundaris ara envien sol·licituds a el node líder només quan cal, quan cal esbrinar la direcció de el node líder. L'API ofereix la possibilitat d'obtenir informació sobre l'estat d'altres nodes de clúster. Comando Sysdump afegit als CLI.

Finalment si estàs interessat en conèixer més a l'respecte o consultar les instruccions d'instal·lació i manual d'ús, pots fer-ho des del següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.