Mysql
 sql >> Baza danych >  >> RDS >> Mysql

iOS — najlepsze praktyki synchronizacji baz danych i baz danych serwera

Przechowuję ostatnią modyfikację znacznika czasu w bazie danych zarówno w podstawowych rekordach danych w telefonie, jak iw tabelach mysql na serwerze.

Telefon wyszukuje wszystko, co zmieniło się od ostatniej synchronizacji i wysyła je na serwer wraz ze znacznikiem czasu ostatniej synchronizacji, a serwer odpowiada wszystkim, co zmieniło się na jego końcu od czasu podanego znacznika czasu synchronizacji.

Wydajność jest problemem, gdy zmieniło się wiele rekordów. Synchronizuję na tle NSOpeartion, który ma własny kontekst obiektu zarządzanego. Gdy wątek w tle zakończy wprowadzanie zmian w kontekście obiektu zarządzanego, istnieje interfejs API do scalania wszystkich zmian z kontekstem obiektu zarządzanego głównego wątku — który można skonfigurować tak, aby po prostu odrzucał wszystkie zmiany, jeśli wystąpią jakiekolwiek konflikty spowodowane przez użytkownik zmienia dane podczas synchronizacji. W takim przypadku po prostu czekam kilka sekund, a następnie ponownie próbuję wykonać synchronizację.

Na starszym sprzęcie, nawet po wielu optymalizacjach, konieczne było całkowite przerwanie synchronizacji, jeśli użytkownik zaczął robić rzeczy w aplikacji. Po prostu używał zbyt wielu zasobów systemowych. Myślę, że bardziej nowoczesne urządzenia z iOS są prawdopodobnie na tyle szybkie, że nie musisz już tego robić.

(tak przy okazji, kiedy powiedziałem „wiele rekordów się zmieniło”, miałem na myśli 30 000 lub więcej wierszy aktualizowanych lub wstawianych do telefonu)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dodawanie wiodącego zera do niektórych wartości w kolumnie w MySQL

  2. Jak dołączyć zmienną PHP do instrukcji MySQL?

  3. Grupuj wiele wyników mysql według wartości jednej kolumny

  4. Ostatnio wstawiony identyfikator MySQL PDO

  5. Używanie rekurencji do budowania nawigacji