Mam bazę danych, którą obsługuję programem napisanym w VC++ (łączenie aplikacji z MySQLem za pomocą .NETFramework). Baza ta ma być wgrana na trzy komputery, nie zawsze mające połączenie z internetem. Chciałbym napisać funkcję synchronizacji danych pomiędzy tymi trzema komputerami - gdy na jednym z nich zostanie dodany nowy rekord, to pojawi się on w pozostałych dwóch. Sprawę algorytmu takiej synchronizacji na razie zostawiam sobie otwartą, nie wiem jednak jakie rozwiązanie wymiany danych będzie najbardziej optymalne.
Zastanawiałem się nad porównywaniem wszystkich rekordów w bazach danych na wszystkich trzech kompach i ewentualną aktualizację danych, które się różnią, ale wydaje mi się to bardzo mało wydajnym sposobem. Innym pomysłem, jaki wpadł mi do głowy, jest zwykłe skopiowanie pliku z bazą danych mysql z poziomu windowsa i przeniesienie go do pozostałych komputerów (taka podmiana), ale nie wiem czy takie rozwiązanie zadziała.
Stąd moje pytanie do Was - jak najlepiej rozwiązać problem synchronizacji tych trzech komputerów? Podpowiem, że serwer "master" gdzieś w internecie nie bardzo wchodzi w grę, głównie ze względu na to, że nie zawsze te komputery będą miały dostęp do internetu, a w tym czasie będę musiały mieć dostęp do danych.
Dziękuję za poświęcony czas.