Ik opzoek naar een mogelijkheid om twee databases (en later 4 databases) met elkaar de synchroniseren. Dit moet dan ook periodiek plaatsvinden. Zonder tussen komst van een programmeur.
Wat ik tot op heden ben tegengekomen zijn allemaal losse tools die extern draaien en het niet periodiek aansturen.
Heeft iemand een idee hoe ik het zou kunnen aanpakken?
Je maakt een stukje script dat dit kan doen.
Om het periodiek te maken gebruik je op een Linux systeem een cronjob.
Volgens mij heet dat op een Windows systeem taak planner maar dat weet ik niet zeker.
Dank je Bart,
Hier had ik ook al over nagedacht. Maar is er geen mogelijkheid om dat op de mysql server zelf te regelen. De databases staan op de zelfde server. Maar moeten afzonderlijk beschikbaar zijn voor de gebruikers.
Dank je Bart,
Hier had ik ook al over nagedacht. Maar is er geen mogelijkheid om dat op de mysql server zelf te regelen. De databases staan op de zelfde server. Maar moeten afzonderlijk beschikbaar zijn voor de gebruikers.
>> Maar is er geen mogelijkheid om dat op de mysql server zelf te regelen. De databases staan op de zelfde server.
Jawel, de Event Scheduler van MySQL. Aangezien de databases zelfs op dezelfde server staan, zou ik daar eerder naar kijken dan naar een cron.
Wat ik me wel afvraag: waarom moet je twee en later vier databases synchroniseren als ze toch op dezelfde server staan? Dan kunnen ze toch gewoon data delen?
>> Ze willen niet dat een extern in de huidige database kijkt maar in een gestripte versie daarvan.
Dan kun je misschien nog een andere architectuur overwegen:
• Je kunt één database gebruiken en die voorzien van een API die beperkt toegang verschaft tot geselecteerde data op basis van de API-key van de gebruiker of client.
• Je kunt uiteenlopende rechten instellen op het niveau van tabellen. Daarmee kun je dan opnieuw één database gebruiken, waarin bepaalde tabellen niet voor derden toegankelijk zijn.
Is maar een suggestie, want er leiden meerdere wegen naar Rome.
Nadeel van synchroniseren is altijd dat de slaven achterlopen, waardoor ze hetzij te weinig data, hetzij verouderde data gebruiken. In plaats van synchroniseren kun je dan beter repliceren. Bijvoorbeeld met triggers, het andere alternatief van MySQL voor geplande taken. Bijvoorbeeld een belangrijke UPDATE kun je dan automatisch "pushen" naar andere databases.