Autor Beitrag
Määx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 123



BeitragVerfasst: Di 07.01.14 14:33 
Hallo zusammen,

und schon wieder hänge ich an einer Stelle, wo ich mri ncioht sicher bin wie ich es am geschicktesten löse und hoffe, dass ihr mir ein paar Tipps geben könnt.
Situation:
Ich habe einen Server, der eine "Wissensdatenbank" vorhält und diverse Clients die auf "dieser arbeiten" sollen. Da auf die Server-DB nur vom localhost aus zugegriffen werden darf und die Clients stark verteilt seien könnten und auch offline arbeiten können sollen hat zusätzlich jeder Client ein Abbild der Datenbank. Die Daten werden immer nur serverseitig ergänzt und es ist nicht unbedingt schlimm wenn ein Client über einen gewissen Zeitraum nicht die aktuellsten Daten hat.
Problem:
Wie kann ich die Serverdatenbank elegant auf die Clients verteilen?

Zunächst hatte ich mir überlegt direkt von MySql mitgelieferte Tools zu verwenden. Sprich Replikation. Dies würde sicherstellen, dass die Clients immer die aktuellsten Daten besitzen. Da hierfür jedoch jeder Client mit einer eindeutigen ID versehen und ein entsprechender User auf dem Server eingetragen werden muss, ich aber eine leichte Verteilung des System gewährleisten möchte habe ich diese Idee recht schnell verworfen. Ich denke dies ist eher interessant wenn ich die Erreichbarkeit steigern möchte indem ich zwei Server aufsetze oä.

Als alternative hatte ich mir daher überlegt, dass ich mir beim Programmstart -falls eine Internetverbindung besteht- die aktuelle Datenbank ziehe. Genau hier bini ch mir jedoch nicht sicher wie ich das am geschicktesten anstelle. Um sicher zu gehen, dass alle Daten tatsächlich aktualisiert werden, müsste ich ja eigentlich ein TURNCATE auf allen DB's ausführen und dann die kompletten Daten vom Server neu laden oder?
Bei phpmyadmin kann man dies ja z.B. so exportieren. Gibt es beim EntityFramework auch ein solche Möglichkeit? Oder gibt es alternativen? Ich hatte kurz überlegt den mysqldump dazu zu nutzen, konnte hier aber nicht die möglichkeit finden einzustellen zunächst einen TURNCATE auszugeben und dann nur die Daten zu exportieren...

Bin für jeden Tipp dankbar!
Viele Grüße
Määx