Replication / Cluster / Synchronisaton ?

Replication / Cluster / Synchronisaton ? - SQL/NoSQL - Programmation

Marsh Posté le 13-05-2010 à 17:14:58    

Bonjour à tous,
 
Je développe actuellement un intranet pour ma société. Intranet qui est destiné à être utilisé par notre équipe locale, mais également à travers nos filliales qui se trouvent dans plusieurs pays situés en Afrique.
 
C'est là tout le problème : En Afrique, les connexions Internet sont misérables (64kbits max) et pas du tout fiable.
 
Auriez-vous une idée afin de rendre cet intranet toujours disponible ?
 
Voici ce à quoi j'ai pensé :
 
Au siège (Situé en Europe), nous aurions notre BDD maitre, ainsi que l'intranet.
 
Sur nos filliales en Afrique, nous metterions en place un serveur web sur chaque site, ainsi qu'un serveur MySQL avec une base de données esclave. Le serveur web local permettrait de pouvoir accéder tout le temps à l'application, le tout sans trop de ralentissements.
 
Le but serait donc de répliquer les donnéees des esclaves sur la base maître dès qu'une modification est faite sur une des bases esclaves, ou, dans le cas où le serveur maitre n'est pas joignable, d'attendre qu'il soit joignable pour insérer les données dans la base maitre.
 
Mes questions :
 
- Est-ce que la replication est consommatrice de bande passante ? Notre base de données n'est pas forcément très grosse (une cinquantaine de tables). Quid de l'impact éventuel sur les performances ?
 
- Imaginons qu'un site n'arrive plus à joindre la BDD pendant 1h. Celui-ci va donc entrer les données dans la BDD esclave, sans les copier sur le maitre tant que la connection n'a pas été rétablie. Entre-temps, un autre site a ajouté un enregistrement sur la base maitre. Comment va gérer MySQL au niveau des ID par exemple ?  
 
- Peut-on utiliser la BDD maitre et faire des enregistrement directement dessus ? A ce moment là, est-ce que l'enregistrement sera repliqué sur les esclaves automatiquement ?
 
Nous utilisons MySQL 5.0 Community Edition.
 
Merci d'avance pour vos réponses / conseils :D

Reply

Marsh Posté le 13-05-2010 à 17:14:58   

Reply

Marsh Posté le 23-05-2010 à 02:18:47    

maitre en europe, esclaves en afrique... ca fait pas un peu cliché ca ?
 
ok je sors :-p
(j'aurais au moins eu le mérite de remonter ton topic :-p puisqu'il est intéressant)


---------------
La vie c'est comme une boite de chocolats, on ne sait jamais sur quoi on va tomber. (Forrest Gump)
Reply

Marsh Posté le 27-05-2010 à 12:43:30    

:D

Reply

Marsh Posté le 27-05-2010 à 13:47:11    

Pour les serveurs esclaves, tu peux développer la fonctionnalité suivante : l'id d'une donnée qui y est créée n'est pas définitif, il doit être validé par le serveur maître. Ainsi, en cas de conflit, tu peux modifier l'id.

 

Pense à te servir d'un timestamp.


Message édité par Fred999 le 27-05-2010 à 13:47:23
Reply

Marsh Posté le 27-05-2010 à 16:46:00    

ESt-ce que les transactions ne pourraient pas faire l'affaire. Bien sûr dans ce cas, faudrait prévoir de grosses tailles de stockage pour elles et que la durée d'indisponibilité du serveur maître soit pas trop longue.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 09-06-2010 à 11:43:16    

Le projet est pour l'instant en stand-by, mais je vous tiendrais au courant de la solution apportée :D
 
Merci !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed