Synchronisation entre une base locale et distante [Résolu] |
Bienvenue invité ( Connexion | Inscription )
Synchronisation entre une base locale et distante [Résolu] |
5 Oct 2014, 11:12
Message
#1
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 629 Inscrit : 21 Dec 2007 Membre no 103 074 |
Bonjour,
J'explique mon problème. J'ai développé un site en PHP qui est hébergé sur 1 and 1. Lorsque la personne qui utilise le site n'a pas de connexion internet, il aura la possibilité de travailler en local. Seulement, pour ça, il faudrait que les bases soit synchronisée. Je voulais faire un script qui permettre de mettre à jour la base locale à partit de la base distante, et inversement. Seulement, en local, je ne pense pas que je puisse me connecter sur la base distante de 1and1. Je ne peux pas passer par un fichier intermédiaire style : - sauvegarde de la base distante - injection des données dans la base locale car je ne pourrais pas faire de contrôle pour ne pas écraser les données plus récente sur l'une des deux bases. Merci pour vos idées, votre aide. Eddy Ce message a été modifié par Eddoul - 6 Oct 2014, 14:09. -------------------- Machines en ma possession :
- Imac 20", 4,3Ghz, HDD 250, 4Go RAM |
|
|
5 Oct 2014, 12:55
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 263 Inscrit : 31 Aug 2002 Lieu : Saint-Jean-de-Luz Membre no 3 355 |
Je ne suis pas sûr, mais il me semble que chez 1 and 1, ils autorisent l'accès à distance des bases de données.
teste donc avant de chercher une autre solution. -------------------- En activité : Macbook pro 15" Core I7 à 2.8Ghz de 2015 - Macbook pro 13" Core I5 à 2.5Ghz - Macbook pro 15" Core duo de 2006 qui marche toujours hyper bien - iPhone 6s - iPad - iPad Mini
En Panne : Imac 27 Pouces Core I7 à 3.4Ghz - mid 2011 (je cherche un écran) A la retraite : Imac C2D 24 Pouces (blanc) à 2.33 Ghz - iBook14" 800 Mhz - Quicksilver 733 - G3 bleu et blanc - Macintosh Classic - iPhone 3G - iPhone 4s Crea64 : creation de site internet à Saint-Jean-de-Luz (64) |
|
|
5 Oct 2014, 14:45
Message
#3
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
Bonjour,
Si je puis me permettre, c'est une très mauvaise idée cette histoire de pouvoir travailler sur deux bases de données distinctes si l'une d'entre elles est offline, car ça va nécessiter une synchronisation manuelle et donc générer un risque d'oubli. Et dès qu'une opération de synchro sera oubliée ça sera un bordel sans nom parce que les clés des enregistrements vont différer d'une base à l'autre. Sinon si c'est du mysql il faut utiliser les fonctions natives de réplication : http://dev.mysql.com/doc/refman/5.0/fr/replication.html Mais en principe la réplication de fait depuis une base maitre vers des bases esclaves. Là tu veux que les bases soit tour à tour maitre et esclave. Tu t'embarques dans un truc vraiment casse-gueule selon moi. Ce message a été modifié par yponomeute - 5 Oct 2014, 14:47. -------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
6 Oct 2014, 14:09
Message
#4
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 629 Inscrit : 21 Dec 2007 Membre no 103 074 |
Bonjour, Si je puis me permettre, c'est une très mauvaise idée cette histoire de pouvoir travailler sur deux bases de données distinctes si l'une d'entre elles est offline, car ça va nécessiter une synchronisation manuelle et donc générer un risque d'oubli. Et dès qu'une opération de synchro sera oubliée ça sera un bordel sans nom parce que les clés des enregistrements vont différer d'une base à l'autre. Sinon si c'est du mysql il faut utiliser les fonctions natives de réplication : http://dev.mysql.com/doc/refman/5.0/fr/replication.html Mais en principe la réplication de fait depuis une base maitre vers des bases esclaves. Là tu veux que les bases soit tour à tour maitre et esclave. Tu t'embarques dans un truc vraiment casse-gueule selon moi. Bonjour, Je crois que tu as raison et j'ai également fait entendre raison à la personne qui utilisera le logiciel. Merci. Bonne journée. Eddy -------------------- Machines en ma possession :
- Imac 20", 4,3Ghz, HDD 250, 4Go RAM |
|
|
6 Oct 2014, 14:58
Message
#5
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 4 969 Inscrit : 26 Jan 2011 Lieu : Pollachius virens Membre no 164 083 |
S'il y a réellement un besoin impératif de travailler sur la base de données depuis n'importe où et n'importe quand, la solution c'est une clé 3G/4G pour pouvoir se connecter au web
-------------------- MBP 2017 15" avec clavier pourri et touchbar inutile
|
|
|
8 Oct 2014, 16:28
Message
#6
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 629 Inscrit : 21 Dec 2007 Membre no 103 074 |
le besoin n'est pas réellement justifié.
surtout que ça risquerai de compliquer bien des choses et d'avoir des données incohérentes -------------------- Machines en ma possession :
- Imac 20", 4,3Ghz, HDD 250, 4Go RAM |
|
|
8 Oct 2014, 17:06
Message
#7
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
En fait, l'architecture qui permet de fonctionner off-line est très prisée de nos jours.
Il faut penser à la possibilité de stockage SQL des browsers grâce à HTML5. Un survol ici: http://blog.zenika.com/index.php?post/2011...le-mode-Offline Ensuite, il y a grands (gros) mots, des "patterns" qui recommandent de séparer les données simplement lues (= requête), de celles qui sont écrites ( = résultat de commande ), voir pour cela l'acronyme CQRS. J-P Ce message a été modifié par Jaypee - 8 Oct 2014, 17:07. |
|
|
8 Oct 2014, 22:21
Message
#8
|
|
Oui ? Groupe : Membres Messages : 3 889 Inscrit : 24 Jun 2003 Lieu : BZH Membre no 8 224 |
Il y a aussi la possibilité de tout faire passer par des caches, qui peuvent aller jusqu'à représenter l'ensemble du site à un instant T....
-------------------- "Je sais que vous croyez comprendre ce que vous pensez que j'ai dit, mais je ne suis pas sûr que vous réalisiez que ce que vous avez entendu n'est pas ce que je pense."
(Alan Greenspan) |
|
|
9 Oct 2014, 06:05
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 2 486 Inscrit : 29 Aug 2002 Membre no 3 340 |
Oui, et ce sont les caches qui se synchronisent entre eux, la BD n'est là que pour charger le cache en mémoire ou au contraire le persister. Elle n'est plus "transactionnelle".
Et ça c'est la tendance "architecture cloud". J-P |
|
|
27 Jan 2015, 20:02
Message
#10
|
|
Adepte de Macbidouille Groupe : Membres Messages : 143 Inscrit : 4 Dec 2013 Membre no 188 132 |
Lorsque la personne qui utilise le site n'a pas de connexion internet, il aura la possibilité de travailler en local. Seulement, pour ça, il faudrait que les bases soit synchronisée. Je voulais faire un script qui permettre de mettre à jour la base locale à partit de la base distante, et inversement. Seulement, en local, je ne pense pas que je puisse me connecter sur la base distante de 1and1. Je ne peux pas passer par un fichier intermédiaire style : - sauvegarde de la base distante - injection des données dans la base locale car je ne pourrais pas faire de contrôle pour ne pas écraser les données plus récente sur l'une des deux bases. Merci pour vos idées, votre aide. Eddy J'arrive peut être un peu tard... Tu as écris LA personne qui utilise le site; si elle est seule,cela veut-il dire qu'i n'y a pas d'autre personne qui va utiliser la base pendant qu'elle travaille en local. Vrai ou faux ? Pour mon appli Web, j'ai le même cas de travail ponctuel en local, faute de connexion Internet. Je synchronise la base locale par un jeu de requêtes SQL (soit par Web, soit par fichier). En fin de travail hors ligne, je remonte les modifs vers la base distante toujours par requêtes SQL. Par contre, le travail hors ligne est spécifique et j'ai organisé les tables SQL pour éviter les conflits de clés. Grosso modo la plupart des tables modifiées en local ne sont pas modifiables sur la base distante durant ce travail ponctuel, reste quelques enregistrements à gérer plus finement. -------------------- Macmini6,2 - Mavrik
|
|
|
Nous sommes le : 19th April 2024 - 20:51 |