athabus
12.01.2016, 10:31:28
Hej, mam taką sytuację. Program desktopowy działa w pewnym biurze w oparciu o baze mysql - z kilku względów baza jest na serwerze zewnętrznym, ale nie chodzi to super sprawnie. Problem rozwiązałoby utrzymywanie bazy lokalnie na miejscu, ale wtedy jest problem z bezpieczeństwem danych czy dostępem z zewnątrz (czasami się przydaje, gdy ktoś pracuje zdalnie) etc. Pomyślałem, że można by replikować lokalną bazę na serwer, ale to rodzi kilka pytań:
- czy replikacja wpływa jakoś znacząco na wydajność
- łączę w firmie nie jest jakieś wybitne (neostrada) - czy to może stanowić jakiś problem
- co jeśli łączę internetowe zaliczy jakiś problem - czy wtedy replikacja będzie ponowiona w przyszłości, czy bazy się rozsynchronizują?
Może dziwne pytania, ale nigdy nie bawiłem się w replikacje + zazwyczaj tutoriale opisują sytuację server-server a nie jakieś partyzanckie rozwiązania z niestabilnym łączem.
Pyton_000
12.01.2016, 10:52:03
- Każda operacja jest zapisywane w binlogu, ten potem jest wysyłany na serwer replikujący i odpalany. Więc można powiedzieć że nie ma spadku wydajności.
- Nie, łącze jak każde inne.
- Tak, replikacja powinna pójść w kolejnych próbach.
Co do problemu desynchronizacji to w 98% przypadków nie występuje ponieważ ustawiając replikację master-master ustalasz że na 1 master ID masz parzyste a na 2 master nie parzyste. Dzięki temu nie masz konfliktów ID.
Rozumiem że Twój przypadek nawiązuje do Master-Master czyli obustronna replikacja R/W
athabus
12.01.2016, 11:15:57
Dzięki za odpowiedź.
Nie na szczęście będzie to nawet prostszy case - tj. master - slave. Slave będzie tylko do odczytu, bo zdalne dostęp jest potrzebny w 99% przypadków tylko aby coś skontrolować spoza biura. Choć jak piszesz, że można tak uniknąć problemów to może nawet i master-master bym spróbował postawić. Bardziej chodzi mi tu o bezpieczeństwo bo system przechowuje dane księgowe (np. info o fiskalizacji paragonów) i ewentualna awaria dysku byłaby problemem. Wiem, że można macierze stawiać itp, ale w razie np. kradzieży komputerów znów jest kłopot, dlatego wolałbym przechowywać żywą kopię na zewnątrz. W takim razie skoro powinno to działać, to pozostaje tylko odpalić na próbę.
Pyton_000
12.01.2016, 11:40:22
Jeśli remote będzie tylko readonly to faktycznie Master-Slave będzie lepszym rozwiązaniem. Mniej problemów.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.