Mysql
 sql >> база данни >  >> RDS >> Mysql

iOS – Най-добри практики за синхронизиране на основни данни и сървърни бази данни

Съхранявам последно променено времево клеймо в базата данни както на основните записи с данни на телефона, така и на mysql таблиците на сървъра.

Телефонът търси всичко, което се е променило след последното синхронизиране, и го изпраща до сървъра заедно с клеймо за дата на последното синхронизиране, а сървърът отговаря с всичко, което се е променило в края му след предоставения времеви печат за синхронизиране.

Производителността е проблем, когато много записи са се променили. Правя синхронизирането на фонов NSOpeartion, който има свой собствен контекст на управляван обект. Когато фоновата нишка приключи с промените в контекста на управлявания обект, има API за сливане на всички промени в контекста на управлявания обект на основната нишка - който може да бъде конфигуриран просто да изхвърли всички промени, ако има конфликти, причинени от потребителят променя данните, докато синхронизирането продължава. В такъв случай просто изчаквам няколко секунди и след това се опитвам да направя синхронизация отново.

При по-стар хардуер, дори след много оптимизации, беше необходимо да се прекъсне изцяло синхронизирането, ако потребителят започне да прави неща в приложението. Просто използваше твърде много системни ресурси. Мисля, че по-модерните устройства с iOS вероятно са достатъчно бързи, че вече не е нужно да правите това.

(между другото, когато казах „много записи са се променили“, имах предвид около 30 000 реда, които се актуализират или вмъкват в телефона)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Стойността НЕ Е NULL в codeigniter

  2. Основите на настройката на MySQL на специализирани сървъри

  3. Размер на схемата на MySQL

  4. Как да преименувам MySQL схема?

  5. Как да покажа MySQL бази данни на PHP скрипт?