MySql replikacja

0

Witam,

Mam bazę danych MySQL na serwerze jest to baza produkcyjna, do tego mam napisany desktopowy klient w javie, w który użytkownicy wykonują operację na bazie produkcyjnej - głównie pobieranie danych, dodawanie itp. Niestety w pewnym momencie pojawiło się sporo danych i użytkownicy czekają wieczność na ich pobranie, problem pojawia się też gdy dany użytkownik nie ma połączenia z internetem. Pomyślałem o replikacji, jednak nie wiem czy to pomoże rozwiązać problem i przy dużej ilości użytkowników(powyżej 60 i wciąż rośnie) z lokalnymi bazami(slave) nie obciąży bazy produkcyjnej i nie skomplikuje bardziej sprawy.

Czytałem i szukałem trochę na ten temat i znalazłem -> http://www.symmetricds.org/

Czy replikacja wystarczy i będzie dobrym rozwiązaniem a może istnieją skuteczniejsze techniki/technologie, które bardziej nadają się do moich zastosowań ?

0

60 userów to jest tzw. pikuś. Optymalizację należy zacząć od samych zapytań, następnie dostroić bazę, dodać lepszy hardware a na końcu myśleć o rozrzuceniu tego na kilka maszyn. Zabierasz się od d*** strony do zadania. Najpierw trzeba zidentyfikować przyczynę problemu

0

ok dzięki za odpowiedź.

Rozumiem potrzebę optymalizacji zapytań i bazy, jednak poza tym potrzebuję by użytkownicy mieli możliwość korzystania z danych bez połączenia z internetem stąd potrzeba bazy danych lokalnie dla każdej instalacji aplikacji, samo powolne pobieranie jest tylko jednym z argumentów. Doskonale wiem, że 60 userów to śmieszna liczba w kontekście bazy danych - jednak ta liczba odnosiła się do liczby slave'ów przy replikacji bazy. Jeżeli chodzi o konfiguracje serwera czy samą kolokacje to myślę, że tutaj jest spokojnie z nadmiarem jednak nie w tym rzecz :)

0

replikacja to nie takie chop siup. Jeśli każdy klient ma niejako swoje dane, których nikt mu nie ruszy i on nie rusza danych innych to ok, jeśli natomiast masz jakieś dane wspólne, które mogą edytować wszyscy to już się robi nieciekawie. Bo kto zabroni zmienić każdemu lokalnie danego rekordu a potem zsynchronizować się z masterem. Co powinno być jako "ostatnie"? Klasyczny przykład to dodanie tego samego kontrahenta pod dwoma różnymi id. Nie wiem co masz w tej bazie za dane i na ile da się je prosto synchronizować z taką ilością slaveów ale z doświadczenia wiem, że mechanizmy uniwersalne słabo się nadają do synchronizacji innej niż onlineowa kopia bazy bo albo trzeba mocno ograniczyć funkcjonalność aplikacji albo pisać własne haki aby to działało

1 użytkowników online, w tym zalogowanych: 0, gości: 1