2012-10-16 19 views
5

Mam bazę danych w aplikacji na Androida i lubię zsynchronizować to sqlite db z mysql master w Internecie.Sync bazy danych sqlite z mysql

Jaki jest najlepszy sposób rozwiązania tego problemu?

-dump w pliku, przesłać plik za pomocą usług internetowych -dump w pliku, przesłać z ftp, a następnie cron - jakiekolwiek inne?

Thankz

Odpowiedz

1

jeśli jego przesyłanie jednorazowa, użyj Aproach zrzut do pliku. Wyślij go na serwer i spróbuj tam.

Jeśli musisz kontynuować synchronizację, użyj api usługi internetowej, a także użyj go tak rzadko, jak to możliwe - zbieraj dużo danych, a następnie zsynchronizuj lub w razie potrzeby. Skoncentruj się na wykorzystaniu jak najmniejszej ilości danych i baterii.

+0

Ulepszenie. Wysyłaj tylko delty. Napisałem kiedyś kod, który wysłał poszczególne zmiany kolumn za pomocą identyfikatorów wierszy i kolumn z zamiarem zminimalizowania wykorzystywanej przepustowości (pomyśl o satelicie 56 kB). Aswin mówi, wsad ich. – Simon

+1

Tak, oczywiście. Wysyłaj tylko zmienione dane. Zazwyczaj zaznaczam wiersze, które nie zostały wysłane brudnym bitem. Podczas wysyłania wybierz tylko te dane, które mają ustawiony bit zabrudzenia. Gdy serwer odpowie, mówiąc, że został przesłany, usuń zabrudzony bit. Nie muszę używać delt w kolumnach, ponieważ większość danych została dodana, a nie zmodyfikowana. –