web-dev-qa-db-fra.com

Méthode de réplication de la base de données sqlite sur plusieurs serveurs

Je développe une application qui fonctionne distribuée et j'ai une base de données SQLite qui doit être partagée entre des serveurs distribués. Si je suis dans serverA et que je change de sqlite row, ce changement doit être instantanément sur les autres serveurs, mais si un serveur était hors ligne puis mis en ligne, il devait mettre à jour toutes les informations sur les autres serveurs.

J'essaie de développer un service de haute disponibilité avec de petites bases de données SQLite.

Je pense à quelque chose comme MongoDB ou ReThinkDB, en raison de la réplication fonctionne bien et j'ai des données serveur indépendamment en ligne que j'avais.

Il existe une bibliothèque ou une autre méthodologie SQL pour partager des données entre serveurs?

Merci d'avance.

15
ManuParra

J'ai utilisé le protocole de consensus Raft pour répliquer ma base de données SQLite. Vous pouvez trouver le système ici:

https://github.com/otoolep/rqlite

8
Philip O'Toole

Vous pouvez synchroniser des bases de données SQLite en incorporant SymmetricDS dans votre application. Il prend en charge les clients connectés occasionnellement. Il capture donc les modifications et les synchronise lorsqu'un serveur se met en ligne. Il prend en charge plusieurs plates-formes de base de données différentes et peut être utilisé en tant que bibliothèque ou en tant que service autonome.

3
Eric Long

Vous pouvez également utiliser CopyCat , qui supporte SQLite ainsi que quelques autres types de bases de données.

1
jonneve